How to rebase to Fedora Linux 40 on Silverblue

Fedora 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. If you want to update or rebase to Fedora Linux 40 on your Fedora Silverblue system, this article tells you how. It not only shows you what to do, but also how to revert things if something unforeseen happens.

Update your existing system

Prior to actually doing the rebase to Fedora Linux 40, you should apply any pending updates. Enter the following in the terminal:

$ rpm-ostree update

or install updates through GNOME Software and reboot.


rpm-ostree is the underlying atomic technology that all the Fedora Atomic Desktops use. The techniques described here for Silverblue will apply to all of them with proper modifications for the appropriate desktop.

Rebasing using GNOME Software

GNOME Software shows you that there is new version of Fedora Linux available on the Updates screen.


First thing to do is download the new image, so select the Download button. This will take some time. When it is done you will see that the update is ready to install.


Select the Restart & Upgrade button. This step will take only a few moments and the computer will restart when the update is completed. After the restart you will end up in a new and shiny release of Fedora Linux 40. Easy, isn’t it?

Rebasing using terminal

If you prefer to do everything in a terminal, then this part of the guide is for you.

Rebasing to Fedora Linux 40 using the terminal is easy. First, check if the 40 branch is available:

$ ostree remote refs fedora

You should see the following in the output:


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

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

To remove the pinned deployment use the following command:

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

Next, rebase your system to the Fedora Linux 40 branch.

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

Finally, the last thing to do is restart your computer and boot to Fedora Linux 40.

How to roll back

If anything bad happens (for instance, if you can’t boot to Fedora Linux 40 at all) it’s easy to go back. At boot time, pick the entry in the GRUB menu for the version prior to Fedora Linux 40 and your system will start in that previous version rather than Fedora Linux 40. If you don’t see the GRUB menu, try to press ESC during boot. To make the change to the previous version permanent, use the following command:

$ rpm-ostree rollback

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


Because there are similar questions in comments for each blog about rebasing to newer version of Silverblue I will try to answer them in this section.

Question: Can I skip versions during rebase of Fedora? For example from Fedora 38 Silverblue to Fedora 40 Silverblue?

Answer: Although it could be sometimes possible to skip versions during rebase, it is not recommended. You should always update to one version above (38->39 for example) to avoid unnecessary errors.

Question: I have rpm-fusion layered and I get errors during rebase. How should I do the rebase?

Answer: If you have rpm-fusion layered on your Silverblue installation, you should do the following before rebase:

$ rpm-ostree update --uninstall rpmfusion-free-release --uninstall rpmfusion-nonfree-release --install rpmfusion-free-release --install rpmfusion-nonfree-release

After doing this you can follow the guide in this blog post.

Question: Could this guide be used for other ostree editions (Fedora Atomic Desktops) as well like Kinoite, Sericea (Sway Atomic), Onyx (Budgie Atomic),…?

Yes, you can follow the Rebasing using the terminal part of this guide for every Fedora Atomic Desktop. Just use the corresponding branch. For example, for Kinoite use fedora:fedora/40/x86_64/kinoite

New in Fedora Using Software


  1. Matthew Phillips

    I used GNOME Software for the upgrade and it worked great, no problems. Well done as always Fedora team!

  2. Hi Michal,

    Thanks for this informative post.

  3. Ĉandace


  4. Thanks for including the RPMFusion info. That tripped me up a few releases ago. I’m not using that repo at all now, and the upgrades have been very smooth.

  5. james

    I rebased and it seemed to work fine, except it needed me to replace mozilla-openh264 which i had layered.
    Since using 40, I have had no amazon prime in firefox, so the widevine doesn’t work, although it works in Chrome. Also, everytime I update, I lose my browser history, am unable to copy (ctrl-c) anything in firefox, and gnome has booted to a broken display, and when I updated first, all user input stopped working (I had autologin enabled). I had to boot from the previous install, pin it and then delete the broken upgrade and re-upgrade.
    And it wasn’t the user prefix becoming contaminated as I used a different login account with similar issues.
    I have never had any faults on silverblue before, nor fedora workstation before it, so I am a bit disappointed.
    My next port of call is to completely reinstall from a usb.

  6. james

    Hi, I just commented before about firefox failing to play amazon prime. It seems that it is necessary to install mozilla-openh264 as per the following comment…

  7. lars martin

    Waiting in queue…
    The following packages have to be installed:
    gnome-software-rpm-ostree-46.1-1.fc41.x86_64 rpm-ostree backend for gnome-software
    ostree-2024.5-3.fc41.x86_64 Tool for managing bootable, immutable filesystem trees
    rpm-ostree-2024.5-2.fc41.x86_64 Hybrid image/package system
    rpm-ostree-libs-2024.5-2.fc41.x86_64 Shared library for rpm-ostree
    Proceed with changes? [N/y] u

    Proceed with changes? [N/y] y

    Waiting in queue…
    Waiting for authentication…
    Waiting in queue…
    Loading list of packages….
    Downloading details about the software repositories….
    Requesting data…
    Testing changes…
    Installing packages…
    error: This system was not booted via libostree.
    Currently, most rpm-ostree commands only work on ostree-based host systems.

  8. James

    Although it could be sometimes possible to skip versions during rebase, it is not recommended. You should always update to one version above (38->39 for example) to avoid unnecessary errors.

    Why is that? What sort of errors might this create? You can’t change anything in the system directories and the entire image is simply replaced on update, so I’m curious why skipping major versions might cause issues. Why is doing something crazy like rebasing to, say, openSUSE Micro OS or something a bad idea? Actually…is that even possible?

    I’m interested in using Silverblue but I was curious how exactly ostree worked.

Leave a Reply

The interval between posting a comment and its appearance will be irregular so please DO NOT resend the same post repeatedly. All comments are moderated but this site is not monitored continuously so comments will not appear as soon as posted.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat. Fedora Magazine aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. The Fedora logo is a trademark of Red Hat, Inc. Terms and Conditions