--- elwix/config/etc/default/rc.cfg 2017/10/08 00:05:37 1.3.2.16 +++ elwix/config/etc/default/rc.cfg 2017/10/08 01:38:48 1.3.2.17 @@ -2,13 +2,14 @@ # # U-boot cfg nand map load/save management script # -# $Id: rc.cfg,v 1.3.2.16 2017/10/08 00:05:37 misho Exp $ +# $Id: rc.cfg,v 1.3.2.17 2017/10/08 01:38:48 misho Exp $ CFG_NAND_LIST="/etc/cfg.map" CFG_NAND_MAP="/dev/ada0g" CFG_NAND_SIZE=524288 ELWIX2="/dev/ufs/elwix2" +ELWIX="/dev/ufs/elwix" UPGRADE_GPIO_PINS="1 2 3" @@ -103,7 +104,7 @@ case "$1" in ;; pkg2cf) echo "ELWIX setup new pkg location on CF at $PKGCF" - if ! mount | grep "${CFDIR}"; then + if ! mount | grep "${CFDIR}" >/dev/null 2>&1; then echo "Skip pkg2cf setup, because CF partition isn't mounted ..." exit 1 fi @@ -142,6 +143,10 @@ case "$1" in boot2) echo "ELWIX setup boot from second image" if [ -c $ELWIX2 ]; then + if mount | grep "${ELWIX2} " >/dev/null 2>&1; then + die "You already booted from backup image! Skip changing image ..." + fi + cfger -o /tmp/loader.conf.local.tmp -c "Edit by /etc/rc.cfg" \ -JSs currdev /boot/loader.conf.local "\"disk0f:\"" cfexec cp /tmp/loader.conf.local.tmp /boot/loader.conf.local @@ -156,17 +161,23 @@ case "$1" in ;; boot) echo "ELWIX setup boot from main image" - cfger -o /tmp/loader.conf.local.tmp -c "Edit by /etc/rc.cfg" \ - -JSs currdev /boot/loader.conf.local "\"disk0a:\"" - cfexec cp /tmp/loader.conf.local.tmp /boot/loader.conf.local - if [ $? -eq 127 ]; then - cp /tmp/loader.conf.local.tmp /boot/loader.conf.local + if mount | grep "${ELWIX2} " >/dev/null 2>&1; then + mount ${ELWIX} /mnt + + cfger -o /tmp/loader.conf.local.tmp -c "Edit by /etc/rc.cfg" \ + -JSs currdev /mnt/boot/loader.conf.local "\"disk0a:\"" + cp /tmp/loader.conf.local.tmp /mnt/boot/loader.conf.local + rm -f /tmp/loader.conf.local.tmp + + umount /mnt + else + die "You already booted from main image! Skip changing image ..." fi - rm -f /tmp/loader.conf.local.tmp echo "ELWIX boot setup complete." ;; *) - echo "Missing parameter - available options are (load | save | erase | backup | restore | upgrade | pkg_load | pkg_save | pkg2cf | boot2 | boot)" + echo "Missing parameter - available options are (load | save | erase | \ + backup | restore | upgrade | pkg_load | pkg_save | pkg2cf | boot2 | boot)" ;; esac