2 # Copyright (C) 2007,2008 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 define trxedimax/jffs2-128k
9 -a 0x20000 -f $(KDIR)/root.jffs2-128k
12 define trxedimax/jffs2-64k
13 -a 0x10000 -f $(KDIR)/root.jffs2-64k
16 define trxedimax/squashfs
17 -a 1024 -f $(KDIR)/root.squashfs
20 define Image/Build/TRXEdimax
21 $(STAGING_DIR_HOST)/bin/trx -o $(1) -f $(KDIR)/vmlinux.lzma \
22 $(call trxedimax/$(2))
25 define Image/Build/Compex
26 $(call Image/Build/Loader,$(2),gz,0x80500000,0,y,$(2))
27 $(call Image/Build/TRX,$(call imgname,$(1),$(2)).trx,$(1),$(KDIR)/loader-$(2).gz)
30 define Image/Build/Edimax
31 $(call Image/Build/Loader,$(2),gz,0x80500000,0x6D8,y,$(2))
32 $(call Image/Build/TRXEdimax,$(call imgname,$(1),$(2)).trx,$(1))
33 $(STAGING_DIR_HOST)/bin/mkcsysimg -B $(2) -d -w \
34 -r $(KDIR)/loader-$(2).gz::0x1000 \
35 -x $(call imgname,$(1),$(2)).trx:0x10000 \
36 -x $(JFFS2MARK):0x10000 \
37 $(call imgname,$(1),$(2))-webui.bin
38 $(STAGING_DIR_HOST)/bin/mkcsysimg -B $(2) -d \
39 -r $(KDIR)/loader-$(2).gz::0x1000 \
40 -x $(call imgname,$(1),$(2)).trx:0x10000 \
41 -x $(JFFS2MARK):0x10000 \
42 $(call imgname,$(1),$(2))-xmodem.bin
43 rm -f $(call imgname,$(1),$(2)).trx
46 define Image/Build/Infineon
47 $(call Image/Build/Loader,$(2),gz,0x80500000,0x6D8,y,$(2))
48 $(call Image/Build/TRXNoloader,$(call imgname,$(1),$(2)).trx,$(1))
49 dd if=$(KDIR)/loader-$(2).gz of=$(call imgname,$(1),$(2)).img bs=64k conv=sync
50 cat $(call imgname,$(1),$(2)).trx >> $(call imgname,$(1),$(2)).img
53 define Image/Build/Cellvision2
54 # only for CAS-700/771/790/861
55 $(call Image/Build/Loader,$(2),gz,0x80500000,0x6D8,y,$(2))
56 $(call Image/Build/TRXNoloader,$(call imgname,$(1),$(2)).trx,$(1))
57 dd if=$(KDIR)/loader-$(2).gz of=$(call imgname,$(1),$(2)).bin bs=64k conv=sync
58 cat $(call imgname,$(1),$(2)).trx >> $(call imgname,$(1),$(2)).bin
59 echo -ne '\x14\x07\x24\x06$(2)' | dd bs=14 count=1 conv=sync >> $(call imgname,$(1),$(2)).bin
60 echo -ne 'OpenWrt\x00\x00\x00' >> $(call imgname,$(1),$(2)).bin
63 define Image/Build/MyLoader
64 $(call Image/Build/Loader,$(2),gz,0x80500000,0)
65 $(call Image/Build/TRXNoloader,$(call imgname,$(1),$(2)).trx,$(1))
66 $(STAGING_DIR_HOST)/bin/mkmylofw -B $(2) \
67 -p0x20000:0x10000:ahp:0x80001000 \
69 -b0x20000:0x10000:h:$(KDIR)/loader-$(2).gz \
70 -b0x30000:0::$(call imgname,$(1),$(2)).trx \
71 $(call imgname,$(1),$(2)).bin
77 define Image/Build/Board/CAS700
78 $(call Image/Build/Cellvision2,$(1),cas-700)
81 define Image/Build/Board/CAS700/squashfs
82 $(call Image/Build/Board/CAS700,squashfs)
85 define Image/Build/Board/CAS700/jffs2-64k
86 $(call Image/Build/Board/CAS700,jffs2-64k)
89 define Image/Build/Board/CAS700/Initramfs
90 $(call Image/Build/LZMAKernel/Admboot,cas-700,gz)
96 define Image/Build/Board/CAS700W
97 $(call Image/Build/Cellvision2,$(1),cas-700w)
100 define Image/Build/Board/CAS700W/squashfs
101 $(call Image/Build/Board/CAS700W,squashfs)
104 define Image/Build/Board/CAS700W/jffs2-64k
105 $(call Image/Build/Board/CAS700W,jffs2-64k)
108 define Image/Build/Board/CAS700W/Initramfs
109 $(call Image/Build/LZMAKernel/Admboot,cas-700w,gz)
115 define Image/Build/Board/CAS771
116 $(call Image/Build/Cellvision2,$(1),cas-771)
119 define Image/Build/Board/CAS771/squashfs
120 $(call Image/Build/Board/CAS771,squashfs)
123 define Image/Build/Board/CAS771/jffs2-64k
124 $(call Image/Build/Board/CAS771,jffs2-64k)
127 define Image/Build/Board/CAS771/Initramfs
128 $(call Image/Build/LZMAKernel/Admboot,cas-771,gz)
132 # Cellvision CAS-771W
134 define Image/Build/Board/CAS771W
135 $(call Image/Build/Cellvision2,$(1),cas-771w)
138 define Image/Build/Board/CAS771W/squashfs
139 $(call Image/Build/Board/CAS771W,squashfs)
142 define Image/Build/Board/CAS771W/jffs2-64k
143 $(call Image/Build/Board/CAS771W,jffs2-64k)
146 define Image/Build/Board/CAS771W/Initramfs
147 $(call Image/Build/LZMAKernel/Admboot,cas-771w,gz)
153 define Image/Build/Board/CAS790
154 $(call Image/Build/Cellvision2,$(1),cas-790)
157 define Image/Build/Board/CAS790/squashfs
158 $(call Image/Build/Board/CAS790,squashfs)
161 define Image/Build/Board/CAS790/jffs2-64k
162 $(call Image/Build/Board/CAS790,jffs2-64k)
165 define Image/Build/Board/CAS790/Initramfs
166 $(call Image/Build/LZMAKernel/Admboot,cas-790,gz)
172 define Image/Build/Board/CAS861
173 $(call Image/Build/Cellvision2,$(1),cas-861)
176 define Image/Build/Board/CAS861/squashfs
177 $(call Image/Build/Board/CAS861,squashfs)
180 define Image/Build/Board/CAS861/jffs2-64k
181 $(call Image/Build/Board/CAS861,jffs2-64k)
184 define Image/Build/Board/CAS861/Initramfs
185 $(call Image/Build/LZMAKernel/Admboot,cas-861,gz)
189 # Cellvision CAS-861W
191 define Image/Build/Board/CAS861W
192 $(call Image/Build/Cellvision2,$(1),cas-861w)
195 define Image/Build/Board/CAS861W/squashfs
196 $(call Image/Build/Board/CAS861W,squashfs)
199 define Image/Build/Board/CAS861W/jffs2-64k
200 $(call Image/Build/Board/CAS861W,jffs2-64k)
203 define Image/Build/Board/CAS861W/Initramfs
204 $(call Image/Build/LZMAKernel/Admboot,cas-861w,gz)
210 define Image/Build/Board/NP27G
211 $(call Image/Build/MyLoader,$(1),np27g)
214 define Image/Build/Board/NP27G/squashfs
215 $(call Image/Build/Board/NP27G,squashfs)
218 define Image/Build/Board/NP27G/jffs2-64k
219 $(call Image/Build/Board/NP27G,jffs2-64k)
222 define Image/Build/Board/NP27G/Initramfs
223 $(call Image/Build/LZMAKernel/Generic,np27g,bin)
229 define Image/Build/Board/NP28G
230 $(call Image/Build/MyLoader,$(1),np28g)
233 define Image/Build/Board/NP28G/squashfs
234 $(call Image/Build/Board/NP28G,squashfs)
237 define Image/Build/Board/NP28G/jffs2-64k
238 $(call Image/Build/Board/NP28G,jffs2-64k)
241 define Image/Build/Board/NP28G/Initramfs
242 $(call Image/Build/LZMAKernel/Generic,np28g,bin)
248 define Image/Build/Board/WP54G
249 $(call Image/Build/MyLoader,$(1),wp54g)
252 define Image/Build/Board/WP54G/squashfs
253 $(call Image/Build/Board/WP54G,squashfs)
256 define Image/Build/Board/WP54G/jffs2-64k
257 $(call Image/Build/Board/WP54G,jffs2-64k)
260 define Image/Build/Board/WP54G/Initramfs
261 $(call Image/Build/LZMAKernel/Generic,wp54g,bin)
267 define Image/Build/Board/WP54AG
268 $(call Image/Build/MyLoader,$(1),wp54ag)
271 define Image/Build/Board/WP54AG/squashfs
272 $(call Image/Build/Board/WP54AG,squashfs)
275 define Image/Build/Board/WP54AG/jffs2-64k
276 $(call Image/Build/Board/WP54AG,jffs2-64k)
279 define Image/Build/Board/WP54AG/Initramfs
280 $(call Image/Build/LZMAKernel/Generic,wp54ag,bin)
286 define Image/Build/Board/WPP54G
287 $(call Image/Build/MyLoader,$(1),wpp54g)
290 define Image/Build/Board/WPP54G/squashfs
291 $(call Image/Build/Board/WPP54G,squashfs)
294 define Image/Build/Board/WPP54G/jffs2-64k
295 $(call Image/Build/Board/WPP54G,jffs2-64k)
298 define Image/Build/Board/WPP54G/Initramfs
299 $(call Image/Build/LZMAKernel/Generic,wpp54g,bin)
305 define Image/Build/Board/WPP54AG
306 $(call Image/Build/MyLoader,$(1),wpp54ag)
309 define Image/Build/Board/WPP54AG/squashfs
310 $(call Image/Build/Board/WPP54AG,squashfs)
313 define Image/Build/Board/WPP54AG/jffs2-64k
314 $(call Image/Build/Board/WPP54AG,jffs2-64k)
317 define Image/Build/Board/WPP54AG/Initramfs
318 $(call Image/Build/LZMAKernel/Generic,wpp54ag,bin)
324 define Image/Build/Board/WP54GWRT
325 $(call Image/Build/Compex,$(1),wp54g-wrt)
328 define Image/Build/Board/WP54GWRT/squashfs
329 $(call Image/Build/Board/WP54GWRT,squashfs)
332 define Image/Build/Board/WP54GWRT/jffs2-64k
333 $(call Image/Build/Board/WP54GWRT,jffs2-64k)
336 define Image/Build/Board/WP54GWRT/Initramfs
337 $(call Image/Build/LZMAKernel/KArgs,wp54g-wrt,bin)
343 define Image/Build/Board/BR6104K
344 $(call Image/Build/Edimax,$(1),br-6104k)
347 define Image/Build/Board/BR6104K/squashfs
348 $(call Image/Build/Board/BR6104K,squashfs)
351 define Image/Build/Board/BR6104K/Initramfs
352 $(call Image/Build/LZMAKernel/Admboot,br-6104k,gz)
358 define Image/Build/Board/BR6104KP
359 $(call Image/Build/Edimax,$(1),br-6104kp)
362 define Image/Build/Board/BR6104KP/squashfs
363 $(call Image/Build/Board/BR6104KP,squashfs)
366 define Image/Build/Board/BR6104KP/Initramfs
367 $(call Image/Build/LZMAKernel/Admboot,br-6104kp,gz)
373 define Image/Build/Board/BR6104WG
374 $(call Image/Build/Edimax,$(1),br-6104wg)
377 define Image/Build/Board/BR6104WG/squashfs
378 $(call Image/Build/Board/BR6104WG,squashfs)
381 define Image/Build/Board/BR6104WG/Initramfs
382 $(call Image/Build/LZMAKernel/Admboot,br-6104wg,gz)
386 # Conceptronic C54BSR4
388 define Image/Build/Board/C54BSR4
389 $(call Image/Build/Edimax,$(1),c54bsr4)
392 define Image/Build/Board/C54BSR4/squashfs
393 $(call Image/Build/Board/C54BSR4,squashfs)
396 define Image/Build/Board/C54BSR4/Initramfs
397 $(call Image/Build/LZMAKernel/Admboot,c54bsr4,gz)
401 # Infineon EASY 83000
403 define Image/Build/Board/EASY83000
404 $(call Image/Build/Infineon,$(1),easy-83000)
407 define Image/Build/Board/EASY83000/squashfs
408 $(call Image/Build/Board/EASY83000,squashfs)
411 define Image/Build/Board/EASY83000/jffs2-64k
412 $(call Image/Build/Board/EASY83000,jffs2-64k)
415 define Image/Build/Board/EASY83000/Initramfs
416 $(call Image/Build/LZMAKernel/Admboot,easy-83000,gz)
422 define Image/Build/Board/RB1xx/Initramfs
423 $(CP) $(KDIR)/vmlinux.elf $(call imgname,netboot,rb1xx)
429 define Image/Build/Group/Cellvision
430 $(call Image/Build/Board/CAS700/$(1))
431 $(call Image/Build/Board/CAS700W/$(1))
432 $(call Image/Build/Board/CAS771/$(1))
433 $(call Image/Build/Board/CAS771W/$(1))
434 $(call Image/Build/Board/CAS790/$(1))
435 $(call Image/Build/Board/CAS861/$(1))
436 $(call Image/Build/Board/CAS861W/$(1))
439 define Image/Build/Group/WP54G
440 $(call Image/Build/Board/WP54G/$(1))
441 $(call Image/Build/Board/WP54AG/$(1))
442 $(call Image/Build/Board/WPP54G/$(1))
443 $(call Image/Build/Board/WPP54AG/$(1))
444 $(call Image/Build/Board/WP54GWRT/$(1))
447 define Image/Build/Group/Compex
448 $(call Image/Build/Board/NP27G/$(1))
449 $(call Image/Build/Board/NP28G/$(1))
450 $(call Image/Build/Group/WP54G,$(1))
453 define Image/Build/Group/Conceptronic
454 $(call Image/Build/Board/C54BSR4/$(1))
457 define Image/Build/Group/Edimax
458 $(call Image/Build/Board/BR6104K/$(1))
459 $(call Image/Build/Board/BR6104KP/$(1))
460 $(call Image/Build/Board/BR6104WG/$(1))
463 define Image/Build/Group/Infineon
464 $(call Image/Build/Board/EASY83000/$(1))
467 define Image/Build/Group/All
468 $(call Image/Build/Group/Cellvision,$(1))
469 $(call Image/Build/Group/Compex,$(1))
470 $(call Image/Build/Group/Conceptronic,$(1))
471 $(call Image/Build/Group/Edimax,$(1))
472 $(call Image/Build/Group/Cellvision,$(1))
473 $(call Image/Build/Group/Infineon,$(1))
474 $(call Image/Build/Board/RB1xx/$(1))
480 define Image/Build/Profile/Generic
481 $(call Image/Build/Group/All,$(1))
484 define Image/Build/Profile/Atheros
485 $(call Image/Build/AllBoards,$(1))
488 define Image/Build/Profile/Texas
489 $(call Image/Build/AllBoards,$(1))
492 define Image/Build/Profile/Ralink
493 $(call Image/Build/AllBoards,$(1))
496 define Image/Build/Profile/WP54G
497 $(call Image/Build/Group/WP54G,$(1))
500 define Image/Build/Profile/NP27G
501 $(call Image/Build/Board/NP27G/$(1))
504 define Image/Build/Profile/NP28G
505 $(call Image/Build/Board/NP28G/$(1))
508 define Image/Build/Profile/CAS700
509 $(call Image/Build/Board/CAS700/$(1))
512 define Image/Build/Profile/CAS700W
513 $(call Image/Build/Board/CAS700W/$(1))
516 define Image/Build/Profile/CAS771
517 $(call Image/Build/Board/CAS771/$(1))
520 define Image/Build/Profile/CAS771W
521 $(call Image/Build/Board/CAS771W/$(1))
524 define Image/Build/Profile/CAS790
525 $(call Image/Build/Board/CAS790/$(1))
528 define Image/Build/Profile/CAS861
529 $(call Image/Build/Board/CAS861/$(1))
532 define Image/Build/Profile/CAS861W
533 $(call Image/Build/Board/CAS861W/$(1))
536 define Image/Build/Profile/BR6104K
537 $(call Image/Build/Board/BR6104K/$(1))
540 define Image/Build/Profile/BR6104KP
541 $(call Image/Build/Board/BR6104KP/$(1))
544 define Image/Build/Profile/C54BSR4
545 $(call Image/Build/Board/C54BSR4/$(1))
548 define Image/Build/Profile/RouterBoard
549 $(call Image/Build/Board/RB1xx/$(1))
552 ifeq ($(PROFILE),RouterBoard)
553 define Image/cmdline/yaffs2
554 root=/dev/mtdblock3 rootfstype=yaffs2 init=/etc/preinit
557 define Image/BuildKernel/RouterBoard
558 $(CP) $(KDIR)/vmlinux.elf $(call imgname,kernel,rb1xx)
559 $(STAGING_DIR_HOST)/bin/patch-cmdline $(call imgname,kernel,rb1xx) \
560 '$(strip $(call Image/cmdline/yaffs2))'
563 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
564 define Image/BuildKernel
565 $(call Image/BuildKernel/RouterBoard)