efivarfs fails with `No such device` when EFI runtime is missing

From: Paul Menzel
Date: Tue May 11 2021 - 16:55:09 EST


Dear Linux folks,


I migrated a 32-bit GNU/Linux installation from BIOS to EFI. Trying to edit the entries in UEFI’s Boot Manager with `efibootmgr`, I got the error:

EFI variables are not supported on this system

`sudo modprobe efivarfs` fails with

No such device

After several tries, I found

[ 0.000000] efi: No EFI runtime due to 32/64-bit mismatch with kernel

logged by Linux, and then I found the Stack Overflow thread *How could 32bit kernel read efivars from 64bit UEFI?* [1].

I would have thought, setting EFI variables is just directly writing to some storage. But probably not.

Could the error message for the efivarfs load failure be improved, that *device* means the runtime service (if I am not mistaken)?


Kind regards,

Paul


[1]: https://stackoverflow.com/questions/46610442/how-could-32bit-kernel-read-efivars-from-64bit-uefi