--- elwix/install2img.sh 2011/10/18 09:02:05 1.2 +++ 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.2 2011/10/18 09:02:05 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 -b ${WORLD}/boot/boot -m ${TARGET} ${1}; then + if disklabel -B -b ${WORLD}/boot/boot -m ${TARGET} $1; then echo "OK" else echo "Failed!" @@ -122,32 +122,33 @@ cleandev() gencksum() { echo -n "+++ Generate check sums ... " - md5 ${IMG} >${MD5CHK} - sha1 ${IMG} >${SHA1CHK} + 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 +gencksum $IMG $MD5CHK $SHA1CHK -gencksum -echo "ELWIX OS image complete." +echo "ELWIX OS image $IMGNAME complete."