Fedora Account System
Red Hat Associate
Red Hat Customer
Description of problem: On a system where /boot has been formatted with VFAT (as recommended by the original boot loader specification), the symbolic link /boot/grub2/grubenv does not work. This would not be a problem on UEFI systems except that grub2-mkconfig is writing to the symbolic link instead of writing directly to the grubenv file on the ESP. In my opinion, grub2-mkconfig should not be looking for or writing to files under /boot/grub2 on UEFI systems. It should write directly to the files in the area designated for UEFI config files -- $ESP/efi/fedora. Version-Release number of selected component (if applicable): grub2-efi-x64-2.02-78.fc30.x86_64 How reproducible: Always Steps to Reproduce: 1. Format $BOOT with VFAT and use it directly as $ESP 2. sed -i '/^GRUB_CMDLINE_LINUX=/s/"$/ test1"/' /etc/default/grub 3. grub2-mkconfig -o /boot/efi/fedora/grub.cfg Actual results: /boot/efi/fedora/grubenv is not updated as can be seen with the following command: $ grub2-editenv /boot/efi/fedora/grubenv list Expected results: /boot/efi/fedora/grubenv should be updated with the new kernel arguments Additional info: This was not an issue in previous releases of Fedora. In previous versions, the kernel arguments were stored in the grub.cfg file under the correct directory ($ESP/efi/fedora). Link to original boot loader specification: https://systemd.io/BOOT_LOADER_SPECIFICATION#technical-details
We don't support mounting the ESP as /boot, and we're not planning on supporting doing so.
So how is that going to work when BLS becomes more standardized and the UEFI firmware in PCs start reading the loader/entries files and kernels directly? I believe this *should* be supported. It is the original idea behind the BLS concept -- one common boot/esp for all the OSs to share. Really, the kernel arguments should be in the loader/entries files, not grubenv.