The boot options for the selected boot entry does not reveal any information about the partition. This is from bootctl utility: System: Machine ID: e175a86a8ac145f78a9bdc62b4d27f25 Boot ID: 1f39b9c0ed454a2cb9db0a1ebd0fda33 Firmware: UEFI 2.40 (EDK II 1.00) Secure Boot: disabled Setup Mode: setup Selected Firmware Entry: Title: EFI Hard Drive Partition: n/a Boot Loader: Product: gummiboot 45 Partition: /dev/disk/by-partuuid/fa592eba-3242-4575-99a2-e52d8a830142 File: └─/EFI/BOOT/BOOTX64.EFI Normally the Partition: n/a from Selected Firmware Entry should resolve to the same Partition information from Boot Loader. Checking with efibootmgr I see that the partition information is missing: BootCurrent: 0001 Timeout: 5 seconds BootOrder: 0001,0002,0000 Boot0000* EFI Internal Shell FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5) Boot0001* EFI Hard Drive ACPI(a0341d0,0)PCI(12,0)Controller(0) Boot0002* EFI Network ACPI(a0341d0,0)PCI(1c,2)PCI(0,0)MAC(MAC(001320fe319e,0) For boot entry 0001, it misses the HD() entry providing the UUID.
Not HW this is Frimware
Thanks Marcel, I will check the information about partition.
Hi Marcel, Our BIOS can reach device level with Device Path of EFI Hard Drive,not reach Partition level with Device Path of EFI Hard Drive. If you want to need Partition information from Boot Loader,maybe Yocto OS will involved in to investigate it.
More detail from me and Shifei: Boot0001* EFI Hard Drive ACPI(a0341d0,0)PCI(12,0)Controller(0) Above boot option "Boot0001* EFI Hard Drive" is the path of hard drive, not the file path pointing to boot loader file (BOOTX64.EFI). When user selec to boot from this device, BIOS searchs for boot loader file (BOOTX64.EFI) within this HDD. This formate is not a bug. Typically there is another boot option whose path does contains the bootable partition's name and the boot loader file's name. But that boot option is not generated by BIOS, it is generated by OS boot loader itself. Take Microsoft Windows for example, Windows boot loader adds a "Windows Boot Manager" option into the boot menu at the first boot. So I re-assgin this bug to Marcel Holtmann to continue investigating from OS loader side.
Matt, wondering if you can add some experience here. Does look like an OS or a firmware issue to you?
Hard to say. Can someone use efibootmgr to create a new boot entry with a partition and loader option? Something like, efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\BOOT\\BOOTX64.EFI -L "Test loader" should do the trick. Then update this report with the output of efibootmgr -v.
The UEFI BIOS also has an integrated function which allow user to add "<Partition>\\EFI\\BOOT\\BOOTX64.EFI" as a new boot option. Please enter BIOS Setup, then go into "Boot Maintenance Manager -> Boot options -> Add Boot Option", which will list out the bootable BOOTX64.EFI for you to add. Basically, the path of directory where boot loader is stored, such as "\\EFI\\BOOT\\BOOTX64.EFI", should be OS specific. It is not defined by UEFI specification. As you know, our current BIOS could automatically boot from Yocto OS loader "\\EFI\\BOOT\\BOOTX64.EFI" even there is no such a boot option pointing to this file. That's because this path, which is treated as a "well known OS laoder" path by our BIOS, along with its partition path, are appened to the device path of SD controller "ACPI(a0341d0,0)PCI(12,0)Controller(0)" to form a full path. But I think this is only a enhancement from BIOS side. It cannot cover the job what OS/OS loader should do.
Marcell can you double check what Matt and David were saying?
Following Matt's suggestion, with 0.77 and a 3.19 kernel, test loader is added and seems to work. I'm going to close, if this is incorrect please re-open