Annotation of elwix/config/etc/uboot/fit2cf.sh, revision 1.1.2.1
1.1.2.1 ! misho 1: #!/bin/sh
! 2: #
! 3: # (C)`10 by Michael Pounov <misho@elwix.org>
! 4: # ELWIX grow disklabel sectors and fit-to-flash whole unused space
! 5: #
! 6: # $Id: fit2cf.sh,v 1.1.1.1 2011/07/05 23:43:00 misho Exp $
! 7: #
! 8:
! 9: echo -n "++++ Check existence of fit2cf device ... "
! 10: if [ -c /dev/ufs/fit2cf ]; then
! 11: echo "OK"
! 12: exit 0
! 13: else
! 14: echo "Not found!"
! 15: fi
! 16:
! 17: if [ -z $1 ]; then
! 18: echo "Not specified disk drive ..."
! 19: exit 1
! 20: else
! 21: DEV=$(echo $1 | awk '{
! 22: if (!($1 ~ /^\//))
! 23: printf("/dev/%s", $1);
! 24: else
! 25: printf("%s", $1);
! 26: }')
! 27: if ! [ -c $DEV ]; then
! 28: echo "Wrong device $DEV !!!"
! 29: exit 1
! 30: fi
! 31: fi
! 32:
! 33: echo "Fit slice ${DEV}e to whole size of $DEV ..."
! 34: DEVSIZE=`diskinfo $DEV | awk '{ printf("%s", $4); }'`
! 35: disklabel $DEV 2>&- | awk -vdevsize=$DEVSIZE '($1 == "c:") {
! 36: for (i = 1; i <= NF; i++)
! 37: printf("%s ", (i == 2) ? devsize : $i);
! 38: printf("\n");
! 39: next;
! 40: }
! 41: ($1 == "a:") {
! 42: for (i = 1; i <= NF; i++) {
! 43: if (i == 2)
! 44: offset = $i + $3
! 45: printf("%s ", $i);
! 46: }
! 47: printf("\n");
! 48: printf("e: %d %d unused 0 0 0\n", devsize - offset, offset);
! 49: next;
! 50: }
! 51: { printf("%s\n", $0); }' >/tmp/disklabel.tmp
! 52:
! 53: sysctl kern.geom.debugflags=16
! 54: disklabel -R $DEV /tmp/disklabel.tmp
! 55: newfs -b8192 -f1024 -m0 -Lfit2cf ${DEV}e
! 56: sysctl kern.geom.debugflags=0
! 57:
! 58: rm -f /tmp/disklabel.tmp
! 59: echo
! 60: echo " Now will restart system to activate new schema !!!"
! 61: echo
! 62: reboot
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>