ath79: fix parallel image generation for Zyxel NBG6716
[openwrt/staging/chunkeey.git] / target / linux / ath79 / image / nand.mk
1 # attention: only zlib compression is allowed for the boot fs
2 define Build/zyxel-buildkerneljffs
3 mkdir -p $@.tmp/boot
4 cp $@ $@.tmp/boot/vmlinux.lzma.uImage
5 $(STAGING_DIR_HOST)/bin/mkfs.jffs2 \
6 --big-endian --squash-uids -v -e 128KiB -q -f -n -x lzma -x rtime \
7 -o $@ \
8 -d $@.tmp
9 rm -rf $@.tmp
10 endef
11
12 define Build/zyxel-factory
13 let \
14 maxsize="$(subst k,* 1024,$(RAS_ROOTFS_SIZE))"; \
15 let size="$$(stat -c%s $@)"; \
16 if [ $$size -lt $$maxsize ]; then \
17 $(STAGING_DIR_HOST)/bin/mkrasimage \
18 -b $(RAS_BOARD) \
19 -v $(RAS_VERSION) \
20 -r $@ \
21 -s $$maxsize \
22 -o $@.new \
23 -l 131072 \
24 && mv $@.new $@ ; \
25 fi
26 endef
27
28 define Device/8dev_rambutan
29 SOC := qca9557
30 DEVICE_VENDOR := 8devices
31 DEVICE_MODEL := Rambutan
32 DEVICE_PACKAGES := kmod-usb2
33 BLOCKSIZE := 128k
34 PAGESIZE := 2048
35 KERNEL_SIZE := 4096k
36 KERNEL_IN_UBI := 1
37 IMAGES := factory.bin sysupgrade.tar
38 IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
39 IMAGE/factory.bin := append-ubi
40 endef
41 TARGET_DEVICES += 8dev_rambutan
42
43 define Device/aerohive_hiveap-121
44 SOC := ar9344
45 DEVICE_VENDOR := Aerohive
46 DEVICE_MODEL := HiveAP 121
47 DEVICE_PACKAGES := kmod-usb2
48 BLOCKSIZE := 128k
49 PAGESIZE := 2048
50 IMAGE_SIZE := 116m
51 KERNEL_SIZE := 5120k
52 UBINIZE_OPTS := -E 5
53 SUPPORTED_DEVICES += hiveap-121
54 IMAGES += factory.bin
55 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
56 check-size
57 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
58 endef
59 TARGET_DEVICES += aerohive_hiveap-121
60
61 define Device/domywifi_dw33d
62 SOC := qca9558
63 DEVICE_VENDOR := DomyWifi
64 DEVICE_MODEL := DW33D
65 DEVICE_PACKAGES := kmod-usb2 kmod-usb-storage kmod-usb-ledtrig-usbport \
66 kmod-ath10k-ct ath10k-firmware-qca988x-ct
67 KERNEL_SIZE := 5120k
68 IMAGE_SIZE := 98304k
69 BLOCKSIZE := 128k
70 PAGESIZE := 2048
71 UBINIZE_OPTS := -E 5
72 IMAGES += factory.bin
73 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
74 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
75 check-size
76 endef
77 TARGET_DEVICES += domywifi_dw33d
78
79 define Device/glinet_gl-ar300m-common-nand
80 SOC := qca9531
81 DEVICE_VENDOR := GL.iNet
82 DEVICE_MODEL := GL-AR300M
83 DEVICE_PACKAGES := kmod-usb2
84 KERNEL_SIZE := 4096k
85 IMAGE_SIZE := 16000k
86 PAGESIZE := 2048
87 VID_HDR_OFFSET := 2048
88 endef
89
90 define Device/glinet_gl-ar300m-nand
91 $(Device/glinet_gl-ar300m-common-nand)
92 DEVICE_VARIANT := NAND
93 BLOCKSIZE := 128k
94 IMAGES += factory.img
95 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
96 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
97 SUPPORTED_DEVICES += glinet,gl-ar300m-nor
98 endef
99 TARGET_DEVICES += glinet_gl-ar300m-nand
100
101 define Device/glinet_gl-ar300m-nor
102 $(Device/glinet_gl-ar300m-common-nand)
103 DEVICE_VARIANT := NOR
104 SUPPORTED_DEVICES += glinet,gl-ar300m-nand gl-ar300m
105 endef
106 TARGET_DEVICES += glinet_gl-ar300m-nor
107
108 define Device/glinet_gl-ar750s-common
109 SOC := qca9563
110 DEVICE_VENDOR := GL.iNet
111 DEVICE_MODEL := GL-AR750S
112 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct kmod-usb2 \
113 kmod-usb-storage block-mount
114 IMAGE_SIZE := 16000k
115 endef
116
117 define Device/glinet_gl-ar750s-nor-nand
118 $(Device/glinet_gl-ar750s-common)
119 DEVICE_VARIANT := NOR/NAND
120 KERNEL_SIZE := 4096k
121 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
122 SUPPORTED_DEVICES += glinet,gl-ar750s-nor
123 endef
124 TARGET_DEVICES += glinet_gl-ar750s-nor-nand
125
126 define Device/glinet_gl-ar750s-nor
127 $(Device/glinet_gl-ar750s-common)
128 DEVICE_VARIANT := NOR
129 SUPPORTED_DEVICES += gl-ar750s glinet,gl-ar750s glinet,gl-ar750s-nor-nand
130 endef
131 TARGET_DEVICES += glinet_gl-ar750s-nor
132
133 define Device/glinet_gl-e750
134 SOC := qca9531
135 DEVICE_VENDOR := GL.iNet
136 DEVICE_MODEL := GL-E750
137 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct kmod-usb2
138 SUPPORTED_DEVICES += gl-e750
139 KERNEL_SIZE := 4096k
140 IMAGE_SIZE := 131072k
141 PAGESIZE := 2048
142 VID_HDR_OFFSET := 2048
143 BLOCKSIZE := 128k
144 IMAGES += factory.img
145 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
146 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
147 endef
148 TARGET_DEVICES += glinet_gl-e750
149
150 # fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + 0xff)
151 define Device/netgear_ath79_nand
152 DEVICE_VENDOR := NETGEAR
153 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
154 KERNEL_SIZE := 4096k
155 BLOCKSIZE := 128k
156 PAGESIZE := 2048
157 IMAGE_SIZE := 25600k
158 KERNEL := kernel-bin | append-dtb | lzma -d20 | \
159 pad-offset $$(KERNEL_SIZE) 129 | uImage lzma | \
160 append-string -e '\xff' | \
161 append-uImage-fakehdr filesystem $$(UIMAGE_MAGIC)
162 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | uImage lzma
163 IMAGES := sysupgrade.bin factory.img
164 IMAGE/factory.img := append-kernel | append-ubi | netgear-dni | \
165 check-size
166 IMAGE/sysupgrade.bin := sysupgrade-tar | check-size | append-metadata
167 UBINIZE_OPTS := -E 5
168 endef
169
170 define Device/netgear_wndr3700-v4
171 SOC := ar9344
172 DEVICE_MODEL := WNDR3700
173 DEVICE_VARIANT := v4
174 UIMAGE_MAGIC := 0x33373033
175 NETGEAR_BOARD_ID := WNDR3700v4
176 NETGEAR_HW_ID := 29763948+128+128
177 $(Device/netgear_ath79_nand)
178 endef
179 TARGET_DEVICES += netgear_wndr3700-v4
180
181 define Device/netgear_wndr4300
182 SOC := ar9344
183 DEVICE_MODEL := WNDR4300
184 UIMAGE_MAGIC := 0x33373033
185 NETGEAR_BOARD_ID := WNDR4300
186 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
187 $(Device/netgear_ath79_nand)
188 endef
189 TARGET_DEVICES += netgear_wndr4300
190
191 define Device/netgear_wndr4300sw
192 SOC := ar9344
193 DEVICE_MODEL := WNDR4300SW
194 UIMAGE_MAGIC := 0x33373033
195 NETGEAR_BOARD_ID := WNDR4300SW
196 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
197 $(Device/netgear_ath79_nand)
198 endef
199 TARGET_DEVICES += netgear_wndr4300sw
200
201 define Device/netgear_wndr4300tn
202 SOC := ar9344
203 DEVICE_MODEL := WNDR4300TN
204 UIMAGE_MAGIC := 0x33373033
205 NETGEAR_BOARD_ID := WNDR4300TN
206 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
207 $(Device/netgear_ath79_nand)
208 endef
209 TARGET_DEVICES += netgear_wndr4300tn
210
211 define Device/netgear_wndr4300-v2
212 SOC := qca9563
213 DEVICE_MODEL := WNDR4300
214 DEVICE_VARIANT := v2
215 UIMAGE_MAGIC := 0x27051956
216 NETGEAR_BOARD_ID := WNDR4500series
217 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012175
218 $(Device/netgear_ath79_nand)
219 endef
220 TARGET_DEVICES += netgear_wndr4300-v2
221
222 define Device/netgear_wndr4500-v3
223 SOC := qca9563
224 DEVICE_MODEL := WNDR4500
225 DEVICE_VARIANT := v3
226 UIMAGE_MAGIC := 0x27051956
227 NETGEAR_BOARD_ID := WNDR4500series
228 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012173
229 $(Device/netgear_ath79_nand)
230 endef
231 TARGET_DEVICES += netgear_wndr4500-v3
232
233 define Device/zyxel_nbg6716
234 SOC := qca9558
235 DEVICE_VENDOR := ZyXEL
236 DEVICE_MODEL := NBG6716
237 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
238 ath10k-firmware-qca988x-ct
239 RAS_BOARD := NBG6716
240 RAS_ROOTFS_SIZE := 29696k
241 RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
242 KERNEL_SIZE := 4096k
243 BLOCKSIZE := 128k
244 PAGESIZE := 2048
245 KERNEL := kernel-bin | append-dtb | uImage none | zyxel-buildkerneljffs | \
246 check-size 4096k
247 IMAGES := sysupgrade.tar sysupgrade-4M-Kernel.bin factory.bin
248 IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | \
249 sysupgrade-tar rootfs=$$$$@ | append-metadata
250 IMAGE/sysupgrade-4M-Kernel.bin/squashfs := append-kernel | \
251 pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to 263192576 | gzip
252 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
253 zyxel-factory
254 UBINIZE_OPTS := -E 5
255 DEFAULT := n
256 endef
257 TARGET_DEVICES += zyxel_nbg6716