summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/functions92
-rwxr-xr-xscripts/init-premount/thermal (renamed from scripts/init-premount/acpid)4
-rw-r--r--scripts/local11
-rw-r--r--scripts/nfs1
4 files changed, 27 insertions, 81 deletions
diff --git a/scripts/functions b/scripts/functions
index 5147009..8a49c8e 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -48,7 +48,14 @@ panic()
/sbin/usplash_write "QUIT"
fi
echo $@
- FS1='(initramfs) ' exec /bin/sh </dev/console >/dev/console 2>&1
+ FS1='(initramfs) ' /bin/sh </dev/console >/dev/console 2>&1
+}
+
+maybe_break()
+{
+ if [ x$1 = x${break} ]; then
+ panic "Spawning shell within the initramfs"
+ fi
}
render()
@@ -152,58 +159,9 @@ run_scripts()
call_scripts
}
-ide_boot_events() {
-
- modprobe -q ide-generic
-
- [ -e /proc/ide ] || return
-
- for drive in /proc/ide/*; do
- [ -e ${drive}/media ] || continue
- # nothing to do if the device has already been took in charge
- unit=${drive#/proc/ide/}
- [ -d /sys/block/$unit ] && continue
-
- read media < $drive/media
- case "$media" in
- disk) MODULE=ide-disk ;;
- cdrom) MODULE=ide-cd ;;
- tape) MODULE=ide-tape ;;
- floppy) MODULE=ide-floppy ;;
- *) MODULE=ide-generic ;;
- esac
-
- modprobe -q ${MODULE}
- done
-}
-
-scsi_boot_events()
-{
- [ -e /sys/bus/scsi/devices/ ] || return
-
- for device in /sys/bus/scsi/devices/*; do
- [ -e "${device}"/type ] || continue
- read media < ${device}/type
- case "$media" in
- 0) modprobe -q sd_mod;
- esac
-
- done
-
-}
-
-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 custom modules first
load_modules()
{
- # Load custom modules first
if [ -e /conf/modules ]; then
cat /conf/modules | while read m; do
if [ -z "$m" ] \
@@ -216,37 +174,15 @@ load_modules()
fi
done
fi
-
- ide_boot_events
-
- scsi_boot_events
-
- i2o_boot_events
-
- # FIXME - need to start LVM here
-
+
+ # FIXME: wrong place, but it gets done ;)
if [ -e /sys/power/resume ]; then
if [ -e "${resume}" ]; then
- major_minor=$(ls -l ${resume} | \
- awk '{printf "%d:%d", $5, $6}')
- echo $major_minor >/sys/power/resume
+ major=$((0x$(stat -c%t ${resume})))
+ minor=$((0x$(stat -c%T ${resume})))
+ echo ${major}:${minor} >/sys/power/resume
fi
fi
-
- # Give the USB bus a moment to catch up
- sleep 2
-
- for x in /sys/bus/usb/devices/*; do
- if [ -e ${x}/modalias ]; then
- modprobe -q $(cat ${x}/modalias)
- fi
- done
-
- ide_boot_events
-
- scsi_boot_events
-
- i2o_boot_events
}
parse_numeric() {
diff --git a/scripts/init-premount/acpid b/scripts/init-premount/thermal
index 61d226a..e0d79c3 100755
--- a/scripts/init-premount/acpid
+++ b/scripts/init-premount/thermal
@@ -15,5 +15,9 @@ prereqs)
;;
esac
+# For ACPI systems
modprobe -q fan
modprobe -q thermal
+
+# For ppc64 systems
+modprobe -q therm_pm72
diff --git a/scripts/local b/scripts/local
index aa2cbfb..df09298 100644
--- a/scripts/local
+++ b/scripts/local
@@ -7,10 +7,17 @@ mountroot ()
run_scripts /scripts/local-top
[ "$quiet" != "y" ] && log_end_msg
+ # Wait for SCSI/USB/etc. devices for a bit
+ slumber=10
+ while [ ${slumber} -gt 0 -a ! -e "${ROOT}" ]; do
+ /bin/sleep 1
+ slumber=$(( ${slumber} - 1 ))
+ done
+
# Get the root filesystem type
- if [ ! -e "${ROOT}" ]; then
+ while [ ! -e "${ROOT}" ]; do
panic "ALERT! ${ROOT} does not exist. Dropping to a shell!"
- fi
+ done
eval $(fstype < ${ROOT})
diff --git a/scripts/nfs b/scripts/nfs
index 7166b08..a2f6c3e 100644
--- a/scripts/nfs
+++ b/scripts/nfs
@@ -33,7 +33,6 @@ mountroot ()
roflag="-o rw"
fi
- sleep 3
nfsmount ${roflag} ${NFSOPTS} ${NFSROOT} ${rootmnt}
[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-bottom"