brcm47xx: image: use append-rootfs step for per-device rootfs support
[openwrt/openwrt.git] / target / linux / brcm47xx / image / Makefile
1 #
2 # Copyright (C) 2006-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 include $(TOPDIR)/rules.mk
8 include $(INCLUDE_DIR)/image.mk
9
10 define Build/Clean
11 $(MAKE) -C lzma-loader clean
12 endef
13
14 define Image/Prepare
15 # Optimized LZMA compression (with dictionary), handled by lzma-loader.
16 cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma
17
18 # Less optimal LZMA compression (no dictionary), handled by CFE.
19 $(STAGING_DIR_HOST)/bin/lzma e -so -d16 $(KDIR)/vmlinux > $(KDIR)/vmlinux-nodictionary.lzma
20
21 gzip -nc9 $(KDIR)/vmlinux > $(KDIR)/vmlinux.gz
22 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
23 cat $(KDIR)/vmlinux-initramfs | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux-initramfs.lzma
24 $(STAGING_DIR_HOST)/bin/lzma e -so -d16 $(KDIR)/vmlinux-initramfs > $(KDIR)/vmlinux-initramfs-nodictionary.lzma
25 endif
26 rm -f $(KDIR)/loader.gz
27 $(MAKE) -C lzma-loader \
28 BUILD_DIR="$(KDIR)" \
29 TARGET="$(KDIR)" \
30 clean install
31 echo -ne "\\x00" >> $(KDIR)/loader.gz
32 rm -f $(KDIR)/fs_mark
33 echo -ne '\xde\xad\xc0\xde' > $(KDIR)/fs_mark
34 $(call prepare_generic_squashfs,$(KDIR)/fs_mark)
35 endef
36
37 define trxalign/jffs2-128k
38 -a 0x20000 -f $(KDIR)/root.$(1)
39 endef
40 define trxalign/jffs2-64k
41 -a 0x10000 -f $(KDIR)/root.$(1)
42 endef
43 define trxalign/squashfs
44 -a 1024 -f $(1) $(if $(2),-f $(2)) -a 0x10000 -A $(KDIR)/fs_mark
45 endef
46
47 #################################################
48 # Images
49 #################################################
50
51 define Build/trx-with-loader
52 $(STAGING_DIR_HOST)/bin/trx \
53 -m 33554432 \
54 -o $@.new \
55 -f $(KDIR)/loader.gz \
56 -f $(IMAGE_KERNEL) \
57 $(call trxalign/$(FILESYSTEM),$@)
58 mv $@.new $@
59 endef
60
61 define Build/trx-v2-with-loader
62 $(STAGING_DIR_HOST)/bin/trx \
63 -2 \
64 -m 33554432 \
65 -o $@.new \
66 -f $(KDIR)/loader.gz \
67 -f $(KDIR)/vmlinux.lzma \
68 $(call trxalign/$(FILESYSTEM),$@,$@.pattern)
69 mv $@.new $@
70 endef
71
72 define Build/trx-without-loader
73 $(STAGING_DIR_HOST)/bin/trx \
74 -m 33554432 \
75 -o $@.new \
76 -f $(IMAGE_KERNEL) \
77 $(call trxalign/$(FILESYSTEM),$@)
78 mv $@.new $@
79 endef
80
81 define Build/asus-trx
82 $(STAGING_DIR_HOST)/bin/asustrx -p $(PRODUCTID) -i $@ -o $@.new
83 mv $@.new $@
84 endef
85
86 define Build/edimax-bin
87 $(STAGING_DIR_HOST)/bin/trx2edips $@ $@.new
88 mv $@.new $@
89 endef
90
91 define Build/huawei-bin
92 dd if=/dev/zero of=$@.new bs=92 count=1
93 echo -ne 'HDR0\x08\x00\x00\x00' >> $@.new
94 cat $@ >> $@.new
95 mv $@.new $@
96 endef
97
98 define Build/linksys-bin
99 $(STAGING_DIR_HOST)/bin/addpattern -4 -p $(DEVICE_ID) -v v$(VERSION) $(if $(SERIAL),-s $(SERIAL)) -i $@ -o $@.new
100 mv $@.new $@
101 endef
102
103 define Build/linksys-pattern-partition
104 $(STAGING_DIR_HOST)/bin/addpattern -5 -p $(DEVICE_ID) -v v$(VERSION) $(if $(SERIAL),-s $(SERIAL)) -i /dev/null -o $@.pattern
105 endef
106
107 define Build/motorola-bin
108 $(STAGING_DIR_HOST)/bin/motorola-bin -$(MOTOROLA_DEVICE) $@ $@.new
109 mv $@.new $@
110 endef
111
112 define Build/prepend-with-elf
113 mv $@ $@.old
114 dd if=$(KDIR)/loader.elf of=$@ bs=131072 conv=sync
115 cat $@.old >> $@
116 endef
117
118 define Build/tailed-bin
119 echo $(BIN_TAIL) >> $@
120 endef
121
122 define Build/usrobotics-bin
123 $(STAGING_DIR_HOST)/bin/trx2usr $@ $@.new
124 mv $@.new $@
125 endef
126
127 #################################################
128 # Devices
129 #################################################
130
131 DEVICE_VARS += PRODUCTID
132 DEVICE_VARS += DEVICE_ID VERSION SERIAL
133 DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION
134 DEVICE_VARS += MOTOROLA_DEVICE
135 DEVICE_VARS += BIN_TAIL
136
137 define Device/Default
138 KERNEL := kernel-bin
139 IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2)
140 KERNEL_NAME = vmlinux.lzma
141 FILESYSTEMS := $(FS_64K)
142 IMAGES := trx
143 IMAGE/trx := append-rootfs | trx-with-loader
144 endef
145
146 define Device/standard
147 DEVICE_TITLE := Image with LZMA loader and LZMA compressed kernel
148 endef
149
150 define Device/standard-noloader-gz
151 DEVICE_TITLE := Image with gzipped kernel
152 KERNEL_NAME = vmlinux.gz
153 IMAGE/trx := append-rootfs | trx-without-loader
154 endef
155
156 define Device/standard-noloader-nodictionarylzma
157 DEVICE_TITLE := Image with LZMA compressed kernel matching CFE decompressor
158 KERNEL_NAME = vmlinux-nodictionary.lzma
159 IMAGE/trx := append-rootfs | trx-without-loader
160 endef
161
162 define Device/asus
163 IMAGES := trx
164 IMAGE/trx := append-rootfs | trx-with-loader | asus-trx
165 endef
166
167 define Device/linksys
168 IMAGES := bin
169 IMAGE/bin := append-rootfs | trx-with-loader | linksys-bin
170 endef
171
172 define Device/motorola
173 IMAGES := bin
174 IMAGE/bin := append-rootfs | trx-with-loader | motorola-bin
175 endef
176
177 define Device/netgear
178 IMAGES := chk
179 IMAGE/chk := append-rootfs | trx-with-loader | netgear-chk
180 endef
181
182 #################################################
183 # Subtarget generic
184 #################################################
185
186 ifeq ($(SUBTARGET),generic)
187 # BCM4705 with tg3
188 define Device/linksys-wrt300n-v1.1
189 DEVICE_TITLE := Linksys WRT300N v1.1
190 $(Device/linksys)
191 DEVICE_ID := EWC2
192 VERSION := 1.51.2
193 endef
194 TARGET_DEVICES += linksys-wrt300n-v1.1
195
196 define Device/linksys-wrt310n-v1
197 DEVICE_TITLE := Linksys WRT310N v1
198 $(Device/linksys)
199 DEVICE_ID := 310N
200 VERSION := 1.0.10
201 endef
202 TARGET_DEVICES += linksys-wrt310n-v1
203
204 define Device/linksys-wrt350n-v1
205 DEVICE_TITLE := Linksys WRT350N v1
206 $(Device/linksys)
207 DEVICE_ID := EWCG
208 VERSION := 1.04.1
209 endef
210 TARGET_DEVICES += linksys-wrt350n-v1
211
212 define Device/linksys-wrt610n-v1
213 DEVICE_TITLE := Linksys WRT610N v1
214 $(Device/linksys)
215 DEVICE_ID := 610N
216 VERSION := 1.0.1
217 endef
218 TARGET_DEVICES += linksys-wrt610n-v1
219
220 # BCMA SoC with SSB WiFi
221 define Device/linksys-wrt610n-v2
222 DEVICE_TITLE := Linksys WRT610N v2
223 $(Device/linksys)
224 DEVICE_ID := 610N
225 VERSION := 2.0.0
226 endef
227 TARGET_DEVICES += linksys-wrt610n-v2
228
229 define Device/linksys-e3000-v1
230 DEVICE_TITLE := Linksys E3000 v1
231 $(Device/linksys)
232 DEVICE_ID := 61XN
233 VERSION := 1.0.3
234 endef
235 TARGET_DEVICES += linksys-e3000-v1
236
237 TARGET_DEVICES += standard
238 endif
239
240 #################################################
241 # Subtarget legacy
242 #################################################
243
244 ifeq ($(SUBTARGET),legacy)
245
246 define Device/asus-wl-300g
247 DEVICE_TITLE := Asus WL-300g
248 $(Device/asus)
249 PRODUCTID := "WL300g "
250 endef
251 TARGET_DEVICES += asus-wl-300g
252
253 define Device/asus-wl-320gp
254 DEVICE_TITLE := Asus WL-320gP
255 $(Device/asus)
256 PRODUCTID := "WL320gP "
257 endef
258 TARGET_DEVICES += asus-wl-320gp
259
260 define Device/asus-wl-330ge
261 DEVICE_TITLE := Asus WL-330gE
262 $(Device/asus)
263 PRODUCTID := "WL-330gE "
264 endef
265 TARGET_DEVICES += asus-wl-330ge
266
267 define Device/asus-wl-500gp-v1
268 DEVICE_TITLE := Asus WL-500gP v1
269 $(Device/asus)
270 PRODUCTID := "WL500gp "
271 endef
272 TARGET_DEVICES += asus-wl-500gp-v1
273
274 define Device/asus-wl-500gp-v2
275 DEVICE_TITLE := Asus WL-500gP v2
276 $(Device/asus)
277 PRODUCTID := "WL500gpv2 "
278 endef
279 TARGET_DEVICES += asus-wl-500gp-v2
280
281 define Device/asus-wl-500w
282 DEVICE_TITLE := Asus WL-500W
283 $(Device/asus)
284 PRODUCTID := "WL500W "
285 endef
286 TARGET_DEVICES += asus-wl-500w
287
288 define Device/asus-wl-520gu
289 DEVICE_TITLE := Asus WL-520gU
290 $(Device/asus)
291 PRODUCTID := "WL520gu "
292 endef
293 TARGET_DEVICES += asus-wl-520gu
294
295 define Device/asus-wl-550ge
296 DEVICE_TITLE := Asus WL-550gE
297 $(Device/asus)
298 PRODUCTID := "WL550gE "
299 endef
300 TARGET_DEVICES += asus-wl-550ge
301
302 define Device/asus-wl-hdd25
303 DEVICE_TITLE := Asus WL-HDD25
304 $(Device/asus)
305 PRODUCTID := "WLHDD "
306 endef
307 TARGET_DEVICES += asus-wl-hdd25
308
309 define Device/dlink-dwl-3150
310 DEVICE_TITLE := D-Link DWL-3150
311 IMAGES := bin
312 IMAGE/bin := append-rootfs | trx-with-loader | tailed-bin
313 BIN_TAIL := BCM-5352-2050-0000000-01
314 endef
315 TARGET_DEVICES += dlink-dwl-3150
316
317 define Device/edimax-ps1208-mfg
318 DEVICE_TITLE := Edimax PS-1208MFg
319 IMAGES := bin
320 IMAGE/bin := append-rootfs | trx-with-loader | edimax-bin
321 endef
322 TARGET_DEVICES += edimax-ps1208-mfg
323
324 define Device/huawei-e970
325 DEVICE_TITLE := Huawei E970
326 KERNEL_NAME = vmlinux.gz
327 IMAGES := bin
328 IMAGE/bin := append-rootfs | trx-without-loader | huawei-bin
329 endef
330 TARGET_DEVICES += huawei-e970
331
332 define Device/linksys-wrt54g3g
333 DEVICE_TITLE := Linksys WRT54G3G
334 $(Device/linksys)
335 DEVICE_ID := W54F
336 VERSION := 2.20.1
337 endef
338 TARGET_DEVICES += linksys-wrt54g3g
339
340 define Device/linksys-wrt54g3g-em
341 DEVICE_TITLE := Linksys WRT54G3G-EM
342 $(Device/linksys)
343 DEVICE_ID := W3GN
344 VERSION := 2.20.1
345 endef
346 TARGET_DEVICES += linksys-wrt54g3g-em
347
348 define Device/linksys-wrt54g3gv2-vf
349 DEVICE_TITLE := Linksys WRT54G3GV2-VF
350 FILESYSTEMS := $(FS_128K)
351 IMAGES := noheader.bin bin
352 IMAGE/noheader.bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader
353 IMAGE/bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader | linksys-bin
354 DEVICE_ID := 3G2V
355 VERSION := 3.00.24
356 SERIAL := 6
357 endef
358 TARGET_DEVICES += linksys-wrt54g3gv2-vf
359
360 define Device/linksys-wrt54g
361 DEVICE_TITLE := Linksys WRT54G
362 $(Device/linksys)
363 DEVICE_ID := W54G
364 VERSION := 4.71.1
365 endef
366 TARGET_DEVICES += linksys-wrt54g
367
368 define Device/linksys-wrt54gs
369 DEVICE_TITLE := Linksys WRT54GS
370 $(Device/linksys)
371 FILESYSTEMS := $(FS_128K)
372 DEVICE_ID := W54S
373 VERSION := 4.80.1
374 endef
375 TARGET_DEVICES += linksys-wrt54gs
376
377 define Device/linksys-wrt54gs-v4
378 DEVICE_TITLE := Linksys WRT54GS v4
379 $(Device/linksys)
380 DEVICE_ID := W54s
381 VERSION := 1.09.1
382 endef
383 TARGET_DEVICES += linksys-wrt54gs-v4
384
385 define Device/linksys-wrtsl54gs
386 DEVICE_TITLE := Linksys WRTSL54GS
387 $(Device/linksys)
388 FILESYSTEMS := $(FS_128K)
389 DEVICE_ID := W54U
390 VERSION := 2.08.1
391 endef
392 TARGET_DEVICES += linksys-wrtsl54gs
393
394 define Device/linksys-wrt150n
395 DEVICE_TITLE := Linksys WRT150N
396 $(Device/linksys)
397 DEVICE_ID := N150
398 VERSION := 1.51.3
399 endef
400 TARGET_DEVICES += linksys-wrt150n
401
402 define Device/linksys-wrt160n-v1
403 DEVICE_TITLE := Linksys WRT160N v1
404 $(Device/linksys)
405 DEVICE_ID := N150
406 VERSION := 1.50.1
407 endef
408 TARGET_DEVICES += linksys-wrt160n-v1
409
410 define Device/linksys-wrt300n-v1
411 DEVICE_TITLE := Linksys WRT300N v1
412 $(Device/linksys)
413 IMAGES := bin trx
414 DEVICE_ID := EWCB
415 VERSION := 1.03.6
416 endef
417 TARGET_DEVICES += linksys-wrt300n-v1
418
419 define Device/motorola-wa840g
420 DEVICE_TITLE := Motorola WA840G
421 $(Device/motorola)
422 MOTOROLA_DEVICE := 2
423 endef
424 TARGET_DEVICES += motorola-wa840g
425
426 define Device/motorola-we800g
427 DEVICE_TITLE := Motorola WE800G
428 $(Device/motorola)
429 MOTOROLA_DEVICE := 3
430 endef
431 TARGET_DEVICES += motorola-we800g
432
433 define Device/motorola-wr850g
434 DEVICE_TITLE := Motorola WR850G
435 $(Device/motorola)
436 MOTOROLA_DEVICE := 1
437 endef
438 TARGET_DEVICES += motorola-wr850g
439
440 define Device/netgear-wgr614-v8
441 DEVICE_TITLE := Netgear WGR614 v8
442 $(Device/netgear)
443 NETGEAR_BOARD_ID := U12H072T00_NETGEAR
444 NETGEAR_REGION := 2
445 endef
446 TARGET_DEVICES += netgear-wgr614-v8
447
448 define Device/netgear-wgt634u
449 DEVICE_TITLE := Netgear WGT634U
450 FILESYSTEMS := $(FS_128K)
451 IMAGES := bin
452 IMAGE/bin := append-rootfs | trx-with-loader | prepend-with-elf
453 endef
454 TARGET_DEVICES += netgear-wgt634u
455
456 define Device/netgear-wndr3300-v1
457 DEVICE_TITLE := Netgear WNDR3300 v1
458 $(Device/netgear)
459 NETGEAR_BOARD_ID := U12H093T00_NETGEAR
460 NETGEAR_REGION := 2
461 endef
462 TARGET_DEVICES += netgear-wndr3300-v1
463
464 define Device/netgear-wnr834b-v2
465 DEVICE_TITLE := Netgear WNR834B v2
466 $(Device/netgear)
467 NETGEAR_BOARD_ID := U12H081T00_NETGEAR
468 NETGEAR_REGION := 2
469 endef
470 TARGET_DEVICES += netgear-wnr834b-v2
471
472 define Device/usrobotics-usr5461
473 DEVICE_TITLE := USRobotics USR5461
474 IMAGES := bin
475 IMAGE/bin := append-rootfs | trx-with-loader | usrobotics-bin
476 endef
477 TARGET_DEVICES += usrobotics-usr5461
478
479 TARGET_DEVICES += standard standard-noloader-gz
480 endif
481
482 #################################################
483 # Subtarget mips74k
484 #################################################
485
486 ifeq ($(SUBTARGET),mips74k)
487 define Device/asus-rt-ac53u
488 DEVICE_TITLE := Asus RT-AC53U
489 $(Device/asus)
490 PRODUCTID := RT-AC53U
491 endef
492 TARGET_DEVICES += asus-rt-ac53u
493
494 define Device/asus-rt-ac66u
495 DEVICE_TITLE := Asus RT-AC66U
496 $(Device/asus)
497 PRODUCTID := RT-AC66U
498 endef
499 # TARGET_DEVICES += asus-rt-ac66u
500
501 define Device/asus-rt-n10
502 DEVICE_TITLE := Asus RT-N10
503 $(Device/asus)
504 PRODUCTID := "RT-N10 "
505 endef
506 TARGET_DEVICES += asus-rt-n10
507
508 define Device/asus-rt-n10p
509 DEVICE_TITLE := Asus RT-N10P
510 $(Device/asus)
511 PRODUCTID := RT-N10P
512 endef
513 TARGET_DEVICES += asus-rt-n10p
514
515 define Device/asus-rt-n10p-v2
516 DEVICE_TITLE := Asus RT-N10P v2
517 $(Device/asus)
518 PRODUCTID := RT-N10PV2
519 endef
520 TARGET_DEVICES += asus-rt-n10p-v2
521
522 define Device/asus-rt-n10u
523 DEVICE_TITLE := Asus RT-N10U
524 $(Device/asus)
525 PRODUCTID := RT-N10U
526 endef
527 TARGET_DEVICES += asus-rt-n10u
528
529 define Device/asus-rt-n10u-b
530 DEVICE_TITLE := Asus RT-N10U B
531 $(Device/asus)
532 PRODUCTID := RT-N10U
533 endef
534 TARGET_DEVICES += asus-rt-n10u-b
535
536 define Device/asus-rt-n12
537 DEVICE_TITLE := Asus RT-N12
538 $(Device/asus)
539 PRODUCTID := "RT-N12 "
540 endef
541 TARGET_DEVICES += asus-rt-n12
542
543 define Device/asus-rt-n12-b1
544 DEVICE_TITLE := Asus RT-N12 B1
545 $(Device/asus)
546 PRODUCTID := RT-N12B1
547 endef
548 TARGET_DEVICES += asus-rt-n12-b1
549
550 define Device/asus-rt-n12-c1
551 DEVICE_TITLE := Asus RT-N12 C1
552 $(Device/asus)
553 PRODUCTID := RT-N12C1
554 endef
555 TARGET_DEVICES += asus-rt-n12-c1
556
557 define Device/asus-rt-n12-d1
558 DEVICE_TITLE := Asus RT-N12 D1
559 $(Device/asus)
560 PRODUCTID := RT-N12D1
561 endef
562 TARGET_DEVICES += asus-rt-n12-d1
563
564 define Device/asus-rt-n12hp
565 DEVICE_TITLE := Asus RT-N12HP
566 $(Device/asus)
567 PRODUCTID := RT-N12HP
568 endef
569 TARGET_DEVICES += asus-rt-n12hp
570
571 define Device/asus-rt-n14uhp
572 DEVICE_TITLE := Asus RT-N14UHP
573 $(Device/asus)
574 PRODUCTID := RT-N14UHP
575 endef
576 TARGET_DEVICES += asus-rt-n14uhp
577
578 define Device/asus-rt-n15u
579 DEVICE_TITLE := Asus RT-N15U
580 $(Device/asus)
581 PRODUCTID := RT-N15U
582 endef
583 TARGET_DEVICES += asus-rt-n15u
584
585 define Device/asus-rt-n16
586 DEVICE_TITLE := Asus RT-N16
587 $(Device/asus)
588 PRODUCTID := RT-N16
589 endef
590 TARGET_DEVICES += asus-rt-n16
591
592 define Device/asus-rt-n53
593 DEVICE_TITLE := Asus RT-N53
594 $(Device/asus)
595 PRODUCTID := RT-N53
596 endef
597 TARGET_DEVICES += asus-rt-n53
598
599 define Device/asus-rt-n66u
600 DEVICE_TITLE := Asus RT-N66U
601 $(Device/asus)
602 PRODUCTID := RT-N66U
603 endef
604 TARGET_DEVICES += asus-rt-n66u
605
606 define Device/asus-rt-n66w
607 DEVICE_TITLE := Asus RT-N66W
608 $(Device/asus)
609 PRODUCTID := RT-N66U
610 endef
611 TARGET_DEVICES += asus-rt-n66w
612
613 define Device/linksys-wrt160n-v3
614 DEVICE_TITLE := Linksys WRT160N v3
615 $(Device/linksys)
616 DEVICE_ID := N150
617 VERSION := 3.0.3
618 endef
619 TARGET_DEVICES += linksys-wrt160n-v3
620
621 define Device/linksys-wrt310n-v2
622 DEVICE_TITLE := Linksys WRT310N v2
623 $(Device/linksys)
624 DEVICE_ID := 310N
625 VERSION := 2.0.1
626 endef
627 TARGET_DEVICES += linksys-wrt310n-v2
628
629 define Device/linksys-wrt320n-v1
630 DEVICE_TITLE := Linksys WRT320N v1
631 $(Device/linksys)
632 DEVICE_ID := 320N
633 VERSION := 1.0.5
634 endef
635 TARGET_DEVICES += linksys-wrt320n-v1
636
637 define Device/linksys-e900-v1
638 DEVICE_TITLE := Linksys E900 v1
639 $(Device/linksys)
640 DEVICE_ID := E900
641 VERSION := 1.0.4
642 endef
643 TARGET_DEVICES += linksys-e900-v1
644
645 define Device/linksys-e1000-v1-v2-v2.1
646 DEVICE_TITLE := Linksys E1000 v1 v2 v2.1
647 $(Device/linksys)
648 DEVICE_ID := E100
649 VERSION := 1.1.3
650 endef
651 TARGET_DEVICES += linksys-e1000-v1-v2-v2.1
652
653 define Device/linksys-e1200-v1
654 DEVICE_TITLE := Linksys E1200 v1
655 $(Device/linksys)
656 DEVICE_ID := E120
657 VERSION := 1.0.3
658 endef
659 TARGET_DEVICES += linksys-e1200-v1
660
661 define Device/linksys-e1200-v2
662 DEVICE_TITLE := Linksys E1200 v2
663 $(Device/linksys)
664 DEVICE_ID := E122
665 VERSION := 1.0.4
666 endef
667 TARGET_DEVICES += linksys-e1200-v2
668
669 define Device/linksys-e1500-v1
670 DEVICE_TITLE := Linksys E1500 v1
671 $(Device/linksys)
672 DEVICE_ID := E150
673 VERSION := 1.0.5
674 endef
675 TARGET_DEVICES += linksys-e1500-v1
676
677 define Device/linksys-e1550-v1
678 DEVICE_TITLE := Linksys E1550 v1
679 $(Device/linksys)
680 DEVICE_ID := 1550
681 VERSION := 1.0.3
682 endef
683 TARGET_DEVICES += linksys-e1550-v1
684
685 define Device/linksys-e2000-v1
686 DEVICE_TITLE := Linksys E2000 v1
687 $(Device/linksys)
688 DEVICE_ID := 32XN
689 VERSION := 1.0.4
690 endef
691 TARGET_DEVICES += linksys-e2000-v1
692
693 define Device/linksys-e2500-v1
694 DEVICE_TITLE := Linksys E2500 v1
695 $(Device/linksys)
696 DEVICE_ID := E25X
697 VERSION := 1.0.7
698 endef
699 TARGET_DEVICES += linksys-e2500-v1
700
701 define Device/linksys-e2500-v2
702 DEVICE_TITLE := Linksys E2500 v2
703 $(Device/linksys)
704 DEVICE_ID := E25X
705 VERSION := 2.0.0
706 endef
707 TARGET_DEVICES += linksys-e2500-v2
708
709 define Device/linksys-e2500-v2.1
710 DEVICE_TITLE := Linksys E2500 v2.1
711 $(Device/linksys)
712 DEVICE_ID := 25RU
713 VERSION := 2.1.0
714 endef
715 TARGET_DEVICES += linksys-e2500-v2.1
716
717 define Device/linksys-e2500-v3
718 DEVICE_TITLE := Linksys E2500 v3
719 $(Device/linksys)
720 DEVICE_ID := 25V3
721 VERSION := 3.0.0
722 endef
723 TARGET_DEVICES += linksys-e2500-v3
724
725 define Device/linksys-e3200-v1
726 DEVICE_TITLE := Linksys E3200 v1
727 $(Device/linksys)
728 DEVICE_ID := 3200
729 VERSION := 1.0.1
730 endef
731 TARGET_DEVICES += linksys-e3200-v1
732
733 define Device/linksys-e4200-v1
734 DEVICE_TITLE := Linksys E4200 v1
735 $(Device/linksys)
736 DEVICE_ID := 4200
737 VERSION := 1.0.5
738 endef
739 TARGET_DEVICES += linksys-e4200-v1
740
741 define Device/netgear-wgr614-v10_north-america
742 DEVICE_TITLE := Netgear WGR614 v10 North America
743 $(Device/netgear)
744 NETGEAR_BOARD_ID := U12H139T01_NETGEAR
745 NETGEAR_REGION := 2
746 endef
747 TARGET_DEVICES += netgear-wgr614-v10_north-america
748
749 define Device/netgear-wgr614-v10_other-regions
750 DEVICE_TITLE := Netgear WGR614 v10 Other Regions
751 $(Device/netgear)
752 NETGEAR_BOARD_ID := U12H139T01_NETGEAR
753 NETGEAR_REGION := 1
754 endef
755 TARGET_DEVICES += netgear-wgr614-v10_other-regions
756
757 define Device/netgear-wn2500rp-v1
758 DEVICE_TITLE := Netgear WN2500RP v1
759 $(Device/netgear)
760 NETGEAR_BOARD_ID := U12H197T00_NETGEAR
761 NETGEAR_REGION := 1
762 endef
763 TARGET_DEVICES += netgear-wn2500rp-v1
764
765 define Device/netgear-wndr3400-v1
766 DEVICE_TITLE := Netgear WNDR3400 v1
767 $(Device/netgear)
768 NETGEAR_BOARD_ID := U12H155T00_NETGEAR
769 NETGEAR_REGION := 2
770 endef
771 TARGET_DEVICES += netgear-wndr3400-v1
772
773 define Device/netgear-wndr3400-v2
774 DEVICE_TITLE := Netgear WNDR3400 v2
775 $(Device/netgear)
776 NETGEAR_BOARD_ID := U12H187T00_NETGEAR
777 NETGEAR_REGION := 2
778 endef
779 TARGET_DEVICES += netgear-wndr3400-v2
780
781 define Device/netgear-wndr3400-v3
782 DEVICE_TITLE := Netgear WNDR3400 v3
783 $(Device/netgear)
784 NETGEAR_BOARD_ID := U12H208T00_NETGEAR
785 NETGEAR_REGION := 1
786 endef
787 TARGET_DEVICES += netgear-wndr3400-v3
788
789 define Device/netgear-wndr3700-v3
790 DEVICE_TITLE := Netgear WNDR3700 v3
791 $(Device/netgear)
792 NETGEAR_BOARD_ID := U12H194T00_NETGEAR
793 NETGEAR_REGION := 2
794 endef
795 TARGET_DEVICES += netgear-wndr3700-v3
796
797 define Device/netgear-wndr3400-vcna
798 DEVICE_TITLE := Netgear WNDR3400 vcna
799 $(Device/netgear)
800 NETGEAR_BOARD_ID := U12H155T01_NETGEAR
801 NETGEAR_REGION := 2
802 endef
803 # TARGET_DEVICES += netgear-wndr3400-vcna
804
805 define Device/netgear-wndr4000
806 DEVICE_TITLE := Netgear WNDR4000
807 $(Device/netgear)
808 NETGEAR_BOARD_ID := U12H181T00_NETGEAR
809 NETGEAR_REGION := 2
810 endef
811 TARGET_DEVICES += netgear-wndr4000
812
813 define Device/netgear-wnr1000-v3
814 DEVICE_TITLE := Netgear WNR1000 v3
815 $(Device/netgear)
816 NETGEAR_BOARD_ID := U12H139T00_NETGEAR
817 NETGEAR_REGION := 2
818 endef
819 TARGET_DEVICES += netgear-wnr1000-v3
820
821 define Device/netgear-wnr2000v2
822 DEVICE_TITLE := Netgear WNR2000 v2
823 $(Device/netgear)
824 NETGEAR_BOARD_ID := U12H114T00_NETGEAR
825 NETGEAR_REGION := 2
826 endef
827 TARGET_DEVICES += netgear-wnr2000v2
828
829 define Device/netgear-wnr3000rp
830 DEVICE_TITLE := Netgear WNR3000RP
831 $(Device/netgear)
832 NETGEAR_BOARD_ID := U12H163T01_NETGEAR
833 NETGEAR_REGION := 1
834 endef
835 TARGET_DEVICES += netgear-wnr3000rp
836
837 define Device/netgear-wnr3500l-v1-north-america
838 DEVICE_TITLE := Netgear WNR3500L v1 North America
839 $(Device/netgear)
840 NETGEAR_BOARD_ID := U12H136T99_NETGEAR
841 NETGEAR_REGION := 2
842 endef
843 TARGET_DEVICES += netgear-wnr3500l-v1-north-america
844
845 define Device/netgear-wnr3500l-v1-other-regions
846 DEVICE_TITLE := Netgear WNR3500L v1 Other Regions
847 $(Device/netgear)
848 NETGEAR_BOARD_ID := U12H136T99_NETGEAR
849 NETGEAR_REGION := 1
850 endef
851 TARGET_DEVICES += netgear-wnr3500l-v1-other-regions
852
853 define Device/netgear-wnr3500l-v2
854 DEVICE_TITLE := Netgear WNR3500L v2
855 $(Device/netgear)
856 NETGEAR_BOARD_ID := U12H172T00_NETGEAR
857 NETGEAR_REGION := 1
858 endef
859 TARGET_DEVICES += netgear-wnr3500l-v2
860
861 define Device/netgear-wnr3500u
862 DEVICE_TITLE := Netgear WNR3500U
863 $(Device/netgear)
864 NETGEAR_BOARD_ID := U12H136T00_NETGEAR
865 NETGEAR_REGION := 2
866 endef
867 # TARGET_DEVICES += netgear-wnr3500u
868
869 define Device/netgear-wnr3500-v2
870 DEVICE_TITLE := Netgear WNR3500 v2
871 $(Device/netgear)
872 NETGEAR_BOARD_ID := U12H127T00_NETGEAR
873 NETGEAR_REGION := 2
874 endef
875 TARGET_DEVICES += netgear-wnr3500-v2
876
877 define Device/netgear-wnr3500-v2-vc
878 DEVICE_TITLE := Netgear WNR3500 v2 vc
879 $(Device/netgear)
880 NETGEAR_BOARD_ID := U12H127T70_NETGEAR
881 NETGEAR_REGION := 2
882 endef
883 # TARGET_DEVICES += netgear-wnr3500-v2-vc
884
885 TARGET_DEVICES += standard standard-noloader-nodictionarylzma
886 endif
887
888 #################################################
889 # Shared BuildImage defines
890 #################################################
891
892 define Image/Build/Initramfs
893 $(STAGING_DIR_HOST)/bin/trx \
894 -m 33554432 \
895 -o $(BIN_DIR)/$(IMG_PREFIX)-initramfs.trx \
896 -f $(KDIR)/loader.gz \
897 -f $(KDIR)/vmlinux-initramfs.lzma
898 $(STAGING_DIR_HOST)/bin/trx \
899 -m 33554432 \
900 -o $(BIN_DIR)/$(IMG_PREFIX)-initramfs-noloader-nodictionary.trx \
901 -f $(KDIR)/vmlinux-initramfs-nodictionary.lzma
902 endef
903
904 # $(1): filesystem type.
905 define Image/Build
906 # TODO: Move it to Device/*
907 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
908 $(call Image/Build/Initramfs)
909 endif
910 endef
911
912 $(eval $(call BuildImage))