Simpler Aurora ZFS repo example (less experimental than the other one)

Looking for a few testers / extra eyes on this. If anybody has a spare NVIDIA system they can test this on I’d appreciate it! (update: Tested. works without issues that I can see)

I made another Aurora ZFS repo, but this one is intentionally much simpler:

Note: Should work with Bluefin, I haven’t built it though.

This is based on / forked from @renner example for a simple way to add ZFS back using the upstream Universal Blue akmods artifacts.

This is different from the more complex thing I posted about here:

That repo tries to be clever and automatic. It resolves the base image, checks kernel/ZFS compatibility, builds/publishes candidate images, promotes only when things line up, etc. It’s cool, but it’s also a lot.

This repo is the opposite approach: keep it simple (KISS) and make the operator do the one important manual thing.

The basic idea is:

  • start from Aurora NVIDIA Open stable
  • replace the kernel with the one from ghcr.io/ublue-os/akmods
  • install matching ZFS from ghcr.io/ublue-os/akmods-zfs
  • install matching NVIDIA Open kmods from ghcr.io/ublue-os/akmods-nvidia-open
  • build/publish with GitHub Actions
  • rebase an existing Aurora install to the image

So instead of trying to automatically chase every major Fedora transition, this expects the user to update the Containerfile when it’s time to move to the next whole Fedora release.

Practically speaking, I’d probably wait until uCore / the coreos-stable akmods stack has moved to the next whole Fedora release, then check whether the matching ZFS and NVIDIA Open akmods are there too. If they are, that’s probably the right time to bump FEDORA_VERSION.

For example, don’t just change:

ARG FEDORA_VERSION=44

to:

ARG FEDORA_VERSION=45

the second Fedora 45 exists. First check that the matching upstream images exist and line up:

ghcr.io/ublue-os/akmods:coreos-stable-45-x86_64
ghcr.io/ublue-os/akmods-zfs:coreos-stable-45-x86_64
ghcr.io/ublue-os/akmods-nvidia-open:coreos-stable-45-x86_64

If those don’t line up yet, do nothing. Stay on the last working image and wait for upstream to catch up.

There is still a simple guard in the Containerfile so if aurora-nvidia-open:stable moves to a different Fedora release than FEDORA_VERSION, the build fails instead of making some weird mixed Fedora image.

I also added a short doc for what needs to be checked before moving to a new Fedora release:

And there are notes for non-NVIDIA users who want to turn it into plain Aurora + ZFS instead of Aurora NVIDIA Open + ZFS.

So I think of it like this:

  • zfs-aurora-complex = “try to automate the whole kernel/ZFS dance”
  • aurora-zfs-simple = “use upstream ublue artifacts, understand what you’re doing, and change the Fedora number yourself when ready”

This one is probably the better starting point for someone who wants something forkable and readable rather than a big pile of automation…as much as the other one IS cool :wink:

Just helping out where I can! I might add this as an option to my Atomic repo creation tool. “Add ZFS”. Could work!