wok rev 10901

busybox/init: softraid retries
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Jul 20 13:18:13 2011 +0200 (2011-07-20)
parents 8e0af5f8e73f
children 61cd3f3b6673
files busybox/stuff/init
line diff
     1.1 --- a/busybox/stuff/init	Fri Jul 15 12:10:53 2011 +0200
     1.2 +++ b/busybox/stuff/init	Wed Jul 20 13:18:13 2011 +0200
     1.3 @@ -75,9 +75,10 @@
     1.4  
     1.5  mount -t proc proc /proc
     1.6  mount -t sysfs sysfs /sys
     1.7 +echo -n "Switching / to "
     1.8  if grep -q dmraid= /proc/cmdline; then
     1.9  	root="$(sed 's/.*dmraid=\([^ ]*\).*/\1/' < /proc/cmdline)"
    1.10 -	echo -n "Switching / to dmraid $root..."
    1.11 +	echo -n "dmraid $root..."
    1.12  	dmraid -s | grep ^type | awk '{ print $3 }' | load_raid
    1.13  	case "$root" in
    1.14  	/dev/*);;
    1.15 @@ -89,17 +90,21 @@
    1.16  fi
    1.17  if grep -q softraid= /proc/cmdline; then
    1.18  	root="$(sed 's/.*softraid=\([^ ]*\).*/\1/' < /proc/cmdline)"
    1.19 -	echo -n "Switching / to softraid $root..."
    1.20 +	echo -n "softraid $root..."
    1.21  	mdadm --examine --scan --config=partitions > /etc/mdadm.conf
    1.22  	grep -qs " $root " /etc/mdadm.conf ||
    1.23  		root=$(awk '/dev.md/ { print $2; exit }' < /etc/mdadm.conf)
    1.24  	grep level=raid /etc/mdadm.conf | load_raid
    1.25 -	mdadm --assemble --scan
    1.26 +	for i in 1 2 3 4 5 6 7 8 9; do
    1.27 +		sleep $i
    1.28 +		mdadm --assemble --scan
    1.29 +		grep -qs ': active' /proc/mdstat && break
    1.30 +	done
    1.31  	lvmsetup 
    1.32  	mount_mapper /etc/mdadm.conf
    1.33  fi
    1.34  if lvmsetup; then
    1.35 -	echo -n "Switching / to lvm $root..."
    1.36 +	echo -n "lvm $root..."
    1.37  	mount_mapper
    1.38  fi
    1.39  if grep -q mount= /proc/cmdline; then
    1.40 @@ -118,7 +123,7 @@
    1.41  fi
    1.42  if grep -q loopfs= /proc/cmdline; then
    1.43  	loopfs="$(sed 's/.*loopfs=\([^ ]*\).*/\1/' < /proc/cmdline)"
    1.44 -	echo -n "Switching / to loop $loopfs..."
    1.45 +	echo -n "loop $loopfs..."
    1.46  	losetup /dev/loop0 /mnt/$loopfs
    1.47  	mount /dev/loop0 /mnt 2> /dev/null
    1.48  fi
    1.49 @@ -134,7 +139,7 @@
    1.50  		exec chroot /mnt$subroot /sbin/init
    1.51  	fi
    1.52  fi
    1.53 -echo -n "Switching / to tmpfs..."
    1.54 +echo -n "tmpfs..."
    1.55  size="$(grep rootfssize= < /proc/cmdline | \
    1.56  	sed 's/.*rootfssize=\([0-9]*[kmg%]\).*/-o size=\1/')"
    1.57  free=$(busybox free | busybox awk '/Mem:/ { print int(($4*100)/$3) }')