[Bug 269564] efibootmgr does not work when using gptlabels

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 15 Feb 2023 16:46:41 UTC

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.