--- elwix/config/etc/rootfs/rc 2017/06/19 20:26:48 1.7.2.2 +++ elwix/config/etc/rootfs/rc 2017/10/08 00:05:37 1.7.2.4 @@ -2,7 +2,7 @@ # # Boot startup script for ELWIX RootFS ... # -# $Id: rc,v 1.7.2.2 2017/06/19 20:26:48 misho Exp $ +# $Id: rc,v 1.7.2.4 2017/10/08 00:05:37 misho Exp $ stty status '^T' @@ -33,6 +33,9 @@ FRMPATH="/elwix" FIT2CF="/dev/ufs/fit2cf" CFDIR="/elwix/cf" +ELWIX2="/dev/ufs/elwix2" +ELWIX="/dev/ufs/elwix" + umask 022 failed_sysvol() @@ -92,6 +95,25 @@ mount_usr() echo "ELWIX>>> Firmware RootFS boot stage ..." +if test -c $ELWIX2; then + BOOTSLICE=`kenv currdev` + if test "${BOOTSLICE#disk0}" != "a:"; then + ELWIX=$ELWIX2 + fi +fi + +if ! mount -o ro $ELWIX $FRMPATH; then + umount $FRMPATH + fsck -y $ELWIX 1>/dev/null 2>&1 + if ! mount -o ro $ELWIX $FRMPATH; then + umount -f $FRMPATH + fsck -f -y $ELWIX 1>/dev/null 2>&1 + if ! mount -o ro $ELWIX $FRMPATH; then + failed_sysvol mount "system volume" + fi + fi +fi + if ! mount -a; then umount -A fsck -y 1>/dev/null 2>&1 @@ -106,8 +128,13 @@ 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 || \ - failed_sysvol mount "flash volume" + if ! mount -o ro $FIT2CF $CFDIR; then + umount $CFDIR + fsck -y -tufs $FIT2CF 1>/dev/null 2>&1 + if ! mount -o ro $FIT2CF $CFDIR; then + echo "Error:: mount of $FIT2CF to $CFDIR failed!" + fi + fi fi if [ -r $FRMPATH/$FRMFILE ]; then