Linux – How to add booting parameters to the kernel with bcfg from the EFI shell


efibootmgr is creating invalid entries in the EFI boot menu. For instance efibootmgr -c -d /dev/sdX -p Y -l /EFI/refind/refind_x64.efi -L "rEFInd Boot Manager" adds an unbootable japanese characters in the boot menu.

On the other hand bcfg boot add 3 fs0:\EFI\refind\refind_x64.efi "rEFInd" works just fine.

Now I would like to boot directly onto vmlinuz-linux instead of passing through refind. Does anyone have an idea on how to pass parameters to the kernel ? Without the paramaters it's : bcfg boot add 3 fs0:\vmlinuz-linux "linux" but what option do I need to use to add initrd=\initramfs-linux.img root=/dev/sda2 ?


Best Answer

  • I am encountering the same situation. I believe the solution will involve the use of the -opt parameter either in-line with the add or as an additional command. So far though I have not had success putting all of the parameters in a quoted string. My next attempt will be to create a file using edit and passing the filename using -opt.

    If you succeed, please update this thread.

    So, in the uefi shell I used edit to create an opt file on the media at the same location as the kernel. In it I placed the kernel options on a single line. I then used the command bcfg boot -opt 0 FS0:\filename You may need to use a different FS number, -opt number and filename to match your configuration.

  • Related Question