diff options
author | William Hubbs <w.d.hubbs@gmail.com> | 2016-10-04 11:51:24 -0500 |
---|---|---|
committer | William Hubbs <w.d.hubbs@gmail.com> | 2016-10-04 12:06:58 -0500 |
commit | 6a0c033a64ce18056625cd37a94b9810dc5784e3 (patch) | |
tree | b90fa247c41567704981e85948b3af1ae4c703e9 | |
parent | 6710316a18c33601e780282e72c60f09b5175280 (diff) |
init.d/sysfs: fix efivarfs handling
Separate loading the module, if it isn't built in or loaded, from
mounting the file system.
This also makes sure the warning about configuring the module in
/etc/conf.d/modules or building it in is displayed only if it is loaded
successfully.
X-Gentoo-Bug: 595836
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=595836
-rw-r--r-- | init.d/sysfs.in | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/init.d/sysfs.in b/init.d/sysfs.in index b9478f85..acaae16f 100644 --- a/init.d/sysfs.in +++ b/init.d/sysfs.in @@ -98,15 +98,13 @@ mount_misc() 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 - if modprobe -q efivarfs; then - ewarn "The efivarfs module needs to be configured in" \ - "@SYSCONFDIR@/conf.d/modules or built in" - fi + # set up kernel support for efivarfs + if [ ! -d /sys/module/efivarfs ] && modprobe -q efivarfs; then + ewarn "The efivarfs module needs to be configured in " \ + "@SYSCONFDIR@/conf.d/modules or built in" + fi + if [ -d /sys/firmware/efi/efivars ] && + ! mountinfo -q /sys/firmware/efi/efivars; then if grep -qs efivarfs /proc/filesystems; then ebegin "Mounting efivarfs filesystem" mount -n -t efivarfs -o ${sysfs_opts} \ |