Annotation of elwix/install2dev.sh, revision 1.2
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: #
! 8: # $Id: install2dev.sh,v 1.1.2.4 2011/07/25 00:19:39 misho Exp $
! 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:
! 123: if [ ! -r ${2:-"${REL}/${OS}"} ]; then
! 124: echo
! 125: echo "Error:: '$2' ELWIX OS readable file not found!"
! 126: echo
! 127: exit 2
! 128: fi
! 129:
! 130: initdev $DEV
! 131:
! 132: mountdev $DEV
! 133: install2 ${2:-"${REL}/${OS}"}
! 134: umountdev
! 135:
! 136: #enablejfs $DEV
! 137: boot2dev $DEV
! 138:
! 139: echo "ELWIX OS install complete."
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>