You are not logged in.
Hi. I feel like I am missing something incredibly obvious but can't figure out what. I am using efi boot stub and efibootmgr to boot my desktop and have for years. Arch and Windows all boot up just fine, but it seems now that I'm unable to update the kernel command line parameters so they are recognized when the machine boots.
For example, I have a little script with this line in it:
efibootmgr -c -d /dev/nvme0n1 -p 1 -L 'Arch Linux' -l \vmlinuz-linux -u 'root=/dev/nvme0n1p5 rw initrd=\initramfs-linux.img module_blacklist=nouveau amdgpu.reset_method=0 iommu=pt vfio-pci.ids=1002:13c0,1002:1640' --unicode
That updates my boot entry exactly as I'd expect. Note that there is only one entry for Arch so I can't possibly be booting the wrong one.
[root@ryzen ~]# efibootmgr --unicode
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0002,0003,0004
Boot0000* Arch Linux HD(1,GPT,e025cf65-1992-45ab-88e1-5e996581251e,0x800,0x1f4000)/vmlinuz-linuxroot=/dev/nvme0n1p5 rw initrd=\initramfs-linux.img module_blacklist=nouveau amdgpu.reset_method=0 iommu=pt vfio-pci.ids=1002:13c0,1002:1640
Boot0001* Windows Boot Manager HD(1,GPT,e025cf65-1992-45ab-88e1-5e996581251e,0x800,0x1f4000)/\EFI\Microsoft\Boot\bootmgfw.efi
Boot0002* UEFI:CD/DVD Drive BBS(129,,0x0)
Boot0003* UEFI:Removable Device BBS(130,,0x0)
Boot0004* UEFI:Network Device BBS(131,,0x0)
Reboot and I get a much simpler cmdline output that I had been using some time ago. Numerous parameters like "amdgpu.reset_method=0" and "vfio-pci.ids=1002:13c0,1002:1640" are missing.
[root@ryzen ~]# uname -r
6.14.2-arch1-1
[root@ryzen ~]# cat /proc/cmdline
root=/dev/nvme0n1p5 rw initrd=\initramfs-linux.img module_blacklist=nouveau iommu=pt
Instead of
root=/dev/nvme0n1p5 rw initrd=\initramfs-linux.img module_blacklist=nouveau amdgpu.reset_method=0 iommu=pt vfio-pci.ids=1002:13c0,1002:1640
And it isn't just a matter of the length of the line. I intentionally put "amdgpu.reset_method=0" between "module_blacklist=nouveau" and "iommu=pt" and that isn't getting picked up.
It is like I am missing a step after running efibootmgr?
Last edited by DeKay (2025-04-28 16:33:32)
Offline
man efibootmgr
take a close look at
-u | --unicode
they're both the same - hence: have you tried removing the second --unicode at the end?
Offline
man efibootmgr
take a close look at
-u | --unicode
they're both the same - hence: have you tried removing the second --unicode at the end?
OMG. I removed the second --unicode at the end and it worked. THANK YOU SO MUCH @cryptearth!!!
[dk@ryzen ~]$ cat /proc/cmdline
root=/dev/nvme0n1p5 rw initrd=\initramfs-linux.img module_blacklist=nouveau amdgpu.reset_method=0 iommu=pt vfio-pci.ids=1002:13c0,1002:1640
I think I added it initially thinking that it needed to be there to properly display its output after writing the parameters I specified because I certainly need to use "efibootmgr -v --unicode" to see what the current settings are.
I can't believe it seemed to work but really wasn't. Thanks again and I'll edit the title to mark as solved.
Offline
honestly it was just a wild guess in the blue - but glad to hear it actually did work - and also thanks for the active reply
Offline