#!/bin/sh # # Boot startup script for ELWIX UbootFS ... # # $Id: rc,v 1.2 2014/09/15 19:06:47 misho Exp $ stty status '^T' trap : 2 trap : 3 trap : 18 HOME=/root PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin TERM=xterm BLOCKSIZE=1k EDITOR=vi PAGER=less export HOME PATH TERM BLOCKSIZE EDITOR PAGER FRMDEV2="md2" FRMSIZE2="21m" FRMFILE2="elwix-firmware2.sys" FRMPATH="/elwix" FIT2CF="/dev/ufs/fit2cf" CFDIR="/elwix/cf" umask 022 failed_sysvol() { echo " RootFS: Failed $1 - $2 ... Go to emergency shell !!!" exit 127 } boot_elwix2() { echo " UbootFS: Loading ELWIX secondary firmware" mdmfs -s $FRMSIZE2 -S -m0 -oasync $FRMDEV2 /usr/local if [ "$?" != "0" ]; then failed_sysvol "to mount firmware image " $FRMFILE2 fi cd /usr/local pax -r -z -pe -f $FRMPATH/$FRMFILE2 if [ "$?" != "0" ]; then failed_sysvol "to load firmware image " $FRMFILE2 fi cd - mount -ur /usr/local } # ## main() # echo "ELWIX>>> Firmware UbootFS boot stage ..." echo " UbootFS: 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" if test -c "$FIT2CF" -a -d "$CFDIR"; then echo " UbootFS: Mount ELWIX flash volume" 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 boot_elwix2 fi exec /etc/rc.init