version 1.1, 2011/07/21 14:26:08
|
version 1.1.2.1, 2011/07/21 14:26:08
|
Line 0
|
Line 1
|
|
#!/bin/sh |
|
# |
|
# ELWIX install script for image |
|
# |
|
# (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org> |
|
# by Michael Pounov <misho@elwix.org> |
|
# |
|
# $Id$ |
|
# |
|
|
|
[ -r ./config/rc.elwix ] && . ./config/rc.elwix |
|
if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then |
|
echo |
|
echo "ELWIX project is not configured !?!" |
|
echo |
|
exit 1 |
|
fi |
|
|
|
if [ "${USER}" != "root" ]; then |
|
echo |
|
echo "ELWIX project is not configured - install must build under root !?!" |
|
echo |
|
exit 1 |
|
fi |
|
|
|
MNT="/mnt" |
|
DEV="" |
|
|
|
mkdevice() |
|
{ |
|
echo "+++ Make prepare file image ... " |
|
rm -f $IMG |
|
dd if=/dev/zero of=${IMG} bs=1024 count=${IMG_SIZE} |
|
|
|
echo -n "+++ Assign memory device to image ... " |
|
DEV=`mdconfig -a -tvnode -f ${IMG}` |
|
echo $DEV |
|
|
|
if [ -z "$DEV" ]; then |
|
rm -f $IMG |
|
exit 3 |
|
fi |
|
} |
|
|
|
initdev() |
|
{ |
|
echo -n "+++ Init device label ... " |
|
if disklabel -w $1; then |
|
echo "OK" |
|
else |
|
echo "Failed!" |
|
exit 3 |
|
fi |
|
|
|
if newfs -b8192 -f1024 -m0 -Lelwix ${1}a; then |
|
echo "+++ Formatting ... OK" |
|
else |
|
echo "+++ Formatting ... Failed!" |
|
exit 3 |
|
fi |
|
} |
|
|
|
mountdev() |
|
{ |
|
echo -n "+++ Mount device $1 to $MNT ... " |
|
if mount /dev/${1}a $MNT; then |
|
echo "OK" |
|
else |
|
echo "Failed!" |
|
exit 4 |
|
fi |
|
} |
|
|
|
umountdev() |
|
{ |
|
echo -n "+++ Unmount $MNT ... " |
|
if umount $MNT; then |
|
echo "OK" |
|
else |
|
echo "Failed!" |
|
exit 4 |
|
fi |
|
} |
|
|
|
enablejfs() |
|
{ |
|
if tunefs -n enable -j enable ${1}a; then |
|
echo "Start FS Journaling ... OK" |
|
else |
|
echo "Start FS Journaling ... Failed!" |
|
exit 6 |
|
fi |
|
} |
|
|
|
boot2dev() |
|
{ |
|
echo -n "+++ Installboot to device $1 ... " |
|
if disklabel -B $1; then |
|
echo "OK" |
|
else |
|
echo "Failed!" |
|
exit 7 |
|
fi |
|
} |
|
|
|
install2() |
|
{ |
|
echo -n "+++ Install ELWIX OS from $1 into $MNT ... " |
|
if tar -xzvpf $1 -C $MNT; then |
|
echo "OK" |
|
else |
|
echo "Failed!" |
|
exit 5 |
|
fi |
|
} |
|
|
|
cleandev() |
|
{ |
|
mdconfig -d -u $1 |
|
} |
|
|
|
### main() |
|
|
|
if [ ! -r ${1:-"${REL}/${OS}"} ]; then |
|
echo |
|
echo "Error:: ELWIX OS file not found!" |
|
echo |
|
exit 2 |
|
fi |
|
|
|
mkdevice |
|
|
|
initdev $DEV |
|
|
|
mountdev $DEV |
|
install2 ${1:-"$REL/$OS"} |
|
umountdev |
|
|
|
#enablejfs $DEV |
|
boot2dev $DEV |
|
|
|
cleandev $DEV |
|
echo "ELWIX OS image complete." |