Re: efivar(8) status/usability/functionality in 15
Daniel Lysfjord <[email protected]> Sat, 20 Jun 2026 17:32:50 +0200
| Newsgroups | gmane.os.freebsd.stable |
|---|---|
| Message-ID | <[email protected]> |
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..