diff options
Diffstat (limited to 'target/linux/ipq40xx/base-files/lib')
-rw-r--r-- | target/linux/ipq40xx/base-files/lib/upgrade/platform.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh index defa04d880..261c468813 100644 --- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh @@ -5,11 +5,37 @@ RAMFS_COPY_BIN='fw_printenv fw_setenv' RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock' platform_check_image() { + case "$(board_name)" in + asus,rt-ac58u) + CI_UBIPART="UBI_DEV" + local ubidev=$(nand_find_ubi $CI_UBIPART) + local asus_root=$(nand_find_volume $ubidev jffs2) + + [ -n "$asus_root" ] || return 0 + + cat << EOF +jffs2 partition is still present. +There's probably no space left +to install the filesystem. + +You need to delete the jffs2 partition first: +# ubirmvol /dev/ubi0 --name=jffs2 + +Once this is done. Retry. +EOF + return 1 + ;; + esac return 0; } platform_do_upgrade() { case "$(board_name)" in + asus,rt-ac58u) + CI_UBIPART="UBI_DEV" + CI_KERNPART="linux" + nand_do_upgrade "$1" + ;; openmesh,a42) PART_NAME="inactive" platform_do_upgrade_openmesh "$ARGV" @@ -20,6 +46,15 @@ platform_do_upgrade() { esac } +platform_nand_pre_upgrade() { + case "$(board_name)" in + asus,rt-ac58u) + CI_UBIPART="UBI_DEV" + CI_KERNPART="linux" + ;; + esac +} + blink_led() { . /etc/diag.sh; set_state upgrade } |