]> git.proxmox.com Git - pve-installer.git/commit - unconfigured.sh
mount efivarfs to ensure we can read bigger variables
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 8 Jul 2019 14:13:23 +0000 (16:13 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 8 Jul 2019 14:21:07 +0000 (16:21 +0200)
commitf238dd03ab1e19ecfaca93843ef02b05680e991c
treebb26b27e81a40ebdaf89f95ffef7095b3e1ef9fc
parent3befbf9770f94dd87c4f982cc69c1f9267d1ff54
mount efivarfs to ensure we can read bigger variables

In short, EFI variables can get quite big, and the old sysfs
interface was made for when they couldn't. A few firmwares out there
have such big variables, and if those are accessed through the sysfs
backed interface one gets a "Input/Output Error". 'grub-install'
chokes on that error when it iterates over all variables to do it's
stuff, and thus fails our installation. When we mount the efivarfs,
which does not has this limitations, one can read all variables just
fine - at least as long as the NVRAM backing them is not broken.

from Linux Kernel Documentation/filesystems/efivarfs.txt:
> The efivarfs filesystem was created to address the shortcomings of
> using entries in sysfs to maintain EFI variables. The old sysfs EFI
> variables code only supported variables of up to 1024 bytes. This
> limitation existed in version 0.99 of the EFI specification, but was
> removed before any full releases. Since variables can now be larger
> than a single page, sysfs isn't the best interface for this.
> Variables can be created, deleted and modified with the efivarfs
> filesystem.

Also mount it in the installer environment for debugging purpose.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
proxinstall
unconfigured.sh