slitaz-modular rev 132
initramfs: Update init script.
author | Christopher Rogers <slaxemulator@gmail.com> |
---|---|
date | Sat Aug 27 18:35:47 2011 +0000 (2011-08-27) |
parents | 12a8156049fc |
children | 3ff3ff15c700 |
files | initramfs/init |
line diff
1.1 --- a/initramfs/init Sat Aug 27 18:34:37 2011 +0000 1.2 +++ b/initramfs/init Sat Aug 27 18:35:47 2011 +0000 1.3 @@ -3,14 +3,14 @@ 1.4 launch_init() 1.5 { 1.6 [ -d /proc/sys ] && umount /proc 1.7 - echo -e "\\033[70G[ \\033[1;33mOK\\033[0;39m ]" 1.8 + echo -e "\\033[70G[ \\033[1;32mOK\\033[0;39m ]" 1.9 exec /sbin/switch_root mnt /sbin/init 1.10 } 1.11 1.12 launch_init_modular() 1.13 { 1.14 [ -d /proc/sys ] && umount /proc 1.15 - echo -e "\\033[70G[ \\033[1;33mOK\\033[0;39m ]" 1.16 + echo -e "\\033[70G[ \\033[1;32mOK\\033[0;39m ]" 1.17 [ -d /mnt/initramfs ] || mkdir -p /mnt/initramfs 1.18 SYS_DIR="dev bin etc boot lib sbin home root run usr var" 1.19 for dir in $SYS_DIR; do 1.20 @@ -29,6 +29,7 @@ 1.21 { 1.22 [ -d /proc/sys ] && umount /proc 1.23 echo -e "\\033[70G[ \\033[1;31mFailed\\033[0;39m ]" 1.24 + conspy -d 1 > /init.log 1.25 } 1.26 1.27 try_init() 1.28 @@ -92,9 +93,10 @@ 1.29 1.30 mount -t proc proc /proc 1.31 mount -t sysfs sysfs /sys 1.32 +echo -n "Switching / to " 1.33 if grep -q dmraid= /proc/cmdline; then 1.34 root="$(sed 's/.*dmraid=\([^ ]*\).*/\1/' < /proc/cmdline)" 1.35 - echo -n "Switching / to dmraid $root..." 1.36 + echo -n "dmraid $root..." 1.37 dmraid -s | grep ^type | awk '{ print $3 }' | load_raid 1.38 case "$root" in 1.39 /dev/*);; 1.40 @@ -106,17 +108,21 @@ 1.41 fi 1.42 if grep -q softraid= /proc/cmdline; then 1.43 root="$(sed 's/.*softraid=\([^ ]*\).*/\1/' < /proc/cmdline)" 1.44 - echo -n "Switching / to softraid $root..." 1.45 + echo -n "softraid $root..." 1.46 mdadm --examine --scan --config=partitions > /etc/mdadm.conf 1.47 grep -qs " $root " /etc/mdadm.conf || 1.48 root=$(awk '/dev.md/ { print $2; exit }' < /etc/mdadm.conf) 1.49 grep level=raid /etc/mdadm.conf | load_raid 1.50 - mdadm --assemble --scan 1.51 + for i in 1 2 3 4 5 6 7 8 9; do 1.52 + sleep $i 1.53 + mdadm --assemble --scan 1.54 + grep -qs ': active' /proc/mdstat && break 1.55 + done 1.56 lvmsetup 1.57 mount_mapper /etc/mdadm.conf 1.58 fi 1.59 if lvmsetup; then 1.60 - echo -n "Switching / to lvm $root..." 1.61 + echo -n "lvm $root..." 1.62 mount_mapper 1.63 fi 1.64 if grep -q mount= /proc/cmdline; then 1.65 @@ -132,13 +138,18 @@ 1.66 fi 1.67 mount $dev /mnt 1.68 fi 1.69 + grep -q posixovl /proc/cmdline && mount.posixovl /mnt 1.70 fi 1.71 if grep -q loopfs= /proc/cmdline; then 1.72 loopfs="$(sed 's/.*loopfs=\([^ ]*\).*/\1/' < /proc/cmdline)" 1.73 - echo -n "Switching / to loop $loopfs..." 1.74 + echo -n "loop $loopfs..." 1.75 losetup /dev/loop0 /mnt/$loopfs 1.76 mount /dev/loop0 /mnt 2> /dev/null 1.77 fi 1.78 +if grep -q bindfs= /proc/cmdline; then 1.79 + bind="$(sed 's/.*bindfs=\([^ ]*\).*/\1/' < /proc/cmdline)" 1.80 + mount --bind /mnt/${bind%,*} /mnt/${bind%,*}/${bind#*,} 1.81 +fi 1.82 grep -q cryptoroot= /proc/cmdline && try_init 1.83 umount /sys 1.84 if grep -q subroot= /proc/cmdline; then 1.85 @@ -151,7 +162,7 @@ 1.86 exec chroot /mnt$subroot /sbin/init 1.87 fi 1.88 fi 1.89 -echo -n "Switching / to tmpfs..." 1.90 +echo -n "tmpfs..." 1.91 size="$(grep rootfssize= < /proc/cmdline | \ 1.92 sed 's/.*rootfssize=\([0-9]*[kmg%]\).*/-o size=\1/')" 1.93 free=$(busybox free | busybox awk '/Mem:/ { print int(($4*100)/$3) }')