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