Install Fedora workstion 30 clobbered Silverblue

Well I just made an interesting mistake. I’ve been playing with flatpak-builder and having some odd issues (which @refi64 has been very generously helping me through, thanks Ryan) so I thought I’d try using normal (non Silverblue) Fedora to build flatpaks to see if it worked any better.
After installing Fedora I found I could no longer boot Silverblue. There was just nothing to boot. I think what may have happened is that when I installed Fedora it overwrote the existing Fedora files in the EFI directory, assuming they use the same names. The install is still there, but there is nothing in the efi folder for it.
I found what I believe to be the Silverblue boot drive (1G) that contains an ostree foder with two initramfs and vmlinuz files, presumably two versions of the main os. I also found a 75G drive with some .efi files in it, plus a lot of other folders that it was not immediately obvious what they all are. I’m guessing there is a boot efi for Silvlerblue that is smart enough to display a grub menu with the appropriate entries in it to boot the selected Silverblue version, plus my other distros. At least that’s what it used to do.
Is there a way I can rebuild my Silverblue boot efi without completely reinstalling?

Silverblue boots by storing the boot entries as BLS files under /boot/loader/entries. These entries are then read by /etc/grub.d/15_ostree and converted to grub.cfg.

In addition, Fedora 30/31 also use BLS files, but they use them a bit differently: the GRUB bootloader has a blscfg module that parses the BLS files and adds the entries to the menu during boot, rather than having them pre-generated in grub.cfg.

Based on this, I think you can boot to Silverblue like so:

  • Open a command prompt from the GRUB boot menu.
  • Run insmod ext2 to ensure GRUB can read ext* partitions.
  • Use ls to list all the available partitions (they’re usually in the format (hdA,gptB), where A is the disk number and B is the partition number).
  • Use ls (hdA,gptB)/loader/entries on partitions. If the command succeeds for a partition and the files it shows are named such as ostree-N-fedora.conf, then you’ve found the Silverblue boot partition.
  • Run set root=(hdA,gptB), where A and B are the disk and partition number of the Silverblue boot partition.
  • Run insmod blscfg and blscfg.
  • Exit the GRUB prompt.

Now, hopefully, your Silverblue boot entries will appear in the boot menu. Once you’re in Silverblue, you can run grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg to re-generate the GRUb config…but this may not show Fedora 31 anymore.

Thanks @refi64, but I got impatient, and in a moment of temporary insanity deleted all the fedora partitions for both distros. Then did a clean install of Silverblue again. Sad mistake, I should have tried to recover my original install, as it seems I did a lot more stuff than I remembered. Including, but not limited to, installing Gnome tweaks. I couldn’t remember how I did it last time, and the only solution I could find was to install it with rpm-ostree. I’m 99% certains I didn’t do that last time, but like I said, couldn’t remember how I did it, couldn’t find any information online, it wasn’t in the software catalog, so went with the layered option. I read a few posts that suggest it should be in the base os anyway, so I’m not feeling too guilty about it.
I’m also finding that displaying all the apps (by clicking the 9 dots icon in the dash) doesn’t necessarily display everything. In fact I get a quite different list if I select “frequent” rather than “all”. I wold have thought “all” wold have displayed every app installed, but apparently not.
:wink: Ian

1 Like

Oof, well if it works it works ¯\_(ツ)_/¯.

Personally I do layer gnome-tweaks, since IMO the purpose of layering is for stuff that you can’t easily do any other way, and afaik there’s a Tweaks flatpak that…mostly doesn’t work. So yeah, it’s easier to just layer it for me.

The apps issue…is definitely weird. Out of curiosity, does it still not work after a reboot?

Whoops. Found all the missing ones in the Utilities submenu thingy. All good.
Thanks, Ian