[Bug 269564] efibootmgr does not work when using gptlabels
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 269564] efibootmgr -E not working any more"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 15 Feb 2023 16:46:41 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269564 Warner Losh <imp@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |imp@FreeBSD.org --- Comment #2 from Warner Losh <imp@FreeBSD.org> --- So, the problem here is that we have to walk through the geom tables to find the device the drive is on and then use that to get the meida id we need to create the UEFI path. tl;dr: The code knows about gpart, but not glabel. It can't do it generically in geom because what do you say for gmirror / gstripe and other one to many and many to one mappings of multiple devices (the many to one in glabel at least is fine in that there's no ambiguity). All that code is in libefivar/efivar-dp-xlate.c:find_geom_efi_on_root has the code that I ran out of time debugging to try to make this work. So all the walking is effectively commented out. There's also find_geom_efimedia which handles the well-formed cases in gpart. I'm unsure when I'll get back to this, so I'm just commenting to maybe save people some time and to offer to review if somebody gets to this before I can scratch this itch. -- You are receiving this mail because: You are the assignee for the bug.