Annotation of elwix/config/etc/default/fit2cf.sh, revision 1.1.1.1.24.3
1.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: #
1.1.1.1.24.3! misho 6: # $Id: fit2cf.sh,v 1.1.1.1.24.2 2017/06/22 08:21:05 misho Exp $
1.1 misho 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 ..."
1.1.1.1.24.3! misho 34: DEVSIZE=`diskinfo $DEV | awk '{ printf("%d", $4); }'`
! 35: OLDSIZE=`disklabel $DEV | awk '($1 == "c:") { printf("%d", $2); }'`
! 36: disklabel $DEV 2>&- | awk -vdevsize=$DEVSIZE -voldsize=$OLDSIZE '($1 == "c:") {
1.1 misho 37: for (i = 1; i <= NF; i++)
38: printf("%s ", (i == 2) ? devsize : $i);
39: printf("\n");
40: next;
41: }
42: ($1 == "a:") {
1.1.1.1.24.2 misho 43: printf("e: %d %d unused 0 0 0\n", devsize - oldsize, oldsize);
1.1 misho 44: }
45: { printf("%s\n", $0); }' >/tmp/disklabel.tmp
46:
47: sysctl kern.geom.debugflags=16
48: disklabel -R $DEV /tmp/disklabel.tmp
49: newfs -b8192 -f1024 -m0 -Lfit2cf ${DEV}e
50: sysctl kern.geom.debugflags=0
51:
52: rm -f /tmp/disklabel.tmp
53: echo
54: echo " Now will restart system to activate new schema !!!"
55: echo
1.1.1.1.24.1 misho 56: kill -2 1
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>