BlueBuild vs bootc image-template

Which is better to use for making own distro? I see that the Universal Blue team is working on Bootc images, not BlueBuild. Is there any advantage to this?

Bluebuild is a different project. Image-template is our “custom image solution”.

Both are little bit different but depends just on a person which you find easier.

Just a basic custom image should be easier with image-template but bluebuild allows you to do more custom stuff with their recipes.

1 Like

I don’t exactly know the history / reason, but IIRC the image template used to be more like BlueBuild right? Image template today seems to follow Docker / Container file format closer, but I know it used to be more like Bluebuild since my repo preceeded bluebuild becoming its own thing and it uses the recipe files format.

1 Like

So, for start it’s image-template, and after try bluebuild? I tried template, but when it’s standing bigger it’s really hard to deploy, because on every error, it’s need to pull image again. Maybe the same weird thing on the bluebuild too

Sorry dont understand what you mean by hard to deploy?

Everytime you build it will pull The base image you have set in the Containerfile and then put in the possible changes you have added

Why the bluebuild is split away from universal blue and why they don’t include into cncf?

Image template is what we provide within the universal blue project.

Its closer to a plain containerfile.

The precursor to Bluebuild used to be a part of universal blue, but the specialized tooling was separated from the project awhile ago.

There are maintainers that use bluebuild and those that use image template.

I’m personally biased towards the image template since it doesn’t add an additional abstraction layer.

1 Like

I mean workflows and github actions

Very simplified, but:

With image-template, you write scripts and tell the containerfile to run them, with bluebuild, you use modules that are then translated to scripts ran by the containerfile. Its the same thing, bluebuild only tries to make things simpler by abstracting the hard parts.

Whenever your build fails, everything fails and the next build run will pull everything it needs again, thats normal and happens with image-template, bluebuild and any other CI/CD pipeline.

1 Like

Does it have difference to use bootc switch or rpm-ostree rebase? And can I use like bluebuild image into bootc and the same with template image?

I’ve never studied bootc and grasp only the general concept of rpm-ostree, but at this time, I’m pretty sure those two commands (switch / rebase) do the same thing.

You can use bootc and rpm-ostree on the running system the same way regardless if it was produced by image-template or bluebuild, if that is your question.

1 Like

I asked because i know that fedora has 2 base ostree images: fedora-ostree-desktops/base-atomic and fedora/fedora-bootc. And It knocks me down. Maybe you heard smth about their differences?

Like for building a custom image if I want to use some of the WM, like hyperland, i need to use fedora-ostree-desktop/base atomic or fedora/fedora-bootc or ublue-os/base-main?

Like I said, I know almost nothing about bootc vs rpm-ostree, apart from “bootc is the newer thing that’s eventually going to replace rpm-ostree”.

I’ve only ever seen people use fedora-ostree-desktops/X and ublue-os/X as a base for their custom image. Personally I base my images on ublue-os/X, as that includes QoL improvements such as codecs and I don’t want to deal with that.

So for a concrete example, I have a COSMIC image based on ublue-os/base-main and install the “cosmic-desktop” package using bluebuild’s dnf module on top.

1 Like

Thanks a lot! Really helpful info

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.