Q: Where are the UEFI binaries located in Fedora CoreOS 34?

I have been working with FCOS 32 for a while and lost track of the changes happened to FCOS33.
Recently I am trying out the FCOS34 release.

I have installed the fcos.34 using live iso (fedora-coreos-34.20210611.3.0-live.x86_64.iso) in the VMware environment (with efi firmware enabled).
It turns out that I could not see the /boot/efi/EFI/ directory anymore - compared to what I used to see in FCOS 32.

On fcos.32:

# ls /boot/efi/EFI/
BOOT  fedora
# ls /boot/efi/EFI/BOOT/
BOOTX64.EFI  fbx64.efi
#  ls /boot/efi/EFI/fedora/
BOOTX64.CSV  grub.cfg  grubx64.efi  shim.efi     shimx64.efi
fonts  mmx64.efi    shimx64-fedora.efi

On fcos.34 (I do have some errors from sssd.service though, not sure if it’s because the OS was not installed correctly - I will retry and report back.)

# pwd
# find

To compare, I also installed fedora IoT (Fedora-IoT-IoT-ostree-x86_64-34-20210624.0.iso):

# ls /boot/efi/EFI/
BOOT  fedora
# ls /boot/efi/EFI/BOOT/
BOOTX64.EFI  fbx64.efi
# ls /boot/efi/EFI/fedora/
BOOTX64.CSV  fonts  grub.cfg  grubx64.efi  mmx64.efi  shim.efi  shimx64.efi

It seems working fine with VMWare.

I don’t understand how UEFI boot works in CoreOS 34.
Could someone explain me what I should expect to see in the fcos.34 installation? Or simply point me to some reading materials so that I could catch up?

Thanks in advance!

They are in the second partition. We just don’t mount it in the real root by default because it’s not needed (the system is up and running already):

[core@localhost ~]$ sudo mount /dev/sda2 /boot/efi/
[core@localhost ~]$ find /boot/efi/

The other reason we don’t mount it by default is that, if you enable boot disk mirroring with the Butane boot_device.mirror section, there will be an independent EFI system partition on each of the boot disks. In that case there’s no longer a single canonical partition to mount on /boot/efi.

1 Like

Thanks for the information. It solved my puzzle. :+1:

1 Like