From f1354b8af9e4144b544122bdc586b0d2a768a4e2 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Thu, 29 Mar 2012 12:54:27 +0200 Subject: [PATCH] fstab-sys: also include the module, if --add-fstab was specified also fixup the logic what and when to mount. first initramfs/etc/fstab is mounted $NEWROOT/etc/fstab.sys takes precendence over initramfs/etc/fstab.sys --- dracut.sh | 2 +- modules.d/95fstab-sys/module-setup.sh | 4 ++-- modules.d/95fstab-sys/mount-sys.sh | 13 +++++++++---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/dracut.sh b/dracut.sh index d68e563..ff5079c 100755 --- a/dracut.sh +++ b/dracut.sh @@ -632,7 +632,7 @@ export initdir dracutbasedir dracutmodules drivers \ add_drivers omit_drivers mdadmconf lvmconf filesystems \ use_fstab fstab_lines libdir usrlibdir fscks nofscks \ stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \ - debug host_fs_types host_devs sshkey + debug host_fs_types host_devs sshkey add_fstab # Create some directory structure first [[ $prefix ]] && mkdir -m 0755 -p "${initdir}${prefix}" diff --git a/modules.d/95fstab-sys/module-setup.sh b/modules.d/95fstab-sys/module-setup.sh index 0dc12f3..7589d74 100755 --- a/modules.d/95fstab-sys/module-setup.sh +++ b/modules.d/95fstab-sys/module-setup.sh @@ -3,7 +3,7 @@ # ex: ts=8 sw=4 sts=4 et filetype=sh check() { - test -f /etc/fstab.sys || [[ -n $use_fstab || -n $fstab_lines ]] + test -f /etc/fstab.sys || [[ -n $add_fstab || -n $fstab_lines ]] } depends() { @@ -11,6 +11,6 @@ depends() { } install() { - inst /etc/fstab.sys /etc/fstab + [ -f /etc/fstab.sys ] && inst /etc/fstab.sys inst_hook pre-pivot 00 "$moddir/mount-sys.sh" } diff --git a/modules.d/95fstab-sys/mount-sys.sh b/modules.d/95fstab-sys/mount-sys.sh index 54415d1..895eb58 100755 --- a/modules.d/95fstab-sys/mount-sys.sh +++ b/modules.d/95fstab-sys/mount-sys.sh @@ -19,13 +19,18 @@ fstab_mount() { if [ -d "$NEWROOT/$_mp" ]; then mount -v -t $_fs -o $_opts $_dev "$NEWROOT/$_mp" 2>&1 | vinfo else - mkdir -p "$_mp" + [ -d "$_mp" ] || mkdir -p "$_mp" mount -v -t $_fs -o $_opts $_dev $_mp 2>&1 | vinfo fi done < $1 return 0 } -for r in $NEWROOT/etc/fstab.sys /etc/fstab; do - fstab_mount $r && break -done +[ -f /etc/fstab ] && fstab_mount /etc/fstab + +# prefer $NEWROOT/etc/fstab.sys over local /etc/fstab.sys +if [ -f $NEWROOT/etc/fstab.sys ]; then + fstab_mount $NEWROOT/etc/fstab.sys +elif [ -f /etc/fstab.sys ]; then + fstab_mount /etc/fstab.sys +fi -- 2.7.4