File:  [ELWIX - Embedded LightWeight unIX -] / elwix / Attic / install2dev.sh
Revision 1.3: download - view: text, annotated - select for diffs - revision graph
Mon Aug 5 13:10:16 2013 UTC (10 years, 10 months ago) by misho
Branches: MAIN
CVS tags: elwix2_6, elwix2_3, elwix2_2, elwix2_1, elwix2_0, HEAD, ELWIX2_5, ELWIX2_2p0, ELWIX2_1, ELWIX2_0, ELWIX1_9
elwix 1.9

    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.3 2013/08/05 13:10:16 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 [ -z "$2" -o ! -r "$2" ]; then
  124: 	echo
  125: 	echo "Error:: ELWIX OS tar file '$2' not found!"
  126: 	echo
  127: 	exit 2
  128: fi
  129: 
  130: 
  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>