[SOLVED] How do I switch from Bluefin to Aurora

Hello. I recently purchased a framework laptop, and heard about bluefin from there. So I tried installing it on my laptop. I have it dual booting with fedora (against the recommendation of the install doc I later found out; huh), but that’s probably not relevant (seperate efi/boot partitions, rootfs is a different btrfs subvolume per os; shared /home. wtf is btrfs? linux has changed in the past 15 years (reiserfs was the new hotness when I was last here)). It’s been about 15 years since I regularly used linux, so I have no idea if I prefer gnome or kde (I actually used neither back then, fluxbox on gentoo). So I wanted to try aurora.

Once I decided I wanted to try aurora, I started looking for how to do that. I heard that’s the whole point of uBlue, so it must be like, the second page of the docs? nope. I looked for the universal blue documentation, but all that does is take me to this forum.

From reading the bluefin docs (which actually exist; thanks!), it seems the way to do this is rpm-ostree, or maybe bootc. So, I tried looking up the manual for rpm-ostree. But, the first hit in google is a dead link:

Oof. maybe this thing isn’t as stable as the bluefin homepage led me to believe? or maybe it’s just new? I dunno. Worst case, I can reinstall again; the laptop is under a week old.

Carrying on, I remembered that man pages used to exist, so I tried man rpm-ostree. that seemed to work. After I learned about status and rebase, I think rebase is the command I want (though the git user in me is screaming “why isn’t it named checkout!?”). So I tried this, and got an error:

❯ sudo rpm-ostree reset
[sudo] password for tapple: 
No change.

~ took 5s 
❯ sudo rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/aurora-dx:gts
Pulling manifest: ostree-image-signed:docker://ghcr.io/ublue-os/aurora-dx:gts
error: Creating importer: Failed to invoke skopeo proxy method OpenImage: remote error: cryptographic signature verification failed: invalid signature when validating ASN.1 encoded signature

Ok. maybe I’ll try bootc. I checked the man page, and bootc status, and figured the command I probably want is this:

❯ sudo bootc switch ghcr.io/ublue-os/aurora-dx:gts
ERROR Switching: Pulling: Creating importer: failed to invoke method OpenImage: failed to invoke method OpenImage: cryptographic signature verification failed: invalid signature when validating ASN.1 encoded signature

Huh. guess I’ll ask in the forum:

  1. Am I missing some obvious documentation? I figured that the flagship feature of uBlue would be better documented than this
  2. Am I using the right command?
  3. Is this supposed to work? searching the forum for “rebase”, I mostly see things about “rebasing between gnome and kde is problematic due to /etc and /home being global”, but, nothing about them not working at all

See

TL;DR, rebasing from another image can raise conflicts and is therefore unsupported (but works theoretically: rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/NAMEOFYOURIMAGE:NAMEOFTHETAG)

See Packages · Universal Blue · GitHub for a list of all the images, and Administrator's Guide for a list of all the tags

Did you install from a really old ISO? This is your issue: Important announcement regarding system updates [Action needed]

You need to run this fix before rebases will stick.

the image I installed is named bluefin-dx-gts.iso, and I downloaded it on 2024-10-30. surprised it doesn’t have a descriptive name. I got it from https://projectbluefin.io/ > Try Bluefin > Framework Laptop > Dev Yes > AMD

❯ sudo bootc status
No staged image present
Current booted image: ghcr.io/ublue-os/bluefin-dx:gts
    Image version: 40.20241029.0 (2024-10-29 18:29:37.101 UTC)
    Image digest: sha256:f0e090b6c8b02bc47bea123a94ca96795ad2b5d0ee345346a755c6235b11b32f
Current rollback image: ghcr.io/ublue-os/bluefin-dx:gts
    Image version: 40.20241029.0 (2024-10-29 18:29:37.101 UTC)
    Image digest: sha256:f0e090b6c8b02bc47bea123a94ca96795ad2b5d0ee345346a755c6235b11b32f

Does an rpm-ostree rebase work instead of the bootc switch?

rpm-ostree rebase and bootc switch both give the same signature verification error (see original post). I mounted the iso file I downloaded, and it appears to have modification times of 2024-10-29. I have not yet tried the fix you mentioned; I was still gathering evidence to see if my iso is recent or not. All evidence I see indicates a recent iso. I will go test your fix now, and if that works, there may be an issue with the iso’s present on https://projectbluefin.io, though, I can’t imagine how I would be the first one to notice, 5 months late

Oh hey wait a minute, in your original post you’re trying rebase to a version of aurora that doesn’t exist (there’s no gts version)!!

guess you’re right. stable tag doesn’t give that key error. I guess I should report a bug to rpm-ostree about a bad error message in case of an invalid tag

❯ sudo rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/aurora-dx:stable
[sudo] password for tapple: 
Sorry, try again.
[sudo] password for tapple: 
Pulling manifest: ostree-image-signed:docker://ghcr.io/ublue-os/aurora-dx:stable
Importing: ostree-image-signed:docker://ghcr.io/ublue-os/aurora-dx:stable (digest: sha256:bd84817a008ddf531d1758f84e5f908820dc5076c59a2a67fd115646595351eb)
ostree chunk layers already present: 15
ostree chunk layers needed: 57 (3.8 GB)

Now that you’ve got it sorted, we don’t have docs on this because desktops break each other’s dotfiles etc. If you know how to Linux it’s probably fine but it’s not something we can support.

Rebasing within a desktop works fine, which we do support , ie. moving forward and backwards with versions within a given image via ujust rebase-helper

bug reported: Confusing error message "invalid signature" when rebasing on a signed container with a missing tag · Issue #5142 · coreos/rpm-ostree · GitHub