Fedora rollback update (btrfs)

I have Fedora 36 on my Librem 14 with Pureboot, an encrypted drive, and btrfs. Upon shutdown it asked to update, I said yes, it restarted, updated, and then turned off. The next time I turned it on it goes throught the boot procces and comes up with “problem … Please contact your system administrator” I could press ctrl+alt+F3 and log into the terminal. Trying a few things (dnf, startx) I keep getting, libpipewire.so libdw.so, etc. file is too short.

I want to rollback to a btrfs snapshot before the update but for the life of me I could not find the special incantation. Everywhere it talks about creating subvolumes but not for whatever volumes dnf creates.

Does anyone know how I can do a rollback?

I don’t think you can do a rollback specifically, but you can modify fstab to mount something else as root.

Check your volume list:

sudo btrfs subvolume list /
ID 257 gen 5717504 top level 5 path foo

Then, in the fstab, the internet says the syntax for mounting a subvolume should be like this:

/dev/sdb /snapshots btrfs noauto,noatime,nodiratime,subvol=/@snapshots 0 0

Keep in mind that you’re unlikely to get a working Fedora if you use a read-only snapshot. But if that’s what you have, then you can create a new read-write subvolume from the snapshot no problem (you can fgure it out).

Oh, you’ll also need to modify your grub configuration to use this new subvolume, and possibly regenerate initramfs using dracut. It’s a bunch of work, sadly.

BTW, when you try things, it’s useful to post the exact error message you’re seeing. I’m having trouble understanding what the result of starting dnf was from your description.

1 Like