The .1 location doesn’t exist anymore. There are two .0 locations. I’m wondering if this was due to upgrading to Fedora 32.
Probably relevant is that I had this issue from running livefs https://jlelse.blog/dev/fix-broken-silverblue/ . The livefs command was run after a few update failures to test and see if that would work.
After looking at grub configs, this bug still exists as well grub2-mkconfig when invoked directly generates bad config on EFI · Issue #1009 · ostreedev/ostree · GitHub . That seems unlikely to be related. Still, it isn’t clear if the /boot/loader/entries are correct. There is only one entry in that directory now, ostree-2-fedora-atomic.conf. For whatever reason, there is another one created in the /boot/efi/EFI/fedora/grub.cfg file that also points to the :0 image.
I could manually perform filesystem operations to make the dirs, but don’t know if that is the correct way to go. Does ostree have a clean way to fix this?
A bit more detail. The system is hitting this issue Common F31 bugs - Fedora Project Wiki . Also, when performing an install
rpm-ostree install fuse-exfat exfat-utils
The result is that no new kernels are added to /boot/ostree and no entry is added in grub.
This may be a twisted manifestation of the issues discussed here Boot entries gone after upgrade . Many of the people on that thread ended up reinstalling.
Everything mentioned in the previous posts is normal. I tested this on a VM. The issue was that the finalization process was failing with
May 27 16:46:34 ostree[44286]: error: Unexpected state: /run/ostree-booted found, but no /boot/loader
directory
May 27 16:46:34 systemd[1]: ostree-finalize-staged.service: Control process exited, code=exited, stat
us=1/FAILURE
May 27 16:46:34 systemd[1]: ostree-finalize-staged.service: Failed with result ‘exit-code’.
May 27 16:46:34 systemd[1]: Stopped OSTree Finalize Staged Deployment.
May 27 16:46:34 audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg=‘unit=ostree-finalize-staged comm=“systemd” exe=“/usr/lib/systemd/systemd” hostname=? addr=? terminal=? res=failed’
After reading this discussion, I ran finalize manually and it worked
So the issue is /boot being unmounted about 10 seconds before the ostree-finalize-staged service is run.
May 27 16:46:24 systemd[1]: boot.mount: Succeeded.
May 27 16:46:24 systemd[1]: Unmounted /boot.
The bug is somewhere in the ostree-finalize-staged.service file. Maybe RequireMountsFor=/boot would work?