1*06dedb45SMauro Carvalho Chehab.. SPDX-License-Identifier: GPL-2.0 2*06dedb45SMauro Carvalho Chehab 3*06dedb45SMauro Carvalho Chehab======================================= 4*06dedb45SMauro Carvalho Chehabefivarfs - a (U)EFI variable filesystem 5*06dedb45SMauro Carvalho Chehab======================================= 6*06dedb45SMauro Carvalho Chehab 7*06dedb45SMauro Carvalho ChehabThe efivarfs filesystem was created to address the shortcomings of 8*06dedb45SMauro Carvalho Chehabusing entries in sysfs to maintain EFI variables. The old sysfs EFI 9*06dedb45SMauro Carvalho Chehabvariables code only supported variables of up to 1024 bytes. This 10*06dedb45SMauro Carvalho Chehablimitation existed in version 0.99 of the EFI specification, but was 11*06dedb45SMauro Carvalho Chehabremoved before any full releases. Since variables can now be larger 12*06dedb45SMauro Carvalho Chehabthan a single page, sysfs isn't the best interface for this. 13*06dedb45SMauro Carvalho Chehab 14*06dedb45SMauro Carvalho ChehabVariables can be created, deleted and modified with the efivarfs 15*06dedb45SMauro Carvalho Chehabfilesystem. 16*06dedb45SMauro Carvalho Chehab 17*06dedb45SMauro Carvalho Chehabefivarfs is typically mounted like this:: 18*06dedb45SMauro Carvalho Chehab 19*06dedb45SMauro Carvalho Chehab mount -t efivarfs none /sys/firmware/efi/efivars 20*06dedb45SMauro Carvalho Chehab 21*06dedb45SMauro Carvalho ChehabDue to the presence of numerous firmware bugs where removing non-standard 22*06dedb45SMauro Carvalho ChehabUEFI variables causes the system firmware to fail to POST, efivarfs 23*06dedb45SMauro Carvalho Chehabfiles that are not well-known standardized variables are created 24*06dedb45SMauro Carvalho Chehabas immutable files. This doesn't prevent removal - "chattr -i" will work - 25*06dedb45SMauro Carvalho Chehabbut it does prevent this kind of failure from being accomplished 26*06dedb45SMauro Carvalho Chehabaccidentally. 27