#!/bin/sh # # Boot startup script for ELWIX RootFS ... # # $Id: rc,v 1.1.1.1.6.5 2012/02/14 13:54:08 misho Exp $ stty status '^T' trap : 2 trap : 3 trap : 18 HOME=/root PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/pkg/bin:/usr/pkg/sbin:/usr/local/bin:/usr/local/sbin TERM=xterm BLOCKSIZE=1k 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 $2 ... Go to emergency shell !!!" exit 127 } boot_elwix() { echo " RootFS: Loading 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 echo " RootFS: Failed firmware image! Try to load ELWIX system firmware from alternative location" 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 sleep 2 } # ## main() # 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 "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 if [ -r /elwix/elwix-firmware.sys ]; then boot_elwix else echo " RootFS: Skip loading ELWIX system firmware ..." fi exec /etc/rc.init