Annotation of elwix/config/etc/default/rc, revision 1.3.2.9

1.2       misho       1: #!/bin/sh
                      2: #
1.3       misho       3: # Boot startup script for ELWIX BaseFS ...
1.2       misho       4: #
1.3.2.9 ! misho       5: # $Id: rc,v 1.3.2.8 2018/07/03 22:03:59 misho Exp $
1.2       misho       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: 
1.3.2.4   misho      21: ETCDEV="md1"
                     22: ETCSIZE="8m"
                     23: 
1.3.2.3   misho      24: FRMDEV2="md4"
1.3.2.7   misho      25: FRMSIZE2="24m"
1.2       misho      26: FRMFILE2="elwix-firmware2.sys"
                     27: 
                     28: FRMPATH="/elwix"
1.3.2.6   misho      29: FRM2PATH="/elwix/pkg"
1.2       misho      30: FIT2CF="/dev/ufs/fit2cf"
                     31: CFDIR="/elwix/cf"
                     32: 
1.3.2.4   misho      33: ELWIX2="/dev/ufs/elwix2"
1.3.2.5   misho      34: ELWIX="/dev/ufs/elwix"
1.3.2.4   misho      35: 
1.2       misho      36: umask 022
                     37: 
                     38: failed_sysvol()
                     39: {
1.3       misho      40:        echo " BaseFS: Failed $1 - $2 ... Go to emergency shell !!!"
1.2       misho      41: 
                     42:        exit 127
                     43: }
                     44: 
                     45: boot_elwix2()
                     46: {
1.3       misho      47:        echo " BaseFS: Loading ELWIX secondary firmware"
1.2       misho      48: 
1.3.2.6   misho      49:        mdmfs -s $FRMSIZE2 -S -n -m0 -oasync $FRMDEV2 $FRM2PATH
1.3       misho      50:        if test $? -ne 0; then
1.2       misho      51:                failed_sysvol "to mount firmware image " $FRMFILE2
                     52:        fi
1.3.2.6   misho      53:        cd $FRM2PATH
1.2       misho      54:        pax -r -z -pe -f $FRMPATH/$FRMFILE2
1.3       misho      55:        if test $? -ne 0; then
1.2       misho      56:                failed_sysvol "to load firmware image " $FRMFILE2
                     57:        fi
                     58:        cd -
1.3.2.6   misho      59:        mount -ur $FRM2PATH
1.2       misho      60: }
                     61: 
                     62: #
                     63: ## main()
                     64: #
                     65: 
1.3       misho      66: echo "ELWIX>>> Firmware BaseFS boot stage ..."
                     67: 
1.3.2.4   misho      68: if test -c $ELWIX2; then
                     69:        BOOTSLICE=`kenv currdev`
                     70:        if test "${BOOTSLICE#disk0}" != "a:"; then
1.3.2.5   misho      71:                ELWIX=$ELWIX2
                     72:        fi
                     73: fi
                     74: 
1.3.2.8   misho      75: if ! mount -o ro $ELWIX /; then
                     76:        umount /
1.3.2.5   misho      77:        fsck -y $ELWIX 1>/dev/null 2>&1
1.3.2.8   misho      78:        if ! mount -o ro $ELWIX /; then
                     79:                umount -f /
1.3.2.5   misho      80:                fsck -f -y $ELWIX 1>/dev/null 2>&1
1.3.2.8   misho      81:                if ! mount -o ro $ELWIX /; then
1.3.2.9 ! misho      82:                        failed_sysvol mount "storage volume"
1.3.2.5   misho      83:                fi
1.3.2.4   misho      84:        fi
                     85: fi
                     86: 
1.3       misho      87: if ! mount -a; then
                     88:        umount -A
                     89:        fsck -y 1>/dev/null 2>&1
                     90:        if ! mount -a; then
                     91:                umount -A -f
                     92:                fsck -f -y 1>/dev/null 2>&1
                     93:                if ! mount -a; then
1.3.2.9 ! misho      94:                        failed_sysvol mount "system volumes"
1.3       misho      95:                fi
                     96:        fi
                     97: fi
1.2       misho      98: 
                     99: if test -c "$FIT2CF" -a -d "$CFDIR"; then
1.3.2.5   misho     100:        echo " RootFS: Mount ELWIX flash volume"
                    101:        if ! mount -o ro $FIT2CF $CFDIR; then
                    102:                umount $CFDIR
                    103:                fsck -y -tufs $FIT2CF 1>/dev/null 2>&1
                    104:                if ! mount -o ro $FIT2CF $CFDIR; then
                    105:                        echo "Error:: mount of $FIT2CF to $CFDIR failed!"
                    106:                fi
                    107:        fi
1.2       misho     108: fi
                    109: 
1.3       misho     110: if test -r "$FRMPATH/$FRMFILE2"; then
1.2       misho     111:        boot_elwix2
                    112: fi
1.3.2.8   misho     113: 
                    114: mkdir /var/etc
                    115: mount -tunionfs /var/etc /etc
1.2       misho     116: 
                    117: exec /etc/rc.init

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