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):
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
/boot/efi/fedora/grubenv is not updated as can be seen with the following command:
$ grub2-editenv /boot/efi/fedora/grubenv list
/boot/efi/fedora/grubenv should be updated with the new kernel arguments
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:
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.