Call for Testing: Bluefin LTS (Alpha)

You could do a podman run -it ghcr.com/ublue-os/bluefin:stable bash and podman run -it ghcr.com/ublue-os/bluefin:lts bash and then do a diff between the two. I haven’t tried it but let me know how it goes

The whole point is to avoid downloading the image.

I would hope there is something one can do with tools like skopeo.

I am playing with:

❯ skopeo inspect docker://ghcr.io/ublue-os/bluefin-dx:gts | jq '.Labels."dev.hhd.rechunk.info".packages'
jq: error (at <stdin>:2963): Cannot index string with string "packages"

Unfortunately I can’t seem to isolate just the “packages” key…

Got this working:

~ took 2s 
❯ skopeo inspect docker://ghcr.io/ublue-os/bluefin-dx:lts | jq -r '.Labels."dev.hhd.rechunk.info" | fromjson.packages' | sort > blts 

~ took 6s 
❯ skopeo inspect docker://ghcr.io/ublue-os/bluefin-dx:stable | jq -r '.Labels."dev.hhd.rechunk.info" | fromjson.packages' | sort > bstable

~ took 6s 
❯ skopeo inspect docker://ghcr.io/ublue-os/bluefin-dx:latest | jq -r '.Labels."dev.hhd.rechunk.info" | fromjson.packages' | sort > blatest

I use Meld to compare these graphically.

1 Like

Hello from the show floor at SCaLE! Here’s Bluefin GDX on a Thelio Astra. 128 delicious Ampere cores. :smiley:

TONS of great conversations with the CentOS folks, specifically in the Hyperscale SIG. We are pretty much set to start consuming newer kernels in the optional hwe images and there are plans for backporting GNOME back to CentOS 10. All in all I think we’ve checked every box.

We’re going to go ahead and call this our beta. :smiley: Keep the bug reports coming!

5 Likes

Is this at the point we can give it a spin on real hardware instead of a VM?

I’m looking to try bluefin-gdx-nvidia and see how things go on my laptop…

I’ve been dogfooding on bare metal just fine, we still don’t offer secureboot yet though.

bluefin-gdx already has nvidia :slight_smile:

For some reason the Determinate Nix Installer does not work even though it runs fine on a pure CentOS 10 stream VM. In the Bluefin-gdx it seems that mounting on / is prohibited so:

░░ The unit nix-directory.service has entered the 'failed' state with result 'exit-code'.
Mar 22 18:49:49 localhost systemd[1]: Failed to start nix-directory.service - Enable mount points in / for ostree.
░░ Subject: A start job for unit nix-directory.service has failed
░░ Defined-By: systemd
░░ Support: https://access.redhat.com/support
░░ 
░░ A start job for unit nix-directory.service has finished with a failure.
░░ 
░░ The job identifier is 5382 and the job result is failed.
Mar 22 18:49:49 localhost systemd[1]: Dependency failed for nix.mount - Mount `/var/home/nix` on `/nix`.
░░ Subject: A start job for unit nix.mount has failed
░░ Defined-By: systemd
░░ Support: https://access.redhat.com/support
░░ 
░░ A start job for unit nix.mount has finished with a failure.

This currently works on Silverblue/Bluefin-dx

Is it possible to allow mounts in / or is there some reason this was changed in bluefin-gdx?

I think for a developer OS allowing Nix would be a great feature.

No, lts is using composefs so that’s not possible, it’ll probably stop working in F42 in the other Bluefins too.

1 Like

Ok I have found the relevant issue: Ostree installation breaks with composefs changes in Fedora 42 · Issue #1445 · DeterminateSystems/nix-installer · GitHub

Seems like there are discussions here: Arbitrary top level mount points and composefs (#26) · Issues · fedora / bootc / Issue Tracker · GitLab

Just flagging in case anyone comes across… Hope they fix it soon…

I think the combo of an atomic Linux with Nix is quite powerful. I know and love Homebrew, but nothing beats the ability to install a Bluefin image on a laptop, then activate your Nix profile to pull in your development toolchain(s) and be good to go…

Since the discussions I see in the links above may take a while to resolve, I’m thinking of creating a customized flavour of bluefin-gdx which has Nix pre-installed as an add-on, but I’ve no idea how to go about this…

How would one go about creating a custom bluefin-gdx-nix image, which is just the base image but with the Nix installed (i.e. the root contains the /nix mount point and the determinate nix installer is present so that the build users and systemd service are present).

1 Like

Why not just use Home-Manager? Personally, I use a github repo to build my image, with all the custom packages and /etc files I want, and a separate github repo for my Home-Manager

I am currently using home manager in bluefin-dx (F41).

I want to keep using it when F42 rolls out, but as per the posts above the /nix mount stops working. I was hoping to extend the image build with an extra step that runs the DNI mentioned above in Call for Testing: Bluefin LTS (Alpha) - #49 by akarypid so that I can keep using Nix as I am currently…

Can you point me to your repo for building your own image? Is there some wiki on how to create your own image?

1 Like

This might be a good place to start:

1 Like

Any idea why it is borked? I just finished installing Bazzite on my ROG Ally. I usually setup everything via Home Manager, but if /nix is borked then I’d just wait until it is confirmed fixed before continuing with my setup.

See the links in my comment above: Call for Testing: Bluefin LTS (Alpha) - #51 by akarypid

2 Likes

Hm, I do have my own image builder on Github… is there a way I can generate an empty /nix top directory there?

1 Like

Did you manage to get this working? I’m going to stay on gts (when it becomes 41-based) because of this issue…

Tried adding an mk-nix script to my image builder, whether I put it in pre or post, it doesn’t seem to be automatically generating a /nix folder on my device.

I remember that there was an /opt oflloading script that basically creates an /opt folder in the image and then symlinks it to /var/opt` but I don’t know how it works exactly.

Just a heads up that we’re planning on dropping the vanilla kernel and just going with the backported SIG hyperscale kernels by default. This will simplify everything and no one on the team’s going to want to stay on 6.12 forever.

So there won’t be an LTS and LTS hwe, it’s just be LTS with the backported kernels and other parts. I’ll post more of the mantra/thoughts around this after F42.

2 Likes