ramips: append metadata to images
[librecmc/librecmc.git] / target / linux / ramips / image / mt7620.mk
1 #
2 # MT7620A Profiles
3 #
4
5 define Build/tplink-header
6         $(STAGING_DIR_HOST)/bin/mktplinkfw2 -a 0x4 -V "ver. 2.0" -B $(1) \
7                 -o $@.new -k $@  && mv $@.new $@
8 endef
9
10 define Build/pad-kernel-ex2700
11         cp $@ $@.tmp && dd if=/dev/zero bs=64 count=1 >> $@.tmp \
12                 && dd if=$@.tmp of=$@.new bs=64k conv=sync && truncate -s -64 $@.new \
13                 && cat ex2700-fakeroot.uImage >> $@.new && rm $@.tmp && mv $@.new $@
14 endef
15
16 define Build/netgear-header
17         $(STAGING_DIR_HOST)/bin/mkdniimg \
18                 $(1) -v OpenWrt -i $@ \
19                 -o $@.new && mv $@.new $@
20 endef
21
22 define Build/poray-header
23         mkporayfw $(1) \
24                 -f $@ \
25                 -o $@.new; \
26                 mv $@.new $@
27 endef
28
29 define Build/elecom-header
30         cp $@ $(KDIR)/v_0.0.0.bin
31         ( \
32                 $(STAGING_DIR_HOST)/bin/md5sum $(KDIR)/v_0.0.0.bin | \
33                         sed 's/ .*//' && \
34                 echo 458 \
35         ) | $(STAGING_DIR_HOST)/bin/md5sum | \
36                 sed 's/ .*//' > $(KDIR)/v_0.0.0.md5
37         $(STAGING_DIR_HOST)/bin/tar -cf $@ -C $(KDIR) v_0.0.0.bin v_0.0.0.md5
38 endef
39
40 define Build/zyimage
41         $(STAGING_DIR_HOST)/bin/zyimage $(1) $@
42 endef
43
44 define Device/ArcherC20i
45   DTS := ArcherC20i
46   KERNEL := $(KERNEL_DTB)
47   KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherC20i -c
48   IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherC20i -j -r $(KDIR)/root.squashfs | append-metadata
49   DEVICE_TITLE := TP-Link ArcherC20i
50 endef
51 TARGET_DEVICES += ArcherC20i
52
53 define Device/ArcherC50
54   DTS := ArcherC50
55   KERNEL := $(KERNEL_DTB)
56   KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherC50 -c
57   IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherC50 -j -r $(KDIR)/root.squashfs | append-metadata
58   DEVICE_TITLE := TP-Link ArcherC50
59 endef
60 TARGET_DEVICES += ArcherC50
61
62 define Device/ex2700
63   DTS := EX2700
64   BLOCKSIZE := 4k
65   IMAGE_SIZE := $(ralink_default_fw_size_4M)
66   IMAGES += factory.bin
67   KERNEL := $(KERNEL_DTB) | uImage lzma | pad-kernel-ex2700
68   IMAGE/factory.bin := $$(sysupgrade_bin) | netgear-header -B EX2700 -H 29764623+4+0+32+2x2+0
69   DEVICE_TITLE := Netgear EX2700
70 endef
71 TARGET_DEVICES += ex2700
72
73 define Device/wt3020-4M
74   DTS := WT3020-4M
75   BLOCKSIZE := 4k
76   IMAGE_SIZE := $(ralink_default_fw_size_4M)
77   IMAGES += factory.bin
78   SUPPORTED_DEVICES := wt3020
79   IMAGE/factory.bin := $$(sysupgrade_bin) | poray-header -B WT3020 -F 4M
80   DEVICE_TITLE := Nexx WT3020 (4MB)
81 endef
82 TARGET_DEVICES += wt3020-4M
83
84 define Device/wt3020-8M
85   DTS := WT3020-8M
86   IMAGES += factory.bin
87   SUPPORTED_DEVICES := wt3020
88   IMAGE/factory.bin := $$(sysupgrade_bin) | poray-header -B WT3020 -F 8M
89   DEVICE_TITLE := Nexx WT3020 (8MB)
90 endef
91 TARGET_DEVICES += wt3020-8M
92
93 define Device/wrh-300cr
94   DTS := WRH-300CR
95   IMAGE_SIZE := $(ralink_default_fw_size_16M)
96   IMAGES += factory.bin
97   IMAGE/factory.bin := $$(sysupgrade_bin) | elecom-header
98   DEVICE_TITLE := Elecom WRH-300CR 
99   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
100 endef
101 TARGET_DEVICES += wrh-300cr
102
103 define Device/e1700
104   DTS := E1700
105   IMAGES += factory.bin
106   IMAGE/factory.bin := $$(sysupgrade_bin) | umedia-header 0x013326
107   DEVICE_TITLE := Linksys E1700
108 endef
109 TARGET_DEVICES += e1700
110
111 define Device/ai-br100
112   DTS := AI-BR100
113   IMAGE_SIZE := 7936k
114   DEVICE_TITLE := Aigale Ai-BR100
115   DEVICE_PACKAGES:= kmod-usb2 kmod-usb-ohci
116 endef
117 TARGET_DEVICES += ai-br100
118
119 define Device/whr-300hp2
120   DTS := WHR-300HP2
121   IMAGE_SIZE := 6848k
122   DEVICE_TITLE := Buffalo WHR-300HP2
123 endef
124 TARGET_DEVICES += whr-300hp2
125
126 define Device/whr-600d
127   DTS := WHR-600D
128   IMAGE_SIZE := 6848k
129   DEVICE_TITLE := Buffalo WHR-600D
130 endef
131 TARGET_DEVICES += whr-600d
132
133 define Device/whr-1166d
134   DTS := WHR-1166D
135   IMAGE_SIZE := 15040k
136   DEVICE_TITLE := Buffalo WHR-1166D
137 endef
138 TARGET_DEVICES += whr-1166d
139
140 define Device/dir-810l
141   DTS := DIR-810L
142   IMAGE_SIZE := 6720k
143   DEVICE_TITLE := D-Link DIR-810L
144 endef
145 TARGET_DEVICES += dir-810l
146
147 define Device/na930
148   DTS := NA930
149   IMAGE_SIZE := 20m
150   DEVICE_TITLE := Sercomm NA930
151 endef
152 TARGET_DEVICES += na930
153
154 define Device/microwrt
155   DTS := MicroWRT
156   IMAGE_SIZE := 16128k
157   DEVICE_TITLE := Microduino MicroWRT
158 endef
159 TARGET_DEVICES += microwrt
160
161 define Device/mt7620a
162   DTS := MT7620a
163   DEVICE_TITLE := MediaTek MT7620a EVB
164 endef
165 TARGET_DEVICES += mt7620a
166
167 define Device/mt7620a_mt7610e
168   DTS := MT7620a_MT7610e
169   DEVICE_TITLE := MediaTek MT7620a + MT7610e EVB
170 endef
171 TARGET_DEVICES += mt7620a_mt7610e
172
173 define Device/mt7620a_mt7530
174   DTS := MT7620a_MT7530
175   DEVICE_TITLE := MediaTek MT7620a + MT7530 EVB
176 endef
177 TARGET_DEVICES += mt7620a_mt7530
178
179 define Device/mt7620a_v22sg
180   DTS := MT7620a_V22SG
181   DEVICE_TITLE := MediaTek MT7620a V22SG
182 endef
183 TARGET_DEVICES += mt7620a_v22sg
184
185 define Device/rp-n53
186   DTS := RP-N53
187   DEVICE_TITLE := Asus RP-N53
188 endef
189 TARGET_DEVICES += rp-n53
190
191 define Device/cf-wr800n
192   DTS := CF-WR800N
193   DEVICE_TITLE := Comfast CF-WR800N
194 endef
195 TARGET_DEVICES += cf-wr800n
196
197 define Device/cs-qr10
198   DTS := CS-QR10
199   DEVICE_TITLE := Planex CS-QR10
200   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-i2c-core kmod-i2c-ralink kmod-sound-core kmod-sound-mtk kmod-sdhci-mt7620
201 endef
202 TARGET_DEVICES += cs-qr10
203
204 define Device/db-wrt01
205   DTS := DB-WRT01
206   DEVICE_TITLE := Planex DB-WRT01
207 endef
208 TARGET_DEVICES += db-wrt01
209
210 define Device/mzk-750dhp
211   DTS := MZK-750DHP
212   DEVICE_TITLE := Planex MZK-750DHP
213   DEVICE_PACKAGES := kmod-mt76
214 endef
215 TARGET_DEVICES += mzk-750dhp
216
217 define Device/mzk-ex300np
218   DTS := MZK-EX300NP
219   DEVICE_TITLE := Planex MZK-EX300NP
220 endef
221 TARGET_DEVICES += mzk-ex300np
222
223 define Device/mzk-ex750np
224   DTS := MZK-EX750NP
225   DEVICE_TITLE := Planex MZK-EX750NP
226   DEVICE_PACKAGES := kmod-mt76
227 endef
228 TARGET_DEVICES += mzk-ex750np
229
230 define Device/hc5661
231   DTS := HC5661
232   IMAGE_SIZE := $(ralink_default_fw_size_16M)
233   DEVICE_TITLE := HiWiFi HC5661
234   DEVICE_PACKAGES := kmod-usb2 kmod-sdhci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
235 endef
236 TARGET_DEVICES += hc5661
237
238 define Device/hc5761
239   DTS := HC5761
240   IMAGE_SIZE := $(ralink_default_fw_size_16M)
241   DEVICE_TITLE := HiWiFi HC5761 
242   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
243 endef
244 TARGET_DEVICES += hc5761
245
246 define Device/hc5861
247   DTS := HC5861
248   IMAGE_SIZE := $(ralink_default_fw_size_16M)
249   DEVICE_TITLE := HiWiFi HC5861
250   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
251 endef
252 TARGET_DEVICES += hc5861
253
254 define Device/oy-0001
255   DTS := OY-0001
256   IMAGE_SIZE := $(ralink_default_fw_size_16M)
257   DEVICE_TITLE := Oh Yeah OY-0001
258 endef
259 TARGET_DEVICES += oy-0001
260
261 define Device/psg1208
262   DTS := PSG1208
263   DEVICE_TITLE := Phicomm PSG1208
264   DEVICE_PACKAGES := kmod-mt76
265 endef
266 TARGET_DEVICES += psg1208
267
268 define Device/psg1218
269   DTS := PSG1218
270   DEVICE_TITLE := Phicomm PSG1218
271   DEVICE_PACKAGES := kmod-mt76
272 endef
273 TARGET_DEVICES += psg1218
274
275 define Device/y1
276   DTS := Y1
277   IMAGE_SIZE := $(ralink_default_fw_size_16M)
278   DEVICE_TITLE := Lenovo Y1
279 endef
280 TARGET_DEVICES += y1
281
282 define Device/y1s
283   DTS := Y1S
284   IMAGE_SIZE := $(ralink_default_fw_size_16M)
285   DEVICE_TITLE := Lenovo Y1S
286 endef
287 TARGET_DEVICES += y1s
288
289 define Device/mlw221
290   DTS := MLW221
291   IMAGE_SIZE := $(ralink_default_fw_size_16M)
292   DEVICE_TITLE := Kingston MLW221
293 endef
294 TARGET_DEVICES += mlw221
295
296 define Device/mlwg2
297   DTS := MLWG2
298   IMAGE_SIZE := $(ralink_default_fw_size_16M)
299   DEVICE_TITLE := Kingston MLWG2
300 endef
301 TARGET_DEVICES += mlwg2
302
303 define Device/wmr-300
304   DTS := WMR-300
305   DEVICE_TITLE := Buffalo WMR-300
306 endef
307 TARGET_DEVICES += wmr-300
308
309 define Device/rt-n14u
310   DTS := RT-N14U
311   DEVICE_TITLE := Asus RT-N14u
312 endef
313 TARGET_DEVICES += rt-n14u
314
315 define Device/wrtnode
316   DTS := WRTNODE
317   IMAGE_SIZE := $(ralink_default_fw_size_16M)
318   DEVICE_TITLE := WRTNode
319 endef
320 TARGET_DEVICES += wrtnode
321
322 define Device/miwifi-mini
323   DTS := MIWIFI-MINI
324   IMAGE_SIZE := $(ralink_default_fw_size_16M)
325   DEVICE_TITLE := Xiaomi MiWiFi Mini
326   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
327 endef
328 TARGET_DEVICES += miwifi-mini
329
330 define Device/gl-mt300a
331   DTS := GL-MT300A
332   IMAGE_SIZE := $(ralink_default_fw_size_16M)
333   DEVICE_TITLE := GL-Inet GL-MT300A
334   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
335 endef
336 TARGET_DEVICES += gl-mt300a
337
338 define Device/gl-mt300n
339   DTS := GL-MT300N
340   IMAGE_SIZE := $(ralink_default_fw_size_16M)
341   DEVICE_TITLE := GL-Inet GL-MT300N
342   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
343 endef
344 TARGET_DEVICES += gl-mt300n
345
346 define Device/gl-mt750
347   DTS := GL-MT750
348   IMAGE_SIZE := $(ralink_default_fw_size_16M)
349   DEVICE_TITLE := GL-Inet GL-MT750
350   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
351 endef
352 TARGET_DEVICES += gl-mt750
353
354 define Device/zte-q7
355   DTS := ZTE-Q7
356   DEVICE_TITLE := ZTE Q7
357 endef
358 TARGET_DEVICES += zte-q7
359
360 define Device/youku-yk1
361   DTS := YOUKU-YK1
362   IMAGE_SIZE := $(ralink_default_fw_size_16M)
363   DEVICE_TITLE := YOUKU YK1
364 endef
365 TARGET_DEVICES += youku-yk1
366
367 define Device/zbt-ape522ii
368   DTS := ZBT-APE522II
369   DEVICE_TITLE := Zbtlink ZBT-APE522II
370   DEVICE_PACKAGES := kmod-mt76
371 endef
372 TARGET_DEVICES += zbt-ape522ii
373
374 define Device/zbt-cpe102
375   DTS := ZBT-CPE102
376   DEVICE_TITLE := Zbtlink ZBT-CPE102
377   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
378 endef
379 TARGET_DEVICES += zbt-cpe102
380
381 define Device/zbt-wa05
382   DTS := ZBT-WA05
383   DEVICE_TITLE := Zbtlink ZBT-WA05
384 endef
385 TARGET_DEVICES += zbt-wa05
386
387 define Device/zbt-we826
388   DTS := ZBT-WE826
389   IMAGE_SIZE := $(ralink_default_fw_size_16M)
390   DEVICE_TITLE := Zbtlink ZBT-WE826
391   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76 kmod-sdhci-mt7620 
392 endef
393 TARGET_DEVICES += zbt-we826
394
395 define Device/zbt-wr8305rt
396   DTS := ZBT-WR8305RT
397   DEVICE_TITLE := Zbtlink ZBT-WR8305RT
398 endef
399 TARGET_DEVICES += zbt-wr8305rt
400
401 define Device/tiny-ac
402   DTS := TINY-AC
403   DEVICE_TITLE := Dovado Tiny AC
404   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
405 endef
406 TARGET_DEVICES += tiny-ac
407
408 define Device/dch-m225
409   DTS := DCH-M225
410   BLOCKSIZE := 4k
411   IMAGES += factory.bin
412   IMAGE_SIZE := 6848k
413   IMAGE/sysupgrade.bin := \
414         append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | \
415         seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
416         pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
417   IMAGE/factory.bin := \
418         append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
419         append-rootfs | pad-rootfs -x 64 | \
420         seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
421         seama-seal -m "signature=wapn22_dlink.2013gui_dap1320b" | \
422         check-size $$$$(IMAGE_SIZE)
423   DEVICE_TITLE := D-Link DCH-M225
424   DEVICE_PACKAGES := kmod-mt76
425 endef
426 TARGET_DEVICES += dch-m225
427
428 define Device/kng_rc
429   DTS := kng_rc
430   IMAGE_SIZE := $(ralink_default_fw_size_16M)
431   DEVICE_TITLE := ZyXEL Keenetic Viva
432   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport kmod-switch-rtl8366-smi kmod-switch-rtl8367b
433   IMAGES += factory.bin
434   IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | zyimage -d 8997 -v "ZyXEL Keenetic Viva"
435 endef
436 TARGET_DEVICES += kng_rc