Diff for /elwix/install2img.sh between versions 1.2 and 1.9

version 1.2, 2011/10/18 09:02:05 version 1.9, 2021/03/11 13:59:50
Line 29  DEV="" Line 29  DEV=""
 mkdevice()  mkdevice()
 {  {
         echo "+++ Make prepare file image ... "          echo "+++ Make prepare file image ... "
        rm -f $IMG        rm -f $1
        dd if=/dev/zero of=${IMG} bs=1024 count=${IMG_SIZE}        dd if=/dev/zero of=$1 bs=1024 count=$2
   
        echo -n "+++ Assign memory device to image ... "        echo -n "+++ Assign memory device to image $1 ... "
        DEV=`mdconfig -a -tvnode -f ${IMG}`        DEV=`mdconfig -a -tvnode -f $1`
         echo $DEV          echo $DEV
   
         if [ -z "$DEV" ]; then          if [ -z "$DEV" ]; then
                rm -f $IMG                rm -f $1
                 exit 3                  exit 3
         fi          fi
 }  }
Line 52  initdev() Line 52  initdev()
                 exit 3                  exit 3
         fi          fi
   
           if [ X"$2" != X"no" ]; then
                   disklabel $1 2>&- | awk -vcfgsize=${CFG_NAND_SIZE:-65536} '($1 == "a:") {
                                           cfgsize /= 512;
                                           bootoff = $3;
                                           freesize = $2 - cfgsize;
                                           imgsize = freesize / 2;
   
                                           printf("  a: %d %d unused 0 0 0\n", imgsize, cfgsize + bootoff);
                                           printf("  f: %d %d unused 0 0 0\n", imgsize, imgsize + cfgsize + bootoff);
                                           printf("  g: %d %d cfg 0 0 0\n", cfgsize, bootoff);
                                           next;
                                   }
                                   { printf("%s\n", $0); }' >/tmp/disklabel.tmp
           else
                   disklabel $1 2>&- | awk -vcfgsize=${CFG_NAND_SIZE:-65536} '($1 == "a:") {
                                           cfgsize /= 512;
                                           bootoff = $3;
                                           freesize = $2 - cfgsize;
                                           imgsize = freesize;
   
                                           printf("  a: %d %d unused 0 0 0\n", imgsize, cfgsize + bootoff);
                                           printf("  g: %d %d cfg 0 0 0\n", cfgsize, bootoff);
                                           next;
                                   }
                                   { printf("%s\n", $0); }' >/tmp/disklabel.tmp
           fi
   
           if disklabel -R -m ${TARGET} $1 /tmp/disklabel.tmp; then
                   rm -f /tmp/disklabel.tmp
                   echo "OK"
           else
                   echo "Failed!"
                   exit 3
           fi
   
         if newfs -b8192 -f1024 -m0 -Lelwix ${1}a; then          if newfs -b8192 -f1024 -m0 -Lelwix ${1}a; then
                 echo "+++ Formatting ... OK"                  echo "+++ Formatting ... OK"
         else          else
Line 95  enablejfs() Line 130  enablejfs()
 boot2dev()  boot2dev()
 {  {
         echo -n "+++ Installboot to device $1 ... "          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"                  echo "OK"
         else          else
                 echo "Failed!"                  echo "Failed!"
Line 114  install2() Line 149  install2()
         fi          fi
 }  }
   
   mkbak2()
   {
           if [ X"$2" != X"no" ]; then
                   echo "+++ Syncing ELWIX OS image as backup OS image into ${1}f ..."
                   if dd if=/dev/${1}a of=/dev/${1}f; then
                           tunefs -L elwix2 /dev/${1}f
                           echo "OK"
                   else
                           echo "Failed!"
                           exit 8
                   fi
           else
                   echo "+++ Make ELWIX OS system image partion for upgrade into ${REL}/sys4up_${IMGNAME}.bin ..."
                   if dd if=/dev/${1}a of=${REL}/sys4up_${IMGNAME}.bin; then
                           echo "OK"
                   else
                           echo "Failed!"
                           exit 9
                   fi
           fi
   
           if [ ! -f ${REL}/sys4up_${IMGNAME}.bin ]; then
                   echo "+++ Make ELWIX OS system image partion for upgrade into ${REL}/sys4up_${IMGNAME}.bin ..."
                   if dd if=/dev/${1}a of=${REL}/sys4up_${IMGNAME}.bin; then
                           echo "OK"
                   else
                           echo "Failed!"
                           exit 9
                   fi
           fi
   }
   
 cleandev()  cleandev()
 {  {
         mdconfig -d -u $1          mdconfig -d -u $1
Line 122  cleandev() Line 189  cleandev()
 gencksum()  gencksum()
 {  {
         echo -n "+++ Generate check sums ... "          echo -n "+++ Generate check sums ... "
        md5 ${IMG} >${MD5CHK}        md5 $1 >$2
        sha1 ${IMG} >${SHA1CHK}        sha1 $1 >$3
         echo "OK"          echo "OK"
 }  }
   
 ### main()  ### main()
   
if [ ! -r ${1:-"${REL}/${OS}"} ]; thenif [ -z "$1" -o ! -r "$1" ]; then
         echo          echo
        echo "Error:: ELWIX OS file not found!"        echo "Error:: ELWIX OS tar file '$1' not found!"
         echo "Syntax:: ./install2img.sh <ELWIX.tar.gz> [CF size] [yes == make secondary backup image]"
         echo          echo
         exit 2          exit 2
   else
           IMGNAME=$(basename $1 | sed -e "s/.tar.gz//")
           MD5CHK="${REL}/${IMGNAME}${3:+"_2nd"}.md5"
           SHA1CHK="${REL}/${IMGNAME}${3:+"_2nd"}.sha1"
           IMG="${REL}/${IMGNAME}${3:+"_2nd"}.img"
 fi  fi
   
mkdevicemkdevice $IMG ${2:-"${IMG_SIZE}"}
initdev $DEV ${3:-"no"}
initdev $DEV 
 
 mountdev $DEV  mountdev $DEV
install2 ${1:-"$REL/$OS"}install2 $1
 umountdev  umountdev
   
 #enablejfs $DEV  #enablejfs $DEV
 boot2dev $DEV  boot2dev $DEV
mkbak2 $DEV ${3:-"no"}
 cleandev $DEV  cleandev $DEV
   gencksum $IMG $MD5CHK $SHA1CHK
   gencksum ${REL}/sys4up_${IMGNAME}.bin ${REL}/sys4up_${IMGNAME}.md5 ${REL}/sys4up_${IMGNAME}.sha1
   
gencksumecho "ELWIX OS image ${IMGNAME}${3:+"_2nd"} complete."
echo "ELWIX OS image complete." 

Removed from v.1.2  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>