diff options
Diffstat (limited to 'target/linux/ath79/base-files/lib')
-rw-r--r-- | target/linux/ath79/base-files/lib/upgrade/platform.sh | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/target/linux/ath79/base-files/lib/upgrade/platform.sh b/target/linux/ath79/base-files/lib/upgrade/platform.sh index 08039e0052..806b3f0787 100644 --- a/target/linux/ath79/base-files/lib/upgrade/platform.sh +++ b/target/linux/ath79/base-files/lib/upgrade/platform.sh @@ -5,6 +5,15 @@ PART_NAME=firmware REQUIRE_IMAGE_METADATA=1 +routerstation_do_upgrade() { + local append + local kern_length=0x$(dd if="$1" bs=2 skip=1 count=4 2>/dev/null) + + [ -f "$CONF_TAR" -a "$SAVE_CONFIG" -eq 1 ] && append="-j $CONF_TAR" + dd if="$1" bs=64k skip=1 2>/dev/null | \ + mtd -r $append -Fkernel:$kern_length:0x80060000,rootfs write - kernel:rootfs +} + platform_check_image() { return 0 } @@ -17,6 +26,10 @@ platform_do_upgrade() { PART_NAME="rootfs:kernel" default_do_upgrade "$ARGV" ;; + ubnt,routerstation|\ + ubnt,routerstation-pro) + routerstation_do_upgrade "$ARGV" + ;; *) default_do_upgrade "$ARGV" ;; |