summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2013-06-24 19:31:58 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2013-06-24 19:31:58 +0000
commit29f0f55c0e7debef879674ed288c1d3af0f84772 (patch)
tree91dbb13c7038feb7fe9cad7902026e57c0560a1c
parente451d173faeef52bd4723a50363e37e6d481521f (diff)
downloadopenrc-29f0f55c0e7debef879674ed288c1d3af0f84772.tar.gz
openrc-29f0f55c0e7debef879674ed288c1d3af0f84772.tar.bz2
openrc-29f0f55c0e7debef879674ed288c1d3af0f84772.tar.xz
efivarfs: Support EFI variable access in 3.10 kernels.
In the 3.10 kernel, EFI variables are now provided by a dedicated filesystem that needs to be mounted. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-rw-r--r--init.d/sysfs.in14
1 files changed, 14 insertions, 0 deletions
diff --git a/init.d/sysfs.in b/init.d/sysfs.in
index 114a653..7658cb5 100644
--- a/init.d/sysfs.in
+++ b/init.d/sysfs.in
@@ -81,6 +81,20 @@ mount_misc()
eend $?
fi
fi
+
+ # setup up kernel support for efivarfs
+ # slightly complicated, as if it's build as a module but NOT yet loaded,
+ # it will NOT appear in /proc/filesystems yet
+ if [ -d /sys/firmware/efi/efivars ] \
+ && ! mountinfo -q /sys/firmware/efi/efivars; then
+ modprobe -q efivarfs
+ if grep -qs efivarfs /proc/filesystems; then
+ ebegin "Mounting efivarfs filesystem"
+ mount -n -t efivarfs -o ${sysfs_opts} \
+ efivarfs /sys/firmware/efi/efivars
+ eend $?
+ fi
+ fi
}
mount_cgroups()