diff options
author | Jeremy Blosser | 2007-01-18 20:45:09 -0600 |
---|---|---|
committer | Jeremy Blosser | 2007-01-21 01:49:32 -0600 |
commit | ef2ef4c4f71bae44e01f87480bf7ed492d86f51b (patch) | |
tree | 93ff1531f0a33dafb2ac33ef6c76f2d352bb98c0 | |
parent | f55dbdb052a0cb237eb2f0c5df04ec2e28451332 (diff) |
init.d: Try to fix bug 9177 some more; this isn't final but should get us past
breaking things. This tries to do LVM setup multiple times; ideally it should
only do it when it will work.
-rwxr-xr-x | smgl/init.d/DETAILS | 2 | ||||
-rw-r--r-- | smgl/init.d/HISTORY | 6 | ||||
-rwxr-xr-x | smgl/init.d/init.d/devices | 6 | ||||
-rwxr-xr-x | smgl/init.d/init.d/mountall.sh | 23 | ||||
-rwxr-xr-x | smgl/init.d/init.d/mountroot.sh | 20 |
5 files changed, 42 insertions, 15 deletions
diff --git a/smgl/init.d/DETAILS b/smgl/init.d/DETAILS index ffaa50da26..c66e2688a2 100755 --- a/smgl/init.d/DETAILS +++ b/smgl/init.d/DETAILS @@ -1,7 +1,7 @@ SPELL=init.d VERSION=2.2.0 LICENSE[0]=GPL - PATCHLEVEL=14 + PATCHLEVEL=17 KEYWORDS="smgl" ENTERED=20030505 SHORT="This is the basic initalization system of SMGL" diff --git a/smgl/init.d/HISTORY b/smgl/init.d/HISTORY index e44935b02f..c9198816bb 100644 --- a/smgl/init.d/HISTORY +++ b/smgl/init.d/HISTORY @@ -1,3 +1,9 @@ +2007-01-18 Jeremy Blosser <jblosser-smgl@firinn.org> + * init.d/devices: Centralize /proc mounting. + * init.d{mountroot.sh,mountall.sh}: Try to not break systems that use + an initrd and root LVM (bug 9177). + * DETAILS: PATCHLEVEL++. + 2007-01-10 Jaka Kranjc <lynxlynxlynx@sourcemage.org> * CONFIGURE: added check before sourcing devices diff --git a/smgl/init.d/init.d/devices b/smgl/init.d/init.d/devices index e69c318c94..a2db4b1f00 100755 --- a/smgl/init.d/init.d/devices +++ b/smgl/init.d/init.d/devices @@ -32,9 +32,6 @@ start_udev() # mount sysfs echo "Mounting sysfs at /sys" mount -n -t sysfs none /sys - # mount proc - echo "Mounting /proc" - mount -n -t proc none /proc echo "Mounting ramfs at $udev_root" mount -n -t ramfs none $udev_root # create some needed stuff @@ -94,6 +91,9 @@ start_static() start() { + # mount proc + echo "Mounting /proc" + mount -a -n -t proc eval "start_$DEVICES" } diff --git a/smgl/init.d/init.d/mountall.sh b/smgl/init.d/init.d/mountall.sh index b9b5eee095..30d5ca80a2 100755 --- a/smgl/init.d/init.d/mountall.sh +++ b/smgl/init.d/init.d/mountall.sh @@ -51,29 +51,30 @@ checkfs() rm -f /fastboot /forcefsck } -start() +scanlvm() { - required_executable /bin/mount - required_executable /sbin/fsck - - echo "Mounting proc file system..." - mount -a -t /proc - evaluate_retval - # find devices that were set up in initramfs/rd if optional_executable /sbin/dmsetup then - echo "(re)creating device mapper nodes" + echo "(re)Creating device mapper nodes..." # won't check retval because kernel just may lack device mapper /sbin/dmsetup mknodes fi if optional_executable /sbin/vgscan && optional_executable /sbin/vgchange ; then - echo -n "Scanning for and initializing all available LVM volume groups..." + echo "Scanning for and initializing all available LVM volume groups..." /sbin/vgscan --ignorelockingfailure --mknodes && /sbin/vgchange -ay --ignorelockingfailure - evaluate_retval fi +} + +start() +{ + required_executable /bin/mount + required_executable /sbin/fsck + + scanlvm + evaluate_retval checkfs diff --git a/smgl/init.d/init.d/mountroot.sh b/smgl/init.d/init.d/mountroot.sh index 4331972ea2..50afe6597b 100755 --- a/smgl/init.d/init.d/mountroot.sh +++ b/smgl/init.d/init.d/mountroot.sh @@ -36,6 +36,23 @@ checkrootfs() rm -f /fastboot /forcefsck } +scanlvm() +{ + # find devices that were set up in initramfs/rd + if optional_executable /sbin/dmsetup + then + echo "(re)Creating device mapper nodes..." + # won't check retval because kernel just may lack device mapper + /sbin/dmsetup mknodes + fi + + if optional_executable /sbin/vgscan && optional_executable /sbin/vgchange ; then + echo "Scanning for and initializing all available LVM volume groups..." + /sbin/vgscan --ignorelockingfailure --mknodes && + /sbin/vgchange -ay --ignorelockingfailure + fi +} + start() { required_executable /bin/mount @@ -51,6 +68,9 @@ start() raidstart --all fi + scanlvm + evaluate_retval + echo "Mounting root file system read only..." mount -n -o remount,ro / evaluate_retval || exit 1 |