From: Sven Eckelmann Date: Mon, 1 Oct 2018 09:48:04 +0000 (+0200) Subject: ar71xx: Create /var/lock directory in platform_do_upgrade_* X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=8fe0c7ab1552d86aff766f1e6b382d4acdc966d8;p=openwrt%2Fstaging%2Fjow.git ar71xx: Create /var/lock directory in platform_do_upgrade_* The sysupgrade_pre_upgrade hook was removed with 5e1b4c57ded7 ("base-files: drop fwtool_pre_upgrade") while there were still scripts using it: * target/linux/ar71xx/base-files/lib/upgrade/allnet.sh * target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh * target/linux/ipq40xx/base-files/lib/upgrade/openmesh.sh Not running the hooks can either prevent a successful upgrade or brick the device because the fw_setenv program cannot be started correctly. Instead of adding this hook again, the directory /var/lock for fw_setenv can also just be created directly before fw_setenv is called. Fixes: 5e1b4c57ded7 ("base-files: drop fwtool_pre_upgrade") Signed-off-by: Sven Eckelmann (backported from c383e0c979fb95ef6de6782112aa86045fe4a6a5) --- diff --git a/target/linux/ar71xx/base-files/lib/upgrade/allnet.sh b/target/linux/ar71xx/base-files/lib/upgrade/allnet.sh index 8aa2b123fb..a521897844 100644 --- a/target/linux/ar71xx/base-files/lib/upgrade/allnet.sh +++ b/target/linux/ar71xx/base-files/lib/upgrade/allnet.sh @@ -3,14 +3,6 @@ # In case the check fails during boot, a failsafe-system is started to provide # a minimal web-interface for flashing a new firmware. -# create /var/lock for the lock "fw_setenv.lock" of fw_setenv -# the rest is copied using ar71xx's RAMFS_COPY_BIN and RAMFS_COPY_DATA -platform_add_ramfs_ubootenv() -{ - mkdir -p $RAM_ROOT/var/lock -} -append sysupgrade_pre_upgrade platform_add_ramfs_ubootenv - # determine size of the main firmware partition platform_get_firmware_size() { local dev size erasesize name @@ -152,6 +144,8 @@ rootfs_size $rootfs_hexsize rootfs_checksum $rootfs_md5 bootcmd bootm $vmlinux_hexaddr EOF + + mkdir -p /var/lock fw_setenv -s /tmp/fw_env_upgrade || { echo "failed to update U-Boot environment" return 1 diff --git a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh index 1895827174..5de4f3bec4 100644 --- a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh +++ b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh @@ -26,14 +26,6 @@ cfg_value_get() done } -# create /var/lock for the lock "fw_setenv.lock" of fw_setenv -# the rest is copied using ar71xx's RAMFS_COPY_BIN and RAMFS_COPY_DATA -platform_add_ramfs_ubootenv() -{ - mkdir -p $RAM_ROOT/var/lock -} -append sysupgrade_pre_upgrade platform_add_ramfs_ubootenv - platform_check_image_target_openmesh() { img_board_target="$1" @@ -232,6 +224,7 @@ platform_do_upgrade_openmesh() printf "rootfs_size %s\n" $rootfs_checksize >> $uboot_env_upgrade printf "rootfs_checksum %s\n" $rootfs_md5 >> $uboot_env_upgrade + mkdir -p /var/lock fw_setenv -s $uboot_env_upgrade || { echo "failed to update U-Boot environment" return 1