On Sat, Apr 10, 2021 at 3:10 PM Vitaly Zaitsev via devel <devel@xxxxxxxxxxxxxxxxxxxxxxx> wrote: > > On 10.04.2021 23:00, Chris Murphy wrote: > > Both of those resolve to $BOOT/loader/entries and systemd-boot > > supports either EFI System partition or Extended Boot Loader > > partition. > > if ! [[ $MACHINE_ID ]]; then > ENTRY_DIR_ABS=$(mktemp -d /tmp/kernel-install.XXXXX) || exit 1 > trap "rm -rf '$ENTRY_DIR_ABS'" EXIT INT QUIT PIPE > elif [[ -d /efi/loader/entries ]] || [[ -d /efi/$MACHINE_ID ]]; then > ENTRY_DIR_ABS="/efi/$MACHINE_ID/$KERNEL_VERSION" > elif [[ -d /boot/loader/entries ]] || [[ -d /boot/$MACHINE_ID ]]; then > ENTRY_DIR_ABS="/boot/$MACHINE_ID/$KERNEL_VERSION" > elif [[ -d /boot/efi/loader/entries ]] || [[ -d /boot/efi/$MACHINE_ID > ]]; then > ENTRY_DIR_ABS="/boot/efi/$MACHINE_ID/$KERNEL_VERSION" > elif mountpoint -q /efi; then > ENTRY_DIR_ABS="/efi/$MACHINE_ID/$KERNEL_VERSION" > elif mountpoint -q /boot/efi; then > ENTRY_DIR_ABS="/boot/efi/$MACHINE_ID/$KERNEL_VERSION" > else > ENTRY_DIR_ABS="/boot/$MACHINE_ID/$KERNEL_VERSION" > fi > > If the /boot/loader/entries directory is exists, kernel-install will use > it. systemd-boot cannot read configs from this directory. As far as I'm aware, the only two things preventing sd-boot from reading this directory is (a) this $BOOT currently doesn't have the proper Extended Boot Loader partition type GUID, (b) it's ext4 and out of the box the firmware can't read ext4. If /boot is $BOOT, then it has /loader/entries/ same as an ESP as $BOOT. (a) is not supported by parted, which is what anaconda uses; (b) efifs doesn't exist yet in Fedora. So for the pure Boot Loader Spec implementation, it's not possibly out of the box no matter how you look at it. You've got post-install tasks. But the implementation we have is also more flexible for non-UEFI systems and other arches, and Boot Loader Spec as currently written is very x86 UEFI specific, so if it's going to get more broad adoption, the spec will need to be broadened. > > $ dnf -C repoquery --list grub2-efi-x64 > /boot/efi/EFI/fedora/fonts > /boot/efi/EFI/fedora/grub.cfg > /boot/efi/EFI/fedora/grubenv > /boot/efi/EFI/fedora/grubx64.efi > /boot/grub2/grubenv > /boot/loader/entries > /etc/grub2-efi.cfg > > That's why we need to remove grub2* packages. We should also drop /boot/efi in favor of either /boot or /efi, both of which sd-boot supports. It's possible none of the above is appropriate, and instead should be owned by bootupd or alternatively sd-boot, and mounted only on-demand in a location of the owner's choosing. These are not user or even sys admin serviceable partitions. They belong to the bootloader. And persistently mounting them has always been a weak design. -- Chris Murphy _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure