Annotation of elwix/install2dev.sh, revision 1.3

1.2       misho       1: #!/bin/sh
                      2: #
                      3: # ELWIX install script for device
                      4: #
                      5: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
                      6: #    by Michael Pounov <misho@elwix.org>
                      7: #
1.3     ! misho       8: # $Id: install2dev.sh,v 1.2.10.1 2013/08/05 13:09:20 misho Exp $
1.2       misho       9: #
                     10: 
                     11: [ -r ./config/rc.elwix ] && . ./config/rc.elwix
                     12: if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then
                     13:        echo
                     14:        echo "ELWIX project is not configured !?!"
                     15:        echo
                     16:        exit 1
                     17: fi
                     18: 
                     19: if [ "${USER}" != "root" ]; then
                     20:        echo
                     21:        echo "ELWIX project is not configured - install must build under root !?!"
                     22:        echo
                     23:        exit 1
                     24: fi
                     25: 
                     26: MNT="/mnt"
                     27: 
                     28: initdev()
                     29: {
                     30:        echo -n "+++ Init device $1 label ... "
                     31:        if disklabel -w $1; then
                     32:                echo "OK"
                     33:        else
                     34:                echo "Failed!"
                     35:                exit 3
                     36:        fi
                     37: 
                     38:        if newfs -b8192 -f1024 -m0 -Lelwix ${1}a; then
                     39:                echo "+++ Formatting ... OK"
                     40:        else
                     41:                echo "+++ Formatting ... Failed!"
                     42:                exit 3
                     43:        fi
                     44: }
                     45: 
                     46: mountdev()
                     47: {
                     48:        echo -n "+++ Mount device $1 to $MNT ... "
                     49:        if mount ${1}a $MNT; then
                     50:                echo "OK"
                     51:        else
                     52:                echo "Failed!"
                     53:                exit 4
                     54:        fi
                     55: }
                     56: 
                     57: umountdev()
                     58: {
                     59:        echo -n "+++ Unmount $MNT ... "
                     60:        if umount $MNT; then
                     61:                echo "OK"
                     62:        else
                     63:                echo "Failed!"
                     64:                exit 4
                     65:        fi
                     66: }
                     67: 
                     68: enablejfs()
                     69: {
                     70:        if tunefs -n enable -j enable ${1}a; then
                     71:                echo "Start FS Journaling ... OK"
                     72:        else
                     73:                echo "Start FS Journaling ... Failed!"
                     74:                exit 6
                     75:        fi
                     76: }
                     77: 
                     78: boot2dev()
                     79: {
                     80:        echo -n "+++ Installboot to device $1 ... "
                     81:        if disklabel -B -b ${WORLD}/boot/boot -m ${TARGET} ${1}; then
                     82:                echo "OK"
                     83:        else
                     84:                echo "Failed!"
                     85:                exit 7
                     86:        fi
                     87: }
                     88: 
                     89: install2()
                     90: {
                     91:        echo -n "+++ Install ELWIX OS from $1 into $MNT ... "
                     92:        if tar -xzvpf $1 -C $MNT; then
                     93:                echo "OK"
                     94:        else
                     95:                echo "Failed!"
                     96:                exit 5
                     97:        fi
                     98: }
                     99: 
                    100: ### main()
                    101: 
                    102: if [ -z $1 ]; then
                    103:        echo
                    104:        echo "Error:: not specified raw disk drive for install ELWIX OS ..."
                    105:        echo "  Syntax: (raw disk like: /dev/da1 or da1)"
                    106:        echo
                    107:        echo " If you wish, may apply secondary optional file name argument for other firmware"
                    108:        echo
                    109:        exit 2
                    110: else
                    111:        DEV=$(echo $1 | awk '{ 
                    112:                if (!($1 ~ /^\//))
                    113:                        printf("/dev/%s", $1);
                    114:                else
                    115:                        printf("%s", $1);
                    116:        }')
                    117:        if ! [ -c $DEV ]; then
                    118:                echo "Wrong device $DEV !!!"
                    119:                exit 1
                    120:        fi
                    121: fi
                    122: 
1.3     ! misho     123: if [ -z "$2" -o ! -r "$2" ]; then
1.2       misho     124:        echo
1.3     ! misho     125:        echo "Error:: ELWIX OS tar file '$2' not found!"
1.2       misho     126:        echo
                    127:        exit 2
                    128: fi
                    129: 
1.3     ! misho     130: 
1.2       misho     131: initdev $DEV
                    132: 
                    133: mountdev $DEV
                    134: install2 ${2:-"${REL}/${OS}"}
                    135: umountdev
                    136: 
                    137: #enablejfs $DEV
                    138: boot2dev $DEV
                    139: 
                    140: echo "ELWIX OS install complete."

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