summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authormaximilian attems <maks@debian.org>2006-08-25 17:04:33 +0200
committermaximilian attems <maks@debian.org>2006-08-25 17:04:33 +0200
commit45989c9f37db0ef23e984ea559f2da784a028366 (patch)
tree7412695c5971e3bf874ee972e06032edb038de39 /scripts
parentfabe918dee7da26d177d67d4aa8fe3fd6e83e513 (diff)
- fix bashism
- rename mdadm.conf in mdrun.conf - retry nfsmount - harden init - fix lvm boot script prereqs
Diffstat (limited to 'scripts')
-rw-r--r--scripts/local2
-rwxr-xr-xscripts/local-top/lvm2
-rwxr-xr-xscripts/local-top/mdrun2
-rw-r--r--scripts/nfs45
4 files changed, 36 insertions, 15 deletions
diff --git a/scripts/local b/scripts/local
index 9d71a5e..e7bf23e 100644
--- a/scripts/local
+++ b/scripts/local
@@ -23,7 +23,7 @@ mountroot ()
fi
slumber=$(( ${slumber} * 10 ))
- while [ ${slumber} -gt 0 -a ! -e "${ROOT}" ]; do
+ while [ ${slumber} -gt 0 ] && [ ! -e "${ROOT}" ]; do
/bin/sleep 0.1
slumber=$(( ${slumber} - 1 ))
done
diff --git a/scripts/local-top/lvm b/scripts/local-top/lvm
index f9d1490..27053de 100755
--- a/scripts/local-top/lvm
+++ b/scripts/local-top/lvm
@@ -1,6 +1,6 @@
#!/bin/sh
-PREREQ="mdadm mdraid lvm2"
+PREREQ="mdadm mdrun lvm2"
prereqs()
{
diff --git a/scripts/local-top/mdrun b/scripts/local-top/mdrun
index 3ed995c..da890c5 100755
--- a/scripts/local-top/mdrun
+++ b/scripts/local-top/mdrun
@@ -37,7 +37,7 @@ done
[ "${gotraid}" = y ] || exit
# source the presumed root md and it's info
-. ./conf/mdadm.conf
+. ./conf/mdrun.conf
# assemble root raid first due to initrd-tools compatibility
mdadm -A ${rootraiddev} -R -u $uuid $devices
diff --git a/scripts/nfs b/scripts/nfs
index 844db70..f42ed22 100644
--- a/scripts/nfs
+++ b/scripts/nfs
@@ -2,17 +2,9 @@
# FIXME This needs error checking
-# Paramter: Where the root should be mounted
-mountroot ()
+# parse nfs bootargs + launch ipconfig and nfsmount
+do_nfsmount()
{
- [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-top"
- run_scripts /scripts/nfs-top
- [ "$quiet" != "y" ] && log_end_msg
-
- modprobe -q nfs
- # For DHCP
- modprobe -q af_packet
-
# support ip options see linux sources Documentation/nfsroot.txt
case ${IPOPTS} in
none|off)
@@ -40,7 +32,7 @@ mountroot ()
;;
esac
- # FIXME: who writes that?
+ # FIXME: source ipconfig output - might overwrite aboves
. /tmp/net-${DEVICE}.conf
# get nfs root from dhcp
@@ -78,9 +70,38 @@ mountroot ()
fi
nfsmount -o nolock ${roflag} ${NFSOPTS} ${NFSROOT} ${rootmnt}
+}
+
+# NFS root mounting
+mountroot()
+{
+ [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-top"
+ run_scripts /scripts/nfs-top
+ [ "$quiet" != "y" ] && log_end_msg
+
+ modprobe -q nfs
+ # For DHCP
+ modprobe -q af_packet
+
+ # Default delay is around 180s
+ # FIXME: add usplash info
+ if [ -z "${ROOTDELAY}" ]; then
+ delay=180
+ else
+ delay=${ROOTDELAY}
+ fi
+
+ # loop until nfsmount succeds
+ # FIXME: another place of init bin hardcoding
+ while [ ${delay} -gt 0 ] && [ ! -e ${rootmnt}/sbin/init ]; do
+ [ "$quiet" != "y" ] && log_begin_msg "Retrying nfs mount"
+ do_nfsmount
+ # FIXME: ipconfig loops every min at least - better param??
+ delay=$(( ${delay} - 1 ))
+ [ "$quiet" != "y" ] && log_end_msg
+ done
[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-bottom"
run_scripts /scripts/nfs-bottom
[ "$quiet" != "y" ] && log_end_msg
-
}