File:
[ELWIX - Embedded LightWeight unIX -] /
elwix /
config /
etc /
default /
fit2cf.sh
Revision
1.1.1.1 (vendor branch):
download - view:
text,
annotated -
select for diffs -
revision graph
Tue Jul 5 23:43:00 2011 UTC (13 years, 3 months ago) by
misho
Branches:
misho
CVS tags:
start,
elwix2_6,
elwix2_3,
elwix2_2,
elwix2_1,
elwix2_0,
elwix1_9_mips,
elwix1_9,
elwix1_8,
elwix1_7,
elwix1_6,
elwix1_5,
elwix1_4,
Patch1,
ELWIX2_5,
ELWIX2_2p0,
ELWIX2_1,
ELWIX2_0,
ELWIX1_9,
ELWIX1_8,
ELWIX1_7,
ELWIX1_6,
ELWIX1_5
ELWIX project
#!/bin/sh
#
# (C)`10 by Michael Pounov <misho@elwix.org>
# ELWIX grow disklabel sectors and fit-to-flash whole unused space
#
# $Id: fit2cf.sh,v 1.1.1.1 2011/07/05 23:43:00 misho Exp $
#
echo -n "++++ Check existence of fit2cf device ... "
if [ -c /dev/ufs/fit2cf ]; then
echo "OK"
exit 0
else
echo "Not found!"
fi
if [ -z $1 ]; then
echo "Not specified disk drive ..."
exit 1
else
DEV=$(echo $1 | awk '{
if (!($1 ~ /^\//))
printf("/dev/%s", $1);
else
printf("%s", $1);
}')
if ! [ -c $DEV ]; then
echo "Wrong device $DEV !!!"
exit 1
fi
fi
echo "Fit slice ${DEV}e to whole size of $DEV ..."
DEVSIZE=`diskinfo $DEV | awk '{ printf("%s", $4); }'`
disklabel $DEV 2>&- | awk -vdevsize=$DEVSIZE '($1 == "c:") {
for (i = 1; i <= NF; i++)
printf("%s ", (i == 2) ? devsize : $i);
printf("\n");
next;
}
($1 == "a:") {
for (i = 1; i <= NF; i++) {
if (i == 2)
offset = $i + $3
printf("%s ", $i);
}
printf("\n");
printf("e: %d %d unused 0 0 0\n", devsize - offset, offset);
next;
}
{ printf("%s\n", $0); }' >/tmp/disklabel.tmp
sysctl kern.geom.debugflags=16
disklabel -R $DEV /tmp/disklabel.tmp
newfs -b8192 -f1024 -m0 -Lfit2cf ${DEV}e
sysctl kern.geom.debugflags=0
rm -f /tmp/disklabel.tmp
echo
echo " Now will restart system to activate new schema !!!"
echo
reboot
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>