Re: efivar(8) status/usability/functionality in 15

From: Warner Losh <imp_at_bsdimp.com>
Date: Sat, 20 Jun 2026 17:54:34 UTC
On Sat, Jun 20, 2026 at 11:33 AM Daniel Lysfjord <
lysfjord.daniel@smokepit.net> wrote:

> On 2026-06-20 13:47, Anton Saietskii wrote:
> > Hi folks,
> >
> > After 15.1-R branched, I performed major upgrade and took the idea of
> > setting up Secure Boot from my personal backlog. As a preparation
> > step, wanted to see which EFI variables I have, but that failed:
> > $ sudo efivar -l
> > efivar: error listing variables: Function not implemented
> >
> > Tried to get variable that exists for sure but it also failed:
> > $ sudo efivar -n e11207ca-d4ad-11ee-928b-589cfc102103-Boot0000 -p
> > efivar: show variable: Function not implemented
> >
> > Of course, module is loaded:
> > $ kldstat -v | grep efi
> > 20    1 0xffffffff839a6000     46e9 efirt.ko (/boot/kernel/efirt.ko)
> >                 177 efidev
> >                 178 nexus/efirtc
> >                 176 efirt
> >
> > And basically every command (except '-w' which I haven't verified
> > because I can't read variables, and '-L' which lists some GUIDs) fails
> > and efivar feels like a stub (at first glance it all was the same on
> > 14). If I'm doing something wrong--I'd love to see some success
> > stories.
> >
> > //CC: imp@ who's the only effective committer for the path of utility.
> > Please let me know if this is unwelcome.
> >
> > --
> > wbr,
> > Anton
>
> On a 14.4-system it seems to work, so that's something, I guess?
>
> # freebsd-version -kru
> 14.4-RELEASE-p6
> 14.4-RELEASE-p6
> 14.4-RELEASE-p6
> # efivar -l | wc -l
>        75
> # efivar -n 8be4df61-93ca-11d2-aa0d-00e098032b8c-SecureBoot
> 8be4df61-93ca-11d2-aa0d-00e098032b8c-SecureBoot
> 0000: 00
> # kldstat -v | grep -i efi
>                  102 efidev
>                  104 nexus/efirtc
>                  322 pvefirt
>                  103 efirt
> # grep -i efi /var/log/dmesg.yesterday
> VT(efifb): resolution 1024x768
> efirtc0: <EFI Realtime Clock>
> efirtc0: registered as a time-of-day clock, resolution 1.000000s
>
> I tried to check on a 15.0 VM, but that one seems angry:
> # efivar -l | wc -l
> efivar: Error listing names: No such file or directory
>         0
> # efibootmgr
> efibootmgr: efi variables not supported on this system. kldload efirt?
> # kldstat -v | grep -i efi
>                  100 efidev
>                  102 nexus/efirtc
>                  322 pvefirt
>                  101 efirt
> # dmesg | grep -i efi
> #
>
> Probably not too much helpful information..
>

can you share truss efivar and truss efibootmgr please?

Warner