--- elwix/config/etc/rootfs/rc 2011/11/02 10:30:20 1.1.1.1.6.2 +++ elwix/config/etc/rootfs/rc 2012/10/10 08:58:49 1.1.1.1.6.9 @@ -2,7 +2,7 @@ # # Boot startup script for ELWIX RootFS ... # -# $Id: rc,v 1.1.1.1.6.2 2011/11/02 10:30:20 misho Exp $ +# $Id: rc,v 1.1.1.1.6.9 2012/10/10 08:58:49 misho Exp $ stty status '^T' @@ -18,6 +18,11 @@ EDITOR=vi PAGER=less export HOME PATH TERM BLOCKSIZE EDITOR PAGER +FRMDEV="md1" +FRMSIZE="82m" +FRMFILE="elwix-firmware.sys" +FRMPATH="/elwix" + FIT2CF="/dev/ufs/fit2cf" CFDIR="/elwix/cf" @@ -32,17 +37,33 @@ failed_sysvol() boot_elwix() { - echo " RootFS: Load ELWIX system firmware" - mdconfig -a -t vnode -u 1 -f /elwix/elwix-firmware.sys && mount -r /dev/md1.uzip /usr - if test $? -ne 0; then - mdconfig -a -t vnode -u 1 -f /elwix/altroot/elwix-firmware.sys && mount -r /dev/md1.uzip /usr - if test $? -ne 0; then - failed_sysvol "load system and default image" elwix-firmware.sys + echo " RootFS: Loading ELWIX system firmware" + if test ! -r $FRMPATH/$FRMFILE; then + echo " RootFS: WARNING! Failed default firmware image!" + echo " RootFS: Try to load ELWIX backup firmware ..." + + FRMPATH="$FRMPATH/altroot" + if test ! -r $FRMPATH/$FRMFILE; then + failed_sysvol "load backup and default image" elwix-firmware.sys fi fi + + mdmfs -s $FRMSIZE -S -m0 -oasync $FRMDEV /usr + cd /usr + pax -r -z -pe -f $FRMPATH/$FRMFILE + cd - + mount -ur /usr + sleep 2 } +mount_usr() +{ + echo " RootFS: Mounting ELWIX system image" + + mount -t nullfs -r $FRMPATH/usr /usr +} + # ## main() # @@ -59,6 +80,14 @@ if test -c $FIT2CF -a -d $CFDIR; then failed_sysvol mount "flash volume" fi -boot_elwix +if [ -r /elwix/elwix-firmware.sys ]; then + boot_elwix +else + if [ -d $FRMPATH/usr ]; then + mount_usr + else + echo " RootFS: Skip loading ELWIX system firmware ..." + fi +fi -/etc/rc.init +exec /etc/rc.init