--- elwix/config/etc/default/rc 2013/08/05 13:10:17 1.2 +++ elwix/config/etc/default/rc 2017/02/13 16:52:47 1.3 @@ -1,8 +1,8 @@ #!/bin/sh # -# Boot startup script for ELWIX RootFS ... +# Boot startup script for ELWIX BaseFS ... # -# $Id: rc,v 1.2 2013/08/05 13:10:17 misho Exp $ +# $Id: rc,v 1.3 2017/02/13 16:52:47 misho Exp $ stty status '^T' @@ -18,7 +18,7 @@ EDITOR=vi PAGER=less export HOME PATH TERM BLOCKSIZE EDITOR PAGER -FRMDEV2="md2" +FRMDEV2="md4" FRMSIZE2="21m" FRMFILE2="elwix-firmware2.sys" @@ -30,44 +30,54 @@ umask 022 failed_sysvol() { - echo " RootFS: Failed $1 - $2 ... Go to emergency shell !!!" + echo " BaseFS: Failed $1 - $2 ... Go to emergency shell !!!" exit 127 } boot_elwix2() { - echo " RootFS: Loading ELWIX secondary firmware" + echo " BaseFS: Loading ELWIX secondary firmware" mdmfs -s $FRMSIZE2 -S -m0 -oasync $FRMDEV2 /usr/local - if [ "$?" != "0" ]; then + if test $? -ne 0; then failed_sysvol "to mount firmware image " $FRMFILE2 fi cd /usr/local pax -r -z -pe -f $FRMPATH/$FRMFILE2 - if [ "$?" != "0" ]; then + if test $? -ne 0; then failed_sysvol "to load firmware image " $FRMFILE2 fi cd - - mount -ur /usr/local + mount -ur /usr/local || failed_sysvol mount "secondary firmware" } # ## main() # -echo "ELWIX>>> Firmware RootFS boot stage ..." -echo " RootFS: Mount ELWIX system volume" -fsck -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 "system volume" +echo "ELWIX>>> Firmware BaseFS boot stage ..." +if ! mount -a; then + umount -A + fsck -y 1>/dev/null 2>&1 + if ! mount -a; then + umount -A -f + fsck -f -y 1>/dev/null 2>&1 + if ! mount -a; then + failed_sysvol mount "system volume" + fi + fi +fi + 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 || \ + echo " BaseFS: Mount ELWIX flash volume" + mount -o ro $FIT2CF || \ + fsck -y -tufs $FIT2CF 1>/dev/null 2>&1 && mount -o ro $FIT2CF $CFDIR || \ failed_sysvol mount "flash volume" fi -if [ -r $FRMPATH/$FRMFILE2 ]; then +if test -r "$FRMPATH/$FRMFILE2"; then boot_elwix2 fi