--- elwix/config/etc/rootfs/rc 2011/07/05 23:43:00 1.1.1.1 +++ elwix/config/etc/rootfs/rc 2011/11/02 12:07:37 1.1.1.1.6.3 @@ -2,7 +2,7 @@ # # Boot startup script for ELWIX RootFS ... # -# $Id: rc,v 1.1.1.1 2011/07/05 23:43:00 misho Exp $ +# $Id: rc,v 1.1.1.1.6.3 2011/11/02 12:07:37 misho Exp $ stty status '^T' @@ -18,11 +18,14 @@ EDITOR=vi PAGER=less export HOME PATH TERM BLOCKSIZE EDITOR PAGER +FIT2CF="/dev/ufs/fit2cf" +CFDIR="/elwix/cf" + umask 022 failed_sysvol() { - echo " RootFS: Failed $1 ELWIX system ... Go to emergency shell !!!" + echo " RootFS: Failed $1 ELWIX $2 ... Go to emergency shell !!!" exit 127 } @@ -30,12 +33,15 @@ failed_sysvol() boot_elwix() { echo " RootFS: Load ELWIX system firmware" - if ! test -r /elwix/elwix-firmware.sys; then - failed_sysvol "not found" + mdconfig -a -t vnode -u 1 -f /elwix/elwix-firmware.sys && mount -r /dev/md1.uzip /usr + if test $? -ne 0; then + mdconfig -d -u 1 >/dev/null 2>&1 + mdconfig -a -t vnode -u 1 -f /elwix/altroot/elwix-firmware.sys && mount -r /dev/md1.uzip /usr + if test $? -ne 0; then + mdconfig -d -u 1 >/dev/null 2>&1 + failed_sysvol "load system and default image" elwix-firmware.sys + fi fi - - mdconfig -a -t vnode -u 1 -f /elwix/elwix-firmware.sys; - mount -r /dev/md1.uzip /usr; sleep 2 } @@ -46,7 +52,14 @@ boot_elwix() echo "ELWIX>>> Firmware RootFS boot stage ..." echo " RootFS: Mount ELWIX system volume" fsck -q -y 1>/dev/null 2>&1 && mount -a || fsck -y 1>/dev/null 2>&1 && mount -a || \ - fsck -f -y 1>/dev/null 2>&1 && mount -a || failed_sysvol mount + fsck -f -y 1>/dev/null 2>&1 && mount -a || failed_sysvol mount "system volume" + +if test -c $FIT2CF -a -d $CFDIR; then + echo " RootFS: Mount ELWIX flash volume" + fsck -y -tufs $FIT2CF 1>/dev/null 2>&1 && mount -o ro $FIT2CF $CFDIR || \ + fsck -f -y -tufs $FIT2CF 1>/dev/null 2>&1 && mount -o ro $FIT2CF $CFDIR || \ + failed_sysvol mount "flash volume" +fi boot_elwix