commit:     ef867ef851f01dac7713c09c7504b6904a99ca51
Author:     Rick Farina (Zero_Chaos) <zerochaos <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  4 16:18:54 2018 +0000
Commit:     Richard Farina <zerochaos <AT> gentoo <DOT> org>
CommitDate: Wed Apr  4 16:18:54 2018 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=ef867ef8

refactor away from using /proc/config.gz and refactor /proc/filesystems usage 
to be uniform

 defaults/initrd.scripts | 27 ++++++++++++++-------------
 defaults/linuxrc        |  4 ----
 2 files changed, 14 insertions(+), 17 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 5c73bfc..173092f 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -605,6 +605,7 @@ setup_overlayfs() {
 
         good_msg "Loading overlayfs"
         modprobe overlay > /dev/null 2>&1
+       checkfs overlay
 
         mount -t squashfs -o loop,ro "$CDROOT_PATH/$LOOPEXT$LOOP" "${static}"
         mount -t tmpfs none "${overlay}"
@@ -762,11 +763,11 @@ fs_type_in_use() {
        cut -d ' ' -f 3 < /proc/mounts | fgrep -q "${fs_type}"
 }
 
-mount_devfs () {
+mount_devfs() {
        # Use devtmpfs if enabled in kernel,
        # else tmpfs. Always run mdev just in case
        devfs=tmpfs
-       if grep -qs devtmpfs /proc/filesystems ; then
+       if checkfs devtmpfs > /dev/null ; then
                devfs=devtmpfs
        fi
 
@@ -1434,7 +1435,7 @@ startLUKS() {
 
        # if key is set but neither ssh enabled or key device is given, find
        # the key device
-       
+
        if [ -e "/usr/sbin/dropbear" ]; then
                startdropbear
        fi
@@ -1671,6 +1672,7 @@ setup_squashfs_aufs() {
 
        good_msg "Loading aufs module ..."
        modprobe aufs &>/dev/null
+       checkfs aufs
 
         mount -t squashfs -o loop,ro "$CDROOT_PATH/$LOOPEXT$LOOP" 
"$aufs_ro_branch"
        mount -t tmpfs none "$aufs_rw_branch"
@@ -1788,16 +1790,15 @@ strip_mount_options()
                 -e 's/(,|^)iversion(,|$)/,/g'
 }
 
-checkzconfig() {
-  if [ -r "/proc/config.gz" ]; then
-    if zcat /proc/config.gz | grep -E "CONFIG_${1}=(m|y)" 1>/dev/null;
-    then
-     return 0
-    fi
-  fi
+checkfs()
+       if [ -r "/proc/filesystems" ]; then
+               if grep -qs "$1" /proc/filesystems ; then
+                       return 0
+               fi
+       fi
 
-  warn_msg "No CONFIG_${1} support"
-  warn_msg "${1} is not guarantee to work on this medium"
+       warn_msg "No ${1} support listed in /proc/filesystems"
+       warn_msg "${1} is not likely to work on this medium"
 
-  return 1
+       return 1
 }

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 6464280..80e1938 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -261,11 +261,9 @@ do
     ;;
     aufs)
       aufs=1
-      checkzconfig AUFS_FS
     ;;
                aufs\=*)
       aufs=1
-      checkzconfig AUFS_FS
                        if echo "${x#*=}" | grep , &>/dev/null; then
                                aufs_dev_uid=${x#*,}
                                aufs_dev=${x%,*}
@@ -280,11 +278,9 @@ do
                ;;
     overlayfs)
       overlayfs=1
-      checkzconfig OVERLAY_FS
     ;;
   overlayfs\=*)
     overlayfs=1
-    checkzconfig OVERLAY_FS
     if echo "${x#*=}" | grep , &>/dev/null; then
       overlayfs_dev_uid=${x#*,}
       overlayfs_dev=${x%,*}

Reply via email to