diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/inteno.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/inteno.sh index 677000f6b1a..ecaa1a808c5 100644 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/inteno.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/inteno.sh @@ -17,15 +17,8 @@ . /lib/upgrade/nand.sh inteno_do_upgrade () { - local tar_file=$1 - local cmd=cat - # WARNING: This fails if tar contains more than one 'sysupgrade-*' directory. - local board_dir="$(tar tf "$tar_file" | grep -m 1 '^sysupgrade-.*/$')" - board_dir="${board_dir%/}" - tar -xaf "$tar_file" - # get the size of the new bootfs - local _bootfs_size=$(wc -c < "$board_dir/kernel") + local _bootfs_size=$(tar -tvf $1 | grep kernel | awk '{print $3}') [ -n "$_bootfs_size" -a "$_bootfs_size" -gt "0" ] || nand_do_upgrade_failed # remove existing rootfses and recreate rootfs_0 @@ -35,15 +28,11 @@ inteno_do_upgrade () { ubirmvol /dev/ubi0 --name=rootfs_data > /dev/null 2>&1 ubimkvol /dev/ubi0 --type=static --size=${_bootfs_size} --name=rootfs_0 - # update the rootfs_0 contents - local _kern_ubivol=$( nand_find_volume "ubi0" "rootfs_0" ) - ubiupdatevol "/dev/$_kern_ubivol" "$board_dir/kernel" - fw_setenv root_vol rootfs_0 fw_setenv boot_cnt_primary 0 fw_setenv boot_cnt_alt 0 # proceed to upgrade the default way - CI_KERNPART=none + CI_KERNPART=rootfs_0 nand_do_upgrade "$1" }