On 3/21/24 19:51, Aaron Puchert wrote:
Am 21.03.24 um 22:54 schrieb Joe Salmeri:
Just found this link on another forum
https://forum.garudalinux.org/t/efivars-is-full-is-this-a-problem/34616/13
IS it a problem for the efivars directory to be full?
It is not a problem. /sys/firmware is not a “real” filesystem, it is part of a RAM-based filesystem called sysfs.
I'm afraid that is wrong, because it mixes up two different filesystems. Yes, /sys hosts a sysfs that lives in memory and should have no size limitation. But there is an efivarfs file system at /sys/firmware/efi/efivars, and that has a size limitation (what df shows). In fact there are quite a few more:
$ awk '$2 ~ /^\/sys/ {print $1, $2}' /proc/mounts sysfs /sys securityfs /sys/kernel/security cgroup2 /sys/fs/cgroup pstore /sys/fs/pstore efivarfs /sys/firmware/efi/efivars bpf /sys/fs/bpf debugfs /sys/kernel/debug tracefs /sys/kernel/tracing fusectl /sys/fs/fuse/connections configfs /sys/kernel/config
Apparently, only efivarfs has a size limitation. (pstore is also quite limited, but df doesn't show anything for me.)
Since sysfs resides in memory, it is kind of a temporary structure that gets recreated fresh at every boot. There is no need to make it larger than whatever virtual files it needs to contain, so usually it appears to be full or nearly full.
Does it?
$ df /sys Filesystem 1K-blocks Used Available Use% Mounted on sysfs 0 0 0 - /sys
NVRAM and EFI boot variables are not related to the sysfs virtual filesystem.
Right, but they are related to efivarfs.
Thanks Aaron, I was a little skepticle of some of what I read there but this is not an area I have a lot of experience with. It is my understanding that those variables are stored in NVRAM which I would expect would have a fixed size which would vary between different motherboards. -- Regards, Joe