UBlue but MicroOS?

Apologies if this is too silly a question, but I have been reading the MicroOS (/kalpa/aeon) docs and cannot figure out how I would “do what Ublue does for Fedora but with OpenSUSE”. By that, I mean that I’d like to have my own image (which I’ve seen guides for doing through OBS) that can either be rebased to from an existing MicroOS install (for Atomic Fedora, that would be with rpm-ostree rebase, but the equivalent command doesn’t exist here) or installed directly through an install ISO and receive updates through that OBS repo or elsewhere if relevant.

I don’t need a live image that can be booted straight into like seems to be what’s discussed more commonly.
I recognise that I might be coming at this from a place of too little knowledge, and I do not want all of the fancy Ublue-specific tooling, I just want a custom image to use on my desktop that gets updates from OBS, as can be done relatively easily with Fedora’s atomic spins, and I’m just wondering if doing something similar is reasonable here, since I’d rather use OpenSUSE as a base instead.

Feel free to tell me I don’t know enough about this, I probably don’t, but that’s exactly why I’m posting for advice.

@isdo Hi, you can just lay down a MicroOS image onto the storage medium and then use the likes of Ignition or Combustion (I use this) to setup how you want.

I use this on a MicroOS Hyprland setup on a HP Stream device.

I created my own Combustion setup, but you may be interested in https://opensuse.github.io/fuel-ignition/

Else you can always look at the openSUSE Build Service to create your own image.
https://studioexpress.opensuse.org/

Making my own image is probably preferable, and the thing that I’ve looked more into, however I’m not sure how to then “rebase” a regular Micro OS install onto that image. I’ve looked into how Kiwi works, and defining what an image should contain seems easy, but I don’t know how to take that OBS repo or local build and use it as the source for image updates for a regularly installed setup instead of a Live ISO.

Combustion and ignition are things that I’ve learned a bit about so far, but - unless I’m mistaken - they’re just tools to run the commands that would layer ontop the packages you want automatically on first boot, which would then make updating slower and make the building of the image happen on-device? Still potentially a good solution, but making a whole image would be nicer.

rpm-ostree and/or bootc don’t currently exist in openSUSE, so doing a “uBlue” style openSUSE product isn’t possible.

That’s not to say that it can’t be done at some point, but right now, the tooling to do it doesn’t exist.

I see that bootc does exist in Virtualization:Containers on OBS, but it’s not yet in openSUSE:Factory

@isdo Yes, but it does more than that as you can configure the whole setup, users, packages, configuration etc. To me a lot easier than creating an image for that and which you would need to de-brand AFAIK.

At present I have one USB device for all sorts of scenarios with MicroOS be it bare-metal or a virtual machine. Then I can just take the base install, set some variables to what I want and boot…

As far as de-branding goes, I currently use Tumbleweed, and for that I pick just the base system and SELinux, then install the packages I need for my desktop with recommended packages disabled to get as small a system as possible. My plan, ideally, would be to do that but Atomic so it can never drift away from what’s installed by my script, though that doesn’t seem to be a simple process at the moment.

However, although I don’t think I’ll go ahead with Ignition / Combustion ontop of a MicroOS base for these purposes, thank you for bringing them back to my attention, since they sound like they’d be great for pre-setting up a distro for anybody I help get started with Linux.

For now, I think I’ll stick with regular Tumbleweed since I do want to stay in OpenSUSE-land instead of going back to Fedora. Thanks for the extra info regardless.

@isdo then I would suggest the JeOS image here
https://build.opensuse.org/package/show/Virtualization:Appliances:Images:openSUSE-Tumbleweed/kiwi-templates-JeOS as your starting point

EDIT: Sorry, sent before I was done writing. Edit is me continuing the message
If it’s possible to install through an ISO to my SSD and receive updates for over time, I would love to. Again, I think I’m not knowledgeable enough about this to understand where to look, so I know I’m probably not speaking about this properly or understanding the limitations, but that’s what I’m interested in, so I appreciate you helping anyway.

I’m broadly aware of forking these projects through OBS and that I can change the .kiwi files through that, but I feel out of my depth reading through the general MicroOS deployment things at the moment, and it seems not really geared towards my intended usecase.

@isdo I just lay the image onto a storage device, I use M.2 NVMe’s or SSD’s and then once that’s done pop it into the system…

For example;
xzcat openSUSE-MicroOS.x86_64-SelfInstall.raw.xz | dd of=/dev/sdX bs=4M iflag=fullblock oflag=direct status=progress

I would suggest starting a VM to work out what your wanting?

Sure you can install with the iso image, just create on a USB device with dd once you have an iso downloaded, or use imagewriter.

How does it work from that point? You just transactional-update and it updates based on the latest OBS build?

EDIT: Definitely, regarding the VM thing. That’s how I prepared my tumbleweed install script too.

@isdo yes transactional-update dup