How to rebase to Fedora Silverblue 37 Beta

Originally published at: How to rebase to Fedora Silverblue 37 Beta – Fedora Community Blog

Silverblue is an operating system for your desktop built on Fedora Linux. It’s excellent for daily use, development, and container-based workflows. It offers numerous advantages such as being able to roll back in case of any problems. Let’s see the steps to upgrade to the newly released Fedora 37 Beta, and how to revert if anything unforeseen happens.

Before attempting an upgrade to the Fedora 37 Beta, apply any pending upgrades.

Updating using terminal

Because the Fedora 37 Beta is not available in GNOME Software, the whole upgrade must be done through a terminal.

First, check if the 37 branch is available, which should be true now:

$ ostree remote refs fedora

You should see the following line in the output:

fedora:fedora/37/x86_64/silverblue

If you want to pin the current deployment (this deployment will stay as option in GRUB until you remove it), you can do it by running:

# 0 is entry position in rpm-ostree status
$ sudo ostree admin pin 0

To remove the pinned deployment use following command (2 corresponds to the entry position in rpm-ostree status):

$ sudo ostree admin pin --unpin 2

Next, rebase your system to the Fedora 37 branch.

$ rpm-ostree rebase fedora:fedora/37/x86_64/silverblue

Finally, the last thing to do is restart your computer and boot to Fedora Silverblue 37 Beta.

How to revert

If anything bad happens — for instance, if you can’t boot to Fedora Silverblue 37 Beta at all — it’s easy to go back. Pick the previous entry in the GRUB boot menu (you need to press ESC during boot sequence to see the GRUB menu in newer versions of Fedora Silverblue), and your system will start in its previous state. To make this change permanent, use the following command:

$ rpm-ostree rollback

That’s it. Now you know how to rebase to Fedora Silverblue 37 Beta and back. So why not do it today?

4 Likes

Possible error:

You might run into the following error during the rebase while following these instructions:

error: Could not depsolve transaction; 2 problems detected:
 Problem 1: conflicting requests
  - nothing provides system-release(36) needed by rpmfusion-free-release-36-1.noarch
 Problem 2: conflicting requests

The fix:

  1. Uninstall/re-install rpmfusion-free-release and rpmfusion-nonfree-release:
rpm-ostree update --uninstall rpmfusion-free-release --uninstall rpmfusion-nonfree-release --install rpmfusion-free-release --install rpmfusion-nonfree-release
  1. Re-run the rebase:
rpm-ostree rebase fedora:fedora/37/x86_64/silverblue
  1. Reboot:
systemctl reboot

Thanks for pointing this out. I don’t have rpmfusion on my system, so I didn’t encountered this.

Direct rebase to 37 from 34 failed with public key not found.
34->36->37 works .

We do not support skipping releases in Silverblue/Kinoite.

The update process should be as followed:

  1. Update to the latest version for the current release that your are using
  2. Rebase to the very next version
  3. Repeat 3 until you’re on the last one

@zlopez, if you could make that clearer in the post that would be great! Thanks

Please see Simplifying updates for RPM Fusion packages (and other packages shipping their own RPM repos) for RPM Fusion issues.