ath79: image: fix initramfs for safeloader devices
[oweals/openwrt.git] / target / linux / ath79 / image / common-tp-link.mk
1 DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION
2 DEVICE_VARS += TPLINK_BOARD_ID TPLINK_HWREVADD TPLINK_HVERSION
3
4 define Build/uImageArcher
5         mkimage -A $(LINUX_KARCH) \
6                 -O linux -T kernel -C $(1) -a $(KERNEL_LOADADDR) \
7                 -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
8                 -n '$(call toupper,$(LINUX_KARCH)) OpenWrt Linux-$(LINUX_VERSION)' -d $@ $@.new
9         @mv $@.new $@
10 endef
11
12 define Device/tplink-v1
13   DEVICE_VENDOR := TP-Link
14   TPLINK_HWID := 0x0
15   TPLINK_HWREV := 0x1
16   TPLINK_HEADER_VERSION := 1
17   LOADER_TYPE := gz
18   KERNEL := kernel-bin | append-dtb | lzma
19   KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-v1-header
20   IMAGES += factory.bin
21   IMAGE/sysupgrade.bin := tplink-v1-image sysupgrade | append-metadata
22   IMAGE/factory.bin := tplink-v1-image factory
23 endef
24
25 define Device/tplink-v2
26   DEVICE_VENDOR := TP-Link
27   TPLINK_HWID := 0x0
28   TPLINK_HWREV := 0x1
29   TPLINK_HWREVADD := 0x0
30   TPLINK_HVERSION := 3
31   KERNEL := kernel-bin | append-dtb | lzma
32   KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-v2-header
33   IMAGE/sysupgrade.bin := tplink-v2-image -s | append-metadata | \
34         check-size
35 endef
36
37 define Device/tplink-nolzma
38   $(Device/tplink-v1)
39   LOADER_FLASH_OFFS := 0x22000
40   COMPILE := loader-$(1).gz
41   COMPILE/loader-$(1).gz := loader-okli-compile
42   KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | \
43         loader-okli $(1) 7680
44   KERNEL_INITRAMFS := kernel-bin | append-dtb | gzip | tplink-v1-header
45 endef
46
47 define Device/tplink-4m
48   $(Device/tplink-nolzma)
49   TPLINK_FLASHLAYOUT := 4M
50   IMAGE_SIZE := 3904k
51 endef
52
53 define Device/tplink-4mlzma
54   $(Device/tplink-v1)
55   TPLINK_FLASHLAYOUT := 4Mlzma
56   IMAGE_SIZE := 3904k
57 endef
58
59 define Device/tplink-8m
60   $(Device/tplink-nolzma)
61   TPLINK_FLASHLAYOUT := 8M
62   IMAGE_SIZE := 8000k
63 endef
64
65 define Device/tplink-8mlzma
66   $(Device/tplink-v1)
67   TPLINK_FLASHLAYOUT := 8Mlzma
68   IMAGE_SIZE := 8000k
69 endef
70
71 define Device/tplink-16mlzma
72   $(Device/tplink-v1)
73   TPLINK_FLASHLAYOUT := 16Mlzma
74   IMAGE_SIZE := 16192k
75 endef
76
77 define Device/tplink-safeloader
78   $(Device/tplink-v1)
79   TPLINK_HWREV := 0x0
80   KERNEL := kernel-bin | append-dtb | lzma | tplink-v1-header -O
81   KERNEL_INITRAMFS := $$(KERNEL)
82   IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
83         append-metadata | check-size
84   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
85 endef
86
87 define Device/tplink-safeloader-uimage
88   $(Device/tplink-safeloader)
89   KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma
90   KERNEL_INITRAMFS := $$(KERNEL)
91 endef
92
93 define Device/tplink-safeloader-okli
94   $(Device/tplink-safeloader)
95   LOADER_TYPE := elf
96   LOADER_FLASH_OFFS := 0x43000
97   COMPILE := loader-$(1).elf
98   COMPILE/loader-$(1).elf := loader-okli-compile
99   KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | \
100         loader-okli $(1) 12288
101   KERNEL_INITRAMFS := $$(KERNEL)
102 endef