How to Build Fedora Silverblue Remix?

Hello, I’m looking to create a Silverblue remix. I came across this link: https://fedoraproject.org/wiki/Remix#Are_there_other_legal_requirements?

In standard Fedora, I could use the following commands to replace the logos:

sudo dnf install generic-logos --allowerasing 
sudo dnf install generic-release --allowerasing 
sudo dnf install generic-release-notes --allowerasing

However, I encountered an error on Silverblue: "Problem: package generic-logos-18.0.0-23.fc41.noarch from Fedora conflicts with fedora-logos provided by fedora-logos-38.1.0-6.fc41.noarch from @System."

Could someone assist me in finding a way to replace the logos or suggest an easy alternative that doesn’t require using the ublue method? I just need to make a few minor adjustments before selling the laptops, and I don’t want to maintain a whole image specifically for this purpose. Thank you!

1 Like

you probably need to do:
rpm-ostree override remove package --install package

1 Like

Thank you, that’s fantastic! I’m almost finished. I removed:

  • fedora-logos-38.1.0-6.fc41.noarch

And added:

  • generic-logos-18.0.0-23.fc41.noarch
  • generic-release-notes-41-0.1.noarch

However, there is still one error remaining:

When trying to execute rpm-ostree override remove fedora-release --install generic-release, I encountered the following error:

Could not depsolve transaction; 2 problems detected:

  1. Problem 1: package fedora-release-identity-silverblue-41-0.21.noarch from @System requires fedora-release-silverblue = 41-0.21, but none of the providers can be installed - conflicting requests

  2. Problem 2: package fedora-release-common-41-0.21.noarch from @System conflicts with generic-release provided by generic-release-41-0.1.noarch from fedora - conflicting requests

You’re going to need to remove all the conflicting packages before installing the conflicting one.
so it will be remove package package package ... --install package

Edit: Looking at ublue bluefin, it looks like the release packages are still installed (fyi)

I would suggest that you utilize one of the non-beta images for this, and that you test upgrading it to the newer release after modification.

If it helps at all, ublue images replace the default images in /usr/share/pixmaps and other locations, so on a bluefin system there’s a fedora-logo.png that’s actually a “project bluefin” logo, etc. They do this for the plymouth logo, logo on sddm screen.

“maintaining” a ublue custom image is pretty straightforward especially if you’re just making a couple changes, mostly just investigating the occasional failed build, but look into fedora bootc as a future “next gen” approach to deploying a custom silverblue image. You’d be able to use your traditional dnf commands in a containerfile as part of a build, easily spin an iso to write to usb for baremetal installs, etc. I think it might be F42 for that to be a solid option though.

3 Likes

I upgraded from Fedora 36 to 38 via terminal without any problems, but the notification to update to a new Fedora version isn’t appearing in GNOME Software.

Do you know what might be causing this?

Hello @kansei and welcome to :fedora: !

I agree that to make a custom Fedora Remix install image based on Silverblue we can try to follow container native OSTree (bootc) approach, and I already suggested it in another post. Currently, such a process is not yet officially supported and documented, at least for Fedora Atomic Desktops, but the technology is stable and I’ve been using it for some time now to make images for my own use.

First we can try making an derived container image with the necessary changes for the remix from the still unofficial Fedora Silverblue container image. We can then either generate a custom installer ISO image for interactive or automated installation, or install from the container directly to a target block device.

I noticed these errors on verbose, could it be that replacing the logos could have deleted the plugin that detects new fedora versions?

17:20:32:805 Gs  Getting upgrades
17:20:32:805 Gs  no plugin could handle listing distro upgrades
17:20:32:805 Gs  No distro upgrades to refine
17:20:32:805 Gs  running unknown with dedupe-flags=7
17:20:32:805 Gs  no upgrades; withdrawing upgrades-available notification
17:20:32:805 Gs  no plugin could handle get-langpacks
17:20:32:805 Gs  no refine flags set for transaction

Thats a problem. Afaik fedora-release-common includes useful themes etc.

Thanks for your help!

I created my own updater yesterday to fix the issue, and I will try to replace the themes if necessary. However, there are a couple of problems still to address:

  1. The splash boot screen still shows the Fedora logo. I’m not sure if this will cause any legal issues.

  2. The GNOME initial login doesn’t allow language selection. This is a big concern because it means I will need to set a default language, and many people in Europe speak different languages.

Thank you!

  1. That is the plymouth theme

Have a look here

/usr/share/plymouth/themes/

Some AI also gave me commands, no idea if they work. You will need to run them during container build in the chroot I guess.

I assume you use the bootable OCI containers approach that uBlue uses.

sudo plymouth-set-default-theme <theme_name> --rebuild-initrd

# rebuild initramfs
sudo dracut -f

Added atomic-desktops, bootc, f40