version 1.1, 2014/01/21 09:19:06
|
version 1.1.2.1, 2014/01/21 09:19:06
|
Line 0
|
Line 1
|
|
#!/bin/sh |
|
# |
|
# Boot startup script for ELWIX UbootFS ... |
|
# |
|
# $Id$ |
|
|
|
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 |