summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/functions15
-rw-r--r--scripts/local2
-rw-r--r--scripts/local-top/lvm17
-rw-r--r--scripts/nfs1
4 files changed, 31 insertions, 4 deletions
diff --git a/scripts/functions b/scripts/functions
index 10918f8..956b1c3 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -181,6 +181,15 @@ scsi_boot_events()
}
+i2o_boot_events()
+{
+ [ -e /sys/bus/i2o/devices/ ] || return
+
+ for device in /sys/bus/i2o/devices/*; do
+ [ -e ${device}/block ] && modprobe i2o_block
+ done
+}
+
load_modules()
{
depmod -a
@@ -217,10 +226,15 @@ load_modules()
ide_boot_events
scsi_boot_events
+
+ i2o_boot_events
}
parse_numeric() {
case $1 in
+ /*)
+ return
+ ;;
*:*)
minor=${1#*:}
major=${1%:*}
@@ -232,5 +246,6 @@ parse_numeric() {
esac
mknod /dev/root b ${major} ${minor}
+ ROOT=/dev/root
}
diff --git a/scripts/local b/scripts/local
index bcc96ad..539a2a4 100644
--- a/scripts/local
+++ b/scripts/local
@@ -8,7 +8,7 @@ mountroot ()
log_end_msg
# Get the root filesystem type
- if [ ! -e ${ROOT} ]; then
+ if [ ! -e "${ROOT}" ]; then
panic "ALERT! ${ROOT} does not exist. Dropping to a shell!"
fi
diff --git a/scripts/local-top/lvm b/scripts/local-top/lvm
index 4f199de..9307f55 100644
--- a/scripts/local-top/lvm
+++ b/scripts/local-top/lvm
@@ -15,10 +15,21 @@ prereqs)
;;
esac
-vg=$(echo ${ROOT} | sed -e 's#/dev/mapper/\(.*\)-.*#\1#')
-
-[ x${vg} != x ] || return
+vg=${ROOT#/dev/mapper/}
+case ${vg} in
+ /dev/root)
+ unset vg
+ ;;
+ /*)
+ exit 0
+ ;;
+esac
+
modprobe -q dm-mod
+# Cope with -'s in the volume group and node names.
+vg=$(echo ${vg} | sed -e 's#\(.*\)\([^-]\)-[^-].*#\1\2#')
+
vgchange -ay ${vg}
+
diff --git a/scripts/nfs b/scripts/nfs
index 8149e86..10f8f1d 100644
--- a/scripts/nfs
+++ b/scripts/nfs
@@ -29,6 +29,7 @@ mountroot ()
roflag="-o rw"
fi
+ sleep 3
nfsmount ${roflag} ${NFSROOT} ${rootmnt}
log_begin_msg "Running /scripts/nfs-bottom"