ar71xx: factor out safe loader image build code
[openwrt/staging/mkresin.git] / target / linux / ar71xx / image / common-tp-link.mk
index 317d5bb2f4d1f0fb546908f00712c4c10f0b2c5f..99acd7e5848fe9cc8df39292fe58d6f66e31b291 100644 (file)
@@ -44,16 +44,20 @@ endef
 define Device/tplink
   TPLINK_HWREV := 0x1
   TPLINK_HEADER_VERSION := 1
-  LOADER_TYPE := gz
+  IMAGES := sysupgrade.bin factory.bin
+endef
+
+define Device/tplink-lzma
+  $(Device/tplink)
   KERNEL := kernel-bin | patch-cmdline | lzma
   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | tplink-v1-header
-  IMAGES := sysupgrade.bin factory.bin
   IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade
   IMAGE/factory.bin := append-rootfs | mktplinkfw factory
 endef
 
 define Device/tplink-nolzma
   $(Device/tplink)
+  LOADER_TYPE := gz
   LOADER_FLASH_OFFS := 0x22000
   COMPILE := loader-$(1).gz
   COMPILE/loader-$(1).gz := loader-okli-compile
@@ -61,6 +65,16 @@ define Device/tplink-nolzma
   KERNEL := kernel-bin | uImage lzma -M 0x4f4b4c49 | loader-okli $(1) 7680
   KERNEL_INITRAMFS_NAME := vmlinux-initramfs.bin.lzma
   KERNEL_INITRAMFS := kernel-bin | loader-kernel-cmdline | tplink-v1-header
+  IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade
+  IMAGE/factory.bin := append-rootfs | mktplinkfw factory
+endef
+
+define Device/tplink-safeloader
+  $(Device/tplink)
+  KERNEL := kernel-bin | patch-cmdline | lzma | tplink-v1-header
+  IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
+       append-metadata | check-size $$$$(IMAGE_SIZE)
+  IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
 endef
 
 define Device/tplink-4m
@@ -76,19 +90,19 @@ define Device/tplink-8m
 endef
 
 define Device/tplink-4mlzma
-  $(Device/tplink)
+  $(Device/tplink-lzma)
   TPLINK_FLASHLAYOUT := 4Mlzma
   IMAGE_SIZE := 3904k
 endef
 
 define Device/tplink-8mlzma
-  $(Device/tplink)
+  $(Device/tplink-lzma)
   TPLINK_FLASHLAYOUT := 8Mlzma
   IMAGE_SIZE := 7936k
 endef
 
 define Device/tplink-16mlzma
-  $(Device/tplink)
+  $(Device/tplink-lzma)
   TPLINK_FLASHLAYOUT := 16Mlzma
   IMAGE_SIZE := 15872k
 endef