blob: 0551985821b889b064b909737bccd12f7d98cf01 [file] [log] [blame]
Mauro Carvalho Chehab06dedb42020-02-17 17:12:00 +01001.. SPDX-License-Identifier: GPL-2.0
Matt Fleminge913ca72012-10-04 09:57:31 +01002
Mauro Carvalho Chehab06dedb42020-02-17 17:12:00 +01003=======================================
Matt Fleminge913ca72012-10-04 09:57:31 +01004efivarfs - a (U)EFI variable filesystem
Mauro Carvalho Chehab06dedb42020-02-17 17:12:00 +01005=======================================
Matt Fleminge913ca72012-10-04 09:57:31 +01006
7The efivarfs filesystem was created to address the shortcomings of
8using entries in sysfs to maintain EFI variables. The old sysfs EFI
9variables code only supported variables of up to 1024 bytes. This
10limitation existed in version 0.99 of the EFI specification, but was
11removed before any full releases. Since variables can now be larger
12than a single page, sysfs isn't the best interface for this.
13
14Variables can be created, deleted and modified with the efivarfs
15filesystem.
16
Mauro Carvalho Chehab06dedb42020-02-17 17:12:00 +010017efivarfs is typically mounted like this::
Matt Fleminge913ca72012-10-04 09:57:31 +010018
19 mount -t efivarfs none /sys/firmware/efi/efivars
Peter Jonesed8b0de2016-02-08 14:48:15 -050020
21Due to the presence of numerous firmware bugs where removing non-standard
22UEFI variables causes the system firmware to fail to POST, efivarfs
23files that are not well-known standardized variables are created
24as immutable files. This doesn't prevent removal - "chattr -i" will work -
25but it does prevent this kind of failure from being accomplished
26accidentally.
Flavio Suligoi2dcc51b2020-05-19 10:41:27 +020027
28.. warning ::
29 When a content of an UEFI variable in /sys/firmware/efi/efivars is
30 displayed, for example using "hexdump", pay attention that the first
31 4 bytes of the output represent the UEFI variable attributes,
32 in little-endian format.
33
34 Practically the output of each efivar is composed of:
35
36 +-----------------------------------+
37 |4_bytes_of_attributes + efivar_data|
38 +-----------------------------------+
39
40*See also:*
41
42- Documentation/admin-guide/acpi/ssdt-overlays.rst
43- Documentation/ABI/stable/sysfs-firmware-efi-vars