On 02/07/2020 06:56, Peter Humphrey wrote:
> But then,
> # bootctl set-default 30-gentoo-5.7.7.conf
> Failed to update EFI variable: Invalid argument

Probably the kernel is blocking write access to EFI. This is on purpose
for safety as you can damage your firmware quite easily. systemd-boot
and others do not have this restriction. You also should be careful
writing to the EFI too much as the NVRAM flash may not be of high quality.

https://lwn.net/Articles/674940/

You can try using `chattr -i` against the files like:

chattr -i /sys/firmware/efi/efivars/Boot*

Then you can try with bootctl and others, but this is not guaranteed to
work.

On my ASUS motherboard I haven't been able to write to EFI variables
from within Linux for a long time. I have to add my keys in the BIOS and
set the default in systemd-boot.

The logic to write to a file in efivars is here:

https://github.com/torvalds/linux/blob/master/fs/efivarfs/file.c#L15

If you use strace with bootctl you'll probably see one of these errno
values.

Andrew

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to