File:  [ELWIX - Embedded LightWeight unIX -] / elwix / config / etc / default / rc
Revision 1.4: download - view: text, annotated - select for diffs - revision graph
Thu Mar 11 13:59:50 2021 UTC (3 years, 4 months ago) by misho
Branches: MAIN
CVS tags: elwix2_8, elwix2_7, HEAD, ELWIX2_7, ELWIX2_6
ver 2.6

    1: #!/bin/sh
    2: #
    3: # Boot startup script for ELWIX BaseFS ...
    4: #
    5: # $Id: rc,v 1.4 2021/03/11 13:59:50 misho Exp $
    6: 
    7: stty status '^T'
    8: 
    9: trap : 2
   10: trap : 3
   11: trap : 18
   12: 
   13: HOME=/root
   14: PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/pkg/bin:/usr/pkg/sbin:/usr/local/bin:/usr/local/sbin
   15: TERM=xterm
   16: BLOCKSIZE=1k
   17: EDITOR=vi
   18: PAGER=less
   19: export HOME PATH TERM BLOCKSIZE EDITOR PAGER
   20: 
   21: ETCDEV="md1"
   22: ETCSIZE="8m"
   23: 
   24: FRMDEV2="md4"
   25: FRMSIZE2="32m"
   26: FRMFILE2="elwix-firmware2.sys"
   27: 
   28: FRMPATH="/elwix"
   29: FRM2PATH="/elwix/pkg"
   30: FIT2CF="/dev/ufs/fit2cf"
   31: CFDIR="/elwix/cf"
   32: 
   33: ELWIX2="/dev/ufs/elwix2"
   34: ELWIX="/dev/ufs/elwix"
   35: 
   36: umask 022
   37: 
   38: failed_sysvol()
   39: {
   40: 	echo " BaseFS: Failed $1 - $2 ... Go to emergency shell !!!"
   41: 
   42: 	exit 127
   43: }
   44: 
   45: boot_elwix2()
   46: {
   47: 	echo " BaseFS: Loading ELWIX secondary firmware"
   48: 
   49: 	mdmfs -s $FRMSIZE2 -S -n -m0 -oasync $FRMDEV2 $FRM2PATH
   50: 	if test $? -ne 0; then
   51: 		failed_sysvol "to mount firmware image " $FRMFILE2
   52: 	fi
   53: 	cd $FRM2PATH
   54: 	pax -r -z -pe -f $FRMPATH/$FRMFILE2
   55: 	if test $? -ne 0; then
   56: 		failed_sysvol "to load firmware image " $FRMFILE2
   57: 	fi
   58: 	cd -
   59: 	mount -ur $FRM2PATH
   60: }
   61: 
   62: #
   63: ## main()
   64: #
   65: 
   66: echo "ELWIX>>> Firmware BaseFS boot stage ..."
   67: 
   68: if ! mount -a; then
   69: 	umount -A
   70: 	fsck -y 1>/dev/null 2>&1
   71: 	if ! mount -a; then
   72: 		umount -A -f
   73: 		fsck -f -y 1>/dev/null 2>&1
   74: 		if ! mount -a; then
   75: 			failed_sysvol mount "system volumes"
   76: 		fi
   77: 	fi
   78: fi
   79: 
   80: if test -c "$FIT2CF" -a -d "$CFDIR"; then
   81: 	echo " RootFS: Mount ELWIX flash volume"
   82: 	if ! mount -o ro $FIT2CF $CFDIR; then
   83: 		umount $CFDIR
   84: 		fsck -y -tufs $FIT2CF 1>/dev/null 2>&1
   85: 		if ! mount -o ro $FIT2CF $CFDIR; then
   86: 			echo "Error:: mount of $FIT2CF to $CFDIR failed!"
   87: 		fi
   88: 	fi
   89: fi
   90: 
   91: if test -r "$FRMPATH/$FRMFILE2"; then
   92: 	boot_elwix2
   93: fi
   94: 
   95: mkdir /var/etc
   96: mount -tunionfs /var/etc /etc
   97: 
   98: exec /etc/rc.init

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>