--- elwix/install2img.sh 2011/07/21 14:26:08 1.1.2.1 +++ elwix/install2img.sh 2013/08/05 13:10:16 1.7 @@ -5,7 +5,7 @@ # (C) AITNET ltd - Sofia/Bulgaria # by Michael Pounov # -# $Id: install2img.sh,v 1.1.2.1 2011/07/21 14:26:08 misho Exp $ +# $Id: install2img.sh,v 1.7 2013/08/05 13:10:16 misho Exp $ # [ -r ./config/rc.elwix ] && . ./config/rc.elwix @@ -29,15 +29,15 @@ DEV="" mkdevice() { echo "+++ Make prepare file image ... " - rm -f $IMG - dd if=/dev/zero of=${IMG} bs=1024 count=${IMG_SIZE} + rm -f $1 + dd if=/dev/zero of=$1 bs=1024 count=$2 - echo -n "+++ Assign memory device to image ... " - DEV=`mdconfig -a -tvnode -f ${IMG}` + echo -n "+++ Assign memory device to image $1 ... " + DEV=`mdconfig -a -tvnode -f $1` echo $DEV if [ -z "$DEV" ]; then - rm -f $IMG + rm -f $1 exit 3 fi } @@ -95,7 +95,7 @@ enablejfs() boot2dev() { echo -n "+++ Installboot to device $1 ... " - if disklabel -B $1; then + if disklabel -B -b ${WORLD}/boot/boot -m ${TARGET} $1; then echo "OK" else echo "Failed!" @@ -119,25 +119,36 @@ cleandev() mdconfig -d -u $1 } +gencksum() +{ + echo -n "+++ Generate check sums ... " + md5 $1 >$2 + sha1 $1 >$3 + echo "OK" +} + ### main() -if [ ! -r ${1:-"${REL}/${OS}"} ]; then +if [ -z "$1" -o ! -r "$1" ]; then echo - echo "Error:: ELWIX OS file not found!" + echo "Error:: ELWIX OS tar file '$1' not found!" echo exit 2 +else + IMGNAME=$(basename $1 | sed -e "s/.tar.gz//") + MD5CHK="${REL}/${IMGNAME}.md5" + SHA1CHK="${REL}/${IMGNAME}.sha1" + IMG="${REL}/${IMGNAME}.img" fi -mkdevice - +mkdevice $IMG ${2:-"${IMG_SIZE}"} initdev $DEV - mountdev $DEV -install2 ${1:-"$REL/$OS"} +install2 $1 umountdev - #enablejfs $DEV boot2dev $DEV - cleandev $DEV -echo "ELWIX OS image complete." +gencksum $IMG $MD5CHK $SHA1CHK + +echo "ELWIX OS image $IMGNAME complete."