summaryrefslogtreecommitdiffstats
path: root/src/initramfs/scripts/init
diff options
context:
space:
mode:
Diffstat (limited to 'src/initramfs/scripts/init')
-rwxr-xr-xsrc/initramfs/scripts/init22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/initramfs/scripts/init b/src/initramfs/scripts/init
index 40641a36..3938c978 100755
--- a/src/initramfs/scripts/init
+++ b/src/initramfs/scripts/init
@@ -724,32 +724,32 @@ runinithook '40-started-hw-config'
union_type=""
if [ ${aufs} -eq 1 ]; then
aufs_in_kernel=$(grep -c aufs /proc/filesystems)
- if [ ${aufs_in_kernel} -ne 0 ]; then
+ if [ ${aufs_in_kernel} -eq 0 ]; then
modprobe ${MODPRV} aufs 2>/dev/null
- aufs_have_module=$(lsmod | grep -qe "^aufs")
- [ $(aufs_have_module) -ne 0 ] && union_type="AUFS"
+ aufs_have_module=$(lsmod | grep -ce "^aufs")
+ [ ${aufs_have_module} -ne 0 ] && union_type="AUFS"
else
union_type="AUFS"
fi
fi
-if [ ${unionfs} -eq 1 ]; then
+if [ -z ${union_type} -a ${unionfs} -eq 1 ]; then
unionfs_in_kernel=$(grep -c unionfs /proc/filesystems)
- if [ ${unionfs_in_kernel} -ne 0 ]; then
+ if [ ${unionfs_in_kernel} -eq 0 ]; then
modprobe ${MODPRV} unionfs 2>/dev/null
- unionfs_have_module=$(lsmod | grep -qe "^unionfs")
- [ $(unionfs_have_module) -ne 0 ] && union_type="UnionFS"
+ unionfs_have_module=$(lsmod | grep -ce "^unionfs")
+ [ ${unionfs_have_module} -ne 0 ] && union_type="UnionFS"
else
union_type="UnionFS"
fi
fi
-if [ ${fuse} -eq 1 ]; then
+if [ -z ${union_type} -a ! -z ${fuse} ]; then
fuse_in_kernel=$(grep -c fuse /proc/filesystems)
- if [ ${fuse_in_kernel} -ne 0 ]; then
+ if [ ${fuse_in_kernel} -eq 0 ]; then
modprobe ${MODPRV} fuse 2>/dev/null
- fuse_have_module=$(lsmod | grep -qe "^fuse")
- [ $(fuse_have_module) -ne 0 ] && union_type="Fuse"
+ fuse_have_module=$(lsmod | grep -ce "^fuse")
+ [ ${fuse_have_module} -ne 0 ] && union_type="Fuse"
else
union_type="Fuse"
fi