Mauro Carvalho Chehab | 06dedb4 | 2020-02-17 17:12:00 +0100 | [diff] [blame] | 1 | .. SPDX-License-Identifier: GPL-2.0 |
Matt Fleming | e913ca7 | 2012-10-04 09:57:31 +0100 | [diff] [blame] | 2 | |
Mauro Carvalho Chehab | 06dedb4 | 2020-02-17 17:12:00 +0100 | [diff] [blame] | 3 | ======================================= |
Matt Fleming | e913ca7 | 2012-10-04 09:57:31 +0100 | [diff] [blame] | 4 | efivarfs - a (U)EFI variable filesystem |
Mauro Carvalho Chehab | 06dedb4 | 2020-02-17 17:12:00 +0100 | [diff] [blame] | 5 | ======================================= |
Matt Fleming | e913ca7 | 2012-10-04 09:57:31 +0100 | [diff] [blame] | 6 | |
| 7 | The efivarfs filesystem was created to address the shortcomings of |
| 8 | using entries in sysfs to maintain EFI variables. The old sysfs EFI |
| 9 | variables code only supported variables of up to 1024 bytes. This |
| 10 | limitation existed in version 0.99 of the EFI specification, but was |
| 11 | removed before any full releases. Since variables can now be larger |
| 12 | than a single page, sysfs isn't the best interface for this. |
| 13 | |
| 14 | Variables can be created, deleted and modified with the efivarfs |
| 15 | filesystem. |
| 16 | |
Mauro Carvalho Chehab | 06dedb4 | 2020-02-17 17:12:00 +0100 | [diff] [blame] | 17 | efivarfs is typically mounted like this:: |
Matt Fleming | e913ca7 | 2012-10-04 09:57:31 +0100 | [diff] [blame] | 18 | |
| 19 | mount -t efivarfs none /sys/firmware/efi/efivars |
Peter Jones | ed8b0de | 2016-02-08 14:48:15 -0500 | [diff] [blame] | 20 | |
| 21 | Due to the presence of numerous firmware bugs where removing non-standard |
| 22 | UEFI variables causes the system firmware to fail to POST, efivarfs |
| 23 | files that are not well-known standardized variables are created |
| 24 | as immutable files. This doesn't prevent removal - "chattr -i" will work - |
| 25 | but it does prevent this kind of failure from being accomplished |
| 26 | accidentally. |