Diff for /elwix/config/etc/default/rc.cfg between versions 1.3.2.19 and 1.3.2.25

version 1.3.2.19, 2017/10/08 20:31:11 version 1.3.2.25, 2018/07/06 10:10:32
Line 24  cd ${2:-/etc} Line 24  cd ${2:-/etc}
   
 case "$1" in  case "$1" in
         load)          load)
                CFG_NAND_MAP=`gpart show -p | awk '($3 ~ "d[0-9]g" && $4 == "\!0") { printf("%s\n", $3); }'`                CFG_NAND_MAP=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("/dev/%s", $3); }'`
                CFG_NAND_SIZE=`gpart show -p | awk '($3 ~ "d[0-9]g" && $4 == "\!0") { printf("%s\n", $2 * 512); }'`                CFG_NAND_SIZE=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("%s", $2 * 512); }'`
   
                 imgupd -gs ${CFG_NAND_SIZE} -f ${CFG_NAND_MAP} | \                  imgupd -gs ${CFG_NAND_SIZE} -f ${CFG_NAND_MAP} | \
                       gunzip 2>&- | cpio -iud 2>&- || die "ERROR:: config load"                        gunzip 2>&- | cpio -iud 2>&- || die "ERROR:: config load"
                 ;;                  ;;
         save)          save)
                CFG_NAND_MAP=`gpart show -p | awk '($3 ~ "d[0-9]g" && $4 == "\!0") { printf("%s\n", $3); }'`                CFG_NAND_MAP=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("/dev/%s", $3); }'`
                CFG_NAND_SIZE=`gpart show -p | awk '($3 ~ "d[0-9]g" && $4 == "\!0") { printf("%s\n", $2 * 512); }'`                CFG_NAND_SIZE=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("%s", $2 * 512); }'`
   
                 if [ ! -r ${CFG_NAND_LIST} ]; then                  if [ ! -r ${CFG_NAND_LIST} ]; then
                         echo "# Auto generated manifest file" >${CFG_NAND_LIST}                          echo "# Auto generated manifest file" >${CFG_NAND_LIST}
Line 47  case "$1" in Line 47  case "$1" in
                         imgupd -is ${CFG_NAND_SIZE} -f ${CFG_NAND_MAP} || die "ERROR:: config save"                          imgupd -is ${CFG_NAND_SIZE} -f ${CFG_NAND_MAP} || die "ERROR:: config save"
                 ;;                  ;;
         erase)          erase)
                CFG_NAND_MAP=`gpart show -p | awk '($3 ~ "d[0-9]g" && $4 == "\!0") { printf("%s\n", $3); }'`                CFG_NAND_MAP=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("/dev/%s", $3); }'`
                CFG_NAND_SIZE=`gpart show -p | awk '($3 ~ "d[0-9]g" && $4 == "\!0") { printf("%s\n", $2 * 512); }'`                CFG_NAND_SIZE=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("%s", $2 * 512); }'`
   
                 imgupd -is ${CFG_NAND_SIZE} -f ${CFG_NAND_MAP} /dev/zero || die "ERROR:: config erase"                  imgupd -is ${CFG_NAND_SIZE} -f ${CFG_NAND_MAP} /dev/zero || die "ERROR:: config erase"
                 echo "Config NAND was erased!"                  echo "Config NAND was erased!"
                 ;;                  ;;
         restore)          restore)
                CFG_NAND_MAP=`gpart show -p | awk '($3 ~ "d[0-9]g" && $4 == "\!0") { printf("%s\n", $3); }'`                CFG_NAND_MAP=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("/dev/%s", $3); }'`
                CFG_NAND_SIZE=`gpart show -p | awk '($3 ~ "d[0-9]g" && $4 == "\!0") { printf("%s\n", $2 * 512); }'`                CFG_NAND_SIZE=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("%s", $2 * 512); }'`
   
                 ELWIX_REMOTE_HOST=`cat /etc/myelwix`                  ELWIX_REMOTE_HOST=`cat /etc/myelwix`
                 ping -c1 $(echo ${ELWIX_REMOTE_HOST} | cut -f3 -d '/' | cut -f2 -d '@') >/dev/null 2>&1                  ping -c1 $(echo ${ELWIX_REMOTE_HOST} | cut -f3 -d '/' | cut -f2 -d '@') >/dev/null 2>&1
Line 71  case "$1" in Line 71  case "$1" in
                 echo "ELWIX restore process complete. Now rebooting system ..."                  echo "ELWIX restore process complete. Now rebooting system ..."
                 ;;                  ;;
         backup)          backup)
                CFG_NAND_MAP=`gpart show -p | awk '($3 ~ "d[0-9]g" && $4 == "\!0") { printf("%s\n", $3); }'`                CFG_NAND_MAP=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("/dev/%s", $3); }'`
                CFG_NAND_SIZE=`gpart show -p | awk '($3 ~ "d[0-9]g" && $4 == "\!0") { printf("%s\n", $2 * 512); }'`                CFG_NAND_SIZE=`gpart show -p | awk '(NR == 1) { disk = $4; } ($3 == disk"g") { printf("%s", $2 * 512); }'`
   
                 ELWIX_REMOTE_HOST="/tmp/${ELWIX_CFG_BACKUP_NAME}"                  ELWIX_REMOTE_HOST="/tmp/${ELWIX_CFG_BACKUP_NAME}"
   
Line 91  case "$1" in Line 91  case "$1" in
                 ;;                  ;;
         pkg_save)          pkg_save)
                 echo "ELWIX syncing information about installed packages into storage"                  echo "ELWIX syncing information about installed packages into storage"
                cfexec tar -czvf /elwix/altroot/pkg/db/pkgz.tar.gz /var/db/pkg/* || die "ERROR:: package save"                if mount | grep "${CFDIR}" >/dev/null 2>&1; then
                if [ $? -eq 127 ]; then                        mount -uw ${CFDIR}
                        tar -czvf /elwix/altroot/pkg/db/pkgz.tar.gz /var/db/pkg/* || die "ERROR:: package save" 
                 fi                  fi
                echo "ELWIX sync process complete."                cfexec -L "Locked by rc.cfg for pkg_save"
                 tar -czvf /elwix/altroot/pkg/db/pkgz.tar.gz /var/db/pkg/*
                 if [ $? -ne 0 ]; then
                         echo "ERROR:: package save"
                 else
                         echo "ELWIX sync process complete."
                 fi
                 if mount | grep "${CFDIR}" >/dev/null 2>&1; then
                         mount -ur ${CFDIR}
                 fi
                 cfexec -U
                 ;;                  ;;
         pkg_load)          pkg_load)
                 echo "ELWIX loading information about installed packages from storage"                  echo "ELWIX loading information about installed packages from storage"
Line 113  case "$1" in Line 122  case "$1" in
                         mkdir -p ${PKG2CF}/db                          mkdir -p ${PKG2CF}/db
                         mkdir -p ${PKG2CF}/local                          mkdir -p ${PKG2CF}/local
   
                           cfexec -L "Locked by rc.cfg for pkg2cf"
                         if [ ! -L /elwix/altroot/pkg/db ]; then                           if [ ! -L /elwix/altroot/pkg/db ]; then 
                                 cp -r /elwix/altroot/pkg/db/* ${PKG2CF}/db >/dev/null 2>&1                                  cp -r /elwix/altroot/pkg/db/* ${PKG2CF}/db >/dev/null 2>&1
                                cfexec rm -rf /elwix/altroot/pkg/db                                rm -rf /elwix/altroot/pkg/db
                                if [ $? -eq 127 ]; then                                ln -s ${PKG2CF}/db /elwix/altroot/pkg/db
                                        rm -rf /elwix/altroot/pkg/db 
                                fi 
                                cfexec ln -s ${PKG2CF}/db /elwix/altroot/pkg/db 
                                if [ $? -eq 127 ]; then 
                                        ln -s ${PKG2CF}/db /elwix/altroot/pkg/db 
                                fi 
                         fi                          fi
                         if [ ! -L /elwix/local ]; then                          if [ ! -L /elwix/local ]; then
                                 cp -r /elwix/local/* ${PKG2CF}/local >/dev/null 2>&1                                  cp -r /elwix/local/* ${PKG2CF}/local >/dev/null 2>&1
                                cfexec rm -rf /elwix/local                                rm -rf /elwix/local
                                if [ $? -eq 127 ]; then                                ln -s ${PKG2CF}/local /elwix/local
                                        rm -rf /elwix/local 
                                fi 
                                cfexec ln -s ${PKG2CF}/local /elwix/local 
                                if [ $? -eq 127 ]; then 
                                        ln -s ${PKG2CF}/local /elwix/local 
                                fi 
                         fi                          fi
                           cfexec -U
   
                         mount -ur ${CFDIR}                          mount -ur ${CFDIR}
                 fi                  fi
                 echo "ELWIX pkg2cf setup complete."                  echo "ELWIX pkg2cf setup complete."
                 ;;                  ;;
         boot2)          boot2)
                echo "ELWIX setup boot from second image"                echo "ELWIX setup system boot from second image"
                 if [ -c $ELWIX2 ]; then                  if [ -c $ELWIX2 ]; then
                         if mount | grep "${ELWIX2} " >/dev/null 2>&1; then                          if mount | grep "${ELWIX2} " >/dev/null 2>&1; then
                                 die "You already booted from backup image! Skip changing image ..."                                  die "You already booted from backup image! Skip changing image ..."
                         fi                          fi
   
                           IMGTYPE=$(cat ./platform | awk '{ printf("%s", $2); }')
                           case $IMGTYPE in
                                   base)
                                           if ! mount $ELWIX2 /mnt; then
                                                   die "Backup image seems like broken ..."
                                           fi
   
                                           awk -v elwix="$ELWIX" -v elwix2="$ELWIX2" '
                                                   ($1 == elwix) { gsub("\/", "\/", elwix); sub(elwix, elwix2, $0); }
                                                   { print $0; }
                                           ' /mnt/etc/fstab > /tmp/fstab.tmp
                                           if [ $? -eq 0 ]; then
                                                   cp /tmp/fstab.tmp /mnt/etc/fstab
                                                   rm -f /tmp/fstab.tmp
                                           fi
   
                                           umount /mnt
                                           echo "ELWIX prepare backup image for next boot!"
                                           ;;
                                   *)
                                           ;;
                           esac
   
                         cfger -o /tmp/loader.conf.local.tmp -c "Edit by /etc/rc.cfg" \                          cfger -o /tmp/loader.conf.local.tmp -c "Edit by /etc/rc.cfg" \
                                 -JSs currdev /boot/loader.conf.local "\"disk0f:\""                                  -JSs currdev /boot/loader.conf.local "\"disk0f:\""
                        cfexec cp /tmp/loader.conf.local.tmp /boot/loader.conf.local                        cfexec -L "Locked by rc.cfg for boot2"
                        if [ $? -eq 127 ]; then                        cp /tmp/loader.conf.local.tmp /boot/loader.conf.local
                                cp /tmp/loader.conf.local.tmp /boot/loader.conf.local                        cfexec -U
                        fi 
                         rm -f /tmp/loader.conf.local.tmp                          rm -f /tmp/loader.conf.local.tmp
                 else                  else
                         die "ERROR:: ELWIX has no second usable image!"                          die "ERROR:: ELWIX has no second usable image!"
Line 160  case "$1" in Line 181  case "$1" in
                 echo "ELWIX boot2 setup complete."                  echo "ELWIX boot2 setup complete."
                 ;;                  ;;
         boot)          boot)
                echo "ELWIX setup boot from main image"                echo "ELWIX setup system boot from main image"
                 if mount | grep "${ELWIX2} " >/dev/null 2>&1; then                  if mount | grep "${ELWIX2} " >/dev/null 2>&1; then
                         mount ${ELWIX} /mnt                          mount ${ELWIX} /mnt
   
Line 175  case "$1" in Line 196  case "$1" in
                 fi                  fi
                 echo "ELWIX boot setup complete."                  echo "ELWIX boot setup complete."
                 ;;                  ;;
         test_setup)  
                 echo "ELWIX test setup boot sequence"  
                 ln -sf /etc/rc.t /etc/rc.S  
                 cp /etc/rc.s/*.run /etc/rc.t  
                 cat >/etc/rc.t/999.test_setup.run <<__EOF  
 #!/bin/sh  
 #  
 # Test setup boot sequence timer script  
 # This script is auto generated from rc.cfg.  
   
 # 5min to reboot & restore old state of boot  
 sleep 300  
 reboot  
 __EOF  
                 chmod +x /etc/rc.t/999.test_setup.run  
                 echo "ELWIX test setup activated."  
                 echo "WARNING:: Next one load of ELWIX will be executing under test setup!"  
                 ;;  
         *)          *)
                 echo "Missing parameter - available options are :"                  echo "Missing parameter - available options are :"
                 echo "   load | save | erase | backup | restore | upgrade | "                  echo "   load | save | erase | backup | restore | upgrade | "
                echo "   pkg_load | pkg_save | pkg2cf | boot2 | boot | test_setup "                echo "   pkg_load | pkg_save | pkg2cf | boot2 | boot"
                 ;;                  ;;
 esac  esac
   

Removed from v.1.3.2.19  
changed lines
  Added in v.1.3.2.25


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