slitaz-boot-scripts rev 418

init: enforce soft raid init
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Dec 24 11:28:23 2015 +0100 (2015-12-24)
parents 802121f86123
children 34162aea5267
files init
line diff
     1.1 --- a/init	Sat Nov 28 13:38:43 2015 +0200
     1.2 +++ b/init	Thu Dec 24 11:28:23 2015 +0100
     1.3 @@ -40,7 +40,7 @@
     1.4  # cryptoroot= [CRYPTO]
     1.5  #         encrypted root device using luks or loop-aes
     1.6  #
     1.7 -### Special mode used by loram flavor with aufs & squashfs
     1.8 +### Special mode used by loram flavor with aufs/overlayfs & squashfs
     1.9  ### incremental/nested rootfs (russian dolls).
    1.10  #
    1.11  # rodev= [LORAM][MERGE]
    1.12 @@ -202,17 +202,21 @@
    1.13  use raiddev && raiddev="DEVICE ${root//,/ }"
    1.14  use raidmail && raidmail="MAILADDR $root"
    1.15  if use softraid; then
    1.16 -	mdadm -E -s -c partitions > /etc/mdadm.conf
    1.17 +	for i in 1 2 3 4 5 6 7 8 9; do
    1.18 +		mdadm -E -s -c partitions > /etc/mdadm.conf
    1.19 +		grep -qs " $root " /etc/mdadm.conf && break
    1.20 +		sleep $i
    1.21 +	done
    1.22  	[ "$raiddev" ] && echo "$raiddev" >> /etc/mdadm.conf
    1.23  	[ "$raidmail" ] && echo "$raidmail" >> /etc/mdadm.conf
    1.24 -	grep -qs " $root " /etc/mdadm.conf ||
    1.25 -		root=$(awk '/dev.md/{print $2;exit}' < /etc/mdadm.conf)
    1.26  	grep level=raid /etc/mdadm.conf | ldraid
    1.27  	for i in 1 2 3 4 5 6 7 8 9; do
    1.28  		sleep $i
    1.29  		mdadm -A -s
    1.30 -		grep -qs ': act' /proc/mdstat && break
    1.31 +		grep -qs "^$(basename $root): act" /proc/mdstat && break
    1.32  	done
    1.33 +	grep -qs "^$(basename $root): act" /proc/mdstat ||
    1.34 +		root=$(awk '/^md/ { print "/dev/" $1; exit }' < /proc/mdstat)
    1.35  	lvm /etc/mdadm.conf
    1.36  fi
    1.37  lvm