Re: efivar(8) status/usability/functionality in 15
Warner Losh <[email protected]> Sat, 20 Jun 2026 13:54:34 -0400
| Newsgroups | gmane.os.freebsd.stable |
|---|---|
| Message-ID | <CANCZdfohRLkezJDewiObm=sdMC=VKEH-JdNdHS5q4PY6riniMg@mail.gmail.com> |
--000000000000cbab9a0654b31afb Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Jun 20, 2026 at 11:33=E2=80=AFAM Daniel Lysfjord < [email protected]> 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 --000000000000cbab9a0654b31afb Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote g= mail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Jun 20,= 2026 at 11:33=E2=80=AFAM Daniel Lysfjord <<a href=3D"mailto:lysfjord.da= [email protected]">[email protected]</a>> wrote:<br></div><bl= ockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-lef= t:1px solid rgb(204,204,204);padding-left:1ex">On 2026-06-20 13:47, Anton S= aietskii wrote:<br> > Hi folks,<br> > <br> > After 15.1-R branched, I performed major upgrade and took the idea of<= br> > setting up Secure Boot from my personal backlog. As a preparation<br> > step, wanted to see which EFI variables I have, but that failed:<br> > $ sudo efivar -l<br> > efivar: error listing variables: Function not implemented<br> > <br> > Tried to get variable that exists for sure but it also failed:<br> > $ sudo efivar -n e11207ca-d4ad-11ee-928b-589cfc102103-Boot0000 -p<br> > efivar: show variable: Function not implemented<br> > <br> > Of course, module is loaded:<br> > $ kldstat -v | grep efi<br> > 20=C2=A0 =C2=A0 1 0xffffffff839a6000=C2=A0 =C2=A0 =C2=A046e9 efirt.ko = (/boot/kernel/efirt.ko)<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0177 efide= v<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0178 nexus= /efirtc<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0176 efirt= <br> > <br> > And basically every command (except '-w' which I haven't v= erified<br> > because I can't read variables, and '-L' which lists some = GUIDs) fails<br> > and efivar feels like a stub (at first glance it all was the same on<b= r> > 14). If I'm doing something wrong--I'd love to see some succes= s<br> > stories.<br> > <br> > //CC: imp@ who's the only effective committer for the path of util= ity.<br> > Please let me know if this is unwelcome.<br> > <br> > --<br> > wbr,<br> > Anton<br> <br> On a 14.4-system it seems to work, so that's something, I guess?<br> <br> # freebsd-version -kru<br> 14.4-RELEASE-p6<br> 14.4-RELEASE-p6<br> 14.4-RELEASE-p6<br> # efivar -l | wc -l<br> =C2=A0 =C2=A0 =C2=A0 =C2=A075<br> # efivar -n 8be4df61-93ca-11d2-aa0d-00e098032b8c-SecureBoot<br> 8be4df61-93ca-11d2-aa0d-00e098032b8c-SecureBoot<br> 0000: 00<br> # kldstat -v | grep -i efi<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0102 efidev<br= > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0104 nexus/efi= rtc<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0322 pvefirt<b= r> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0103 efirt<br> # grep -i efi /var/log/dmesg.yesterday<br> VT(efifb): resolution 1024x768<br> efirtc0: <EFI Realtime Clock><br> efirtc0: registered as a time-of-day clock, resolution 1.000000s<br> <br> I tried to check on a 15.0 VM, but that one seems angry:<br> # efivar -l | wc -l<br> efivar: Error listing names: No such file or directory<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 0<br> # efibootmgr<br> efibootmgr: efi variables not supported on this system. kldload efirt?<br> # kldstat -v | grep -i efi<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0100 efidev<br= > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0102 nexus/efi= rtc<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0322 pvefirt<b= r> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0101 efirt<br> # dmesg | grep -i efi<br> #<br> <br> Probably not too much helpful information..<br></blockquote><div><br></div>= <div>can you share truss efivar and truss efibootmgr please?</div><div><br>= </div><div>Warner=C2=A0</div></div></div> --000000000000cbab9a0654b31afb--