ipq807x: Add ZyXEL NBG7815
[openwrt/staging/jow.git] / target / linux / ipq807x / base-files / lib / upgrade / platform.sh
index 63f546444f31ac804a8480106aaef87e39827e84..4a6a91b5f5dd49c7a5d281f649459373321a8ce3 100644 (file)
@@ -1,7 +1,7 @@
 PART_NAME=firmware
 REQUIRE_IMAGE_METADATA=1
 
-RAMFS_COPY_BIN='fw_printenv fw_setenv'
+RAMFS_COPY_BIN='fw_printenv fw_setenv head'
 RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
 
 xiaomi_initramfs_prepare() {
@@ -66,6 +66,20 @@ platform_do_upgrade() {
                rootfsname="rootfs"
                mmc_do_upgrade "$1"
                ;;
+       zyxel,nbg7815)
+               local config_mtdnum="$(find_mtd_index 0:bootconfig)"
+               [ -z "$config_mtdnum" ] && reboot
+               part_num="$(hexdump -e '1/1 "%01x|"' -n 1 -s 168 -C /dev/mtd$config_mtdnum | cut -f 1 -d "|" | head -n1)"
+               if [ "$part_num" -eq "0" ]; then
+                       kernelname="0:HLOS"
+                       rootfsname="rootfs"
+                       mmc_do_upgrade "$1"
+               else
+                       kernelname="0:HLOS_1"
+                       rootfsname="rootfs_1"
+                       mmc_do_upgrade "$1"
+               fi
+               ;;
        redmi,ax6|\
        xiaomi,ax3600|\
        xiaomi,ax9000)