generate firmware images for the CAS-700/771/790/861 devices
[openwrt/staging/wigyori.git] / target / linux / adm5120 / image / router_le.mk
1 #
2 # Copyright (C) 2007,2008 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 define trxedimax/jffs2-128k
9 -a 0x20000 -f $(KDIR)/root.jffs2-128k
10 endef
11
12 define trxedimax/jffs2-64k
13 -a 0x10000 -f $(KDIR)/root.jffs2-64k
14 endef
15
16 define trxedimax/squashfs
17 -a 1024 -f $(KDIR)/root.squashfs
18 endef
19
20 define Image/Build/TRXEdimax
21 $(STAGING_DIR_HOST)/bin/trx -o $(1) -f $(KDIR)/vmlinux.lzma \
22 $(call trxedimax/$(2))
23 endef
24
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)
28 endef
29
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
44 endef
45
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
51 endef
52
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
61 endef
62
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 \
68 -p0x30000:0 \
69 -b0x20000:0x10000:h:$(KDIR)/loader-$(2).gz \
70 -b0x30000:0::$(call imgname,$(1),$(2)).trx \
71 $(call imgname,$(1),$(2)).bin
72 endef
73
74 #
75 # Cellvision CAS-700
76 #
77 define Image/Build/Board/CAS700
78 $(call Image/Build/Cellvision2,$(1),cas-700)
79 endef
80
81 define Image/Build/Board/CAS700/squashfs
82 $(call Image/Build/Board/CAS700,squashfs)
83 endef
84
85 define Image/Build/Board/CAS700/jffs2-64k
86 $(call Image/Build/Board/CAS700,jffs2-64k)
87 endef
88
89 define Image/Build/Board/CAS700/Initramfs
90 $(call Image/Build/LZMAKernel/Admboot,cas-700,gz)
91 endef
92
93 #
94 # Cellvision CAS-700W
95 #
96 define Image/Build/Board/CAS700W
97 $(call Image/Build/Cellvision2,$(1),cas-700w)
98 endef
99
100 define Image/Build/Board/CAS700W/squashfs
101 $(call Image/Build/Board/CAS700W,squashfs)
102 endef
103
104 define Image/Build/Board/CAS700W/jffs2-64k
105 $(call Image/Build/Board/CAS700W,jffs2-64k)
106 endef
107
108 define Image/Build/Board/CAS700W/Initramfs
109 $(call Image/Build/LZMAKernel/Admboot,cas-700w,gz)
110 endef
111
112 #
113 # Cellvision CAS-771
114 #
115 define Image/Build/Board/CAS771
116 $(call Image/Build/Cellvision2,$(1),cas-771)
117 endef
118
119 define Image/Build/Board/CAS771/squashfs
120 $(call Image/Build/Board/CAS771,squashfs)
121 endef
122
123 define Image/Build/Board/CAS771/jffs2-64k
124 $(call Image/Build/Board/CAS771,jffs2-64k)
125 endef
126
127 define Image/Build/Board/CAS771/Initramfs
128 $(call Image/Build/LZMAKernel/Admboot,cas-771,gz)
129 endef
130
131 #
132 # Cellvision CAS-771W
133 #
134 define Image/Build/Board/CAS771W
135 $(call Image/Build/Cellvision2,$(1),cas-771w)
136 endef
137
138 define Image/Build/Board/CAS771W/squashfs
139 $(call Image/Build/Board/CAS771W,squashfs)
140 endef
141
142 define Image/Build/Board/CAS771W/jffs2-64k
143 $(call Image/Build/Board/CAS771W,jffs2-64k)
144 endef
145
146 define Image/Build/Board/CAS771W/Initramfs
147 $(call Image/Build/LZMAKernel/Admboot,cas-771w,gz)
148 endef
149
150 #
151 # Cellvision CAS-790
152 #
153 define Image/Build/Board/CAS790
154 $(call Image/Build/Cellvision2,$(1),cas-790)
155 endef
156
157 define Image/Build/Board/CAS790/squashfs
158 $(call Image/Build/Board/CAS790,squashfs)
159 endef
160
161 define Image/Build/Board/CAS790/jffs2-64k
162 $(call Image/Build/Board/CAS790,jffs2-64k)
163 endef
164
165 define Image/Build/Board/CAS790/Initramfs
166 $(call Image/Build/LZMAKernel/Admboot,cas-790,gz)
167 endef
168
169 #
170 # Cellvision CAS-861
171 #
172 define Image/Build/Board/CAS861
173 $(call Image/Build/Cellvision2,$(1),cas-861)
174 endef
175
176 define Image/Build/Board/CAS861/squashfs
177 $(call Image/Build/Board/CAS861,squashfs)
178 endef
179
180 define Image/Build/Board/CAS861/jffs2-64k
181 $(call Image/Build/Board/CAS861,jffs2-64k)
182 endef
183
184 define Image/Build/Board/CAS861/Initramfs
185 $(call Image/Build/LZMAKernel/Admboot,cas-861,gz)
186 endef
187
188 #
189 # Cellvision CAS-861W
190 #
191 define Image/Build/Board/CAS861W
192 $(call Image/Build/Cellvision2,$(1),cas-861w)
193 endef
194
195 define Image/Build/Board/CAS861W/squashfs
196 $(call Image/Build/Board/CAS861W,squashfs)
197 endef
198
199 define Image/Build/Board/CAS861W/jffs2-64k
200 $(call Image/Build/Board/CAS861W,jffs2-64k)
201 endef
202
203 define Image/Build/Board/CAS861W/Initramfs
204 $(call Image/Build/LZMAKernel/Admboot,cas-861w,gz)
205 endef
206
207 #
208 # Compex NP27G
209 #
210 define Image/Build/Board/NP27G
211 $(call Image/Build/MyLoader,$(1),np27g)
212 endef
213
214 define Image/Build/Board/NP27G/squashfs
215 $(call Image/Build/Board/NP27G,squashfs)
216 endef
217
218 define Image/Build/Board/NP27G/jffs2-64k
219 $(call Image/Build/Board/NP27G,jffs2-64k)
220 endef
221
222 define Image/Build/Board/NP27G/Initramfs
223 $(call Image/Build/LZMAKernel/Generic,np27g,bin)
224 endef
225
226 #
227 # Compex NP28G
228 #
229 define Image/Build/Board/NP28G
230 $(call Image/Build/MyLoader,$(1),np28g)
231 endef
232
233 define Image/Build/Board/NP28G/squashfs
234 $(call Image/Build/Board/NP28G,squashfs)
235 endef
236
237 define Image/Build/Board/NP28G/jffs2-64k
238 $(call Image/Build/Board/NP28G,jffs2-64k)
239 endef
240
241 define Image/Build/Board/NP28G/Initramfs
242 $(call Image/Build/LZMAKernel/Generic,np28g,bin)
243 endef
244
245 #
246 # Compex WP54G
247 #
248 define Image/Build/Board/WP54G
249 $(call Image/Build/MyLoader,$(1),wp54g)
250 endef
251
252 define Image/Build/Board/WP54G/squashfs
253 $(call Image/Build/Board/WP54G,squashfs)
254 endef
255
256 define Image/Build/Board/WP54G/jffs2-64k
257 $(call Image/Build/Board/WP54G,jffs2-64k)
258 endef
259
260 define Image/Build/Board/WP54G/Initramfs
261 $(call Image/Build/LZMAKernel/Generic,wp54g,bin)
262 endef
263
264 #
265 # Compex WP54AG
266 #
267 define Image/Build/Board/WP54AG
268 $(call Image/Build/MyLoader,$(1),wp54ag)
269 endef
270
271 define Image/Build/Board/WP54AG/squashfs
272 $(call Image/Build/Board/WP54AG,squashfs)
273 endef
274
275 define Image/Build/Board/WP54AG/jffs2-64k
276 $(call Image/Build/Board/WP54AG,jffs2-64k)
277 endef
278
279 define Image/Build/Board/WP54AG/Initramfs
280 $(call Image/Build/LZMAKernel/Generic,wp54ag,bin)
281 endef
282
283 #
284 # Compex WPP54G
285 #
286 define Image/Build/Board/WPP54G
287 $(call Image/Build/MyLoader,$(1),wpp54g)
288 endef
289
290 define Image/Build/Board/WPP54G/squashfs
291 $(call Image/Build/Board/WPP54G,squashfs)
292 endef
293
294 define Image/Build/Board/WPP54G/jffs2-64k
295 $(call Image/Build/Board/WPP54G,jffs2-64k)
296 endef
297
298 define Image/Build/Board/WPP54G/Initramfs
299 $(call Image/Build/LZMAKernel/Generic,wpp54g,bin)
300 endef
301
302 #
303 # Compex WPP54AG
304 #
305 define Image/Build/Board/WPP54AG
306 $(call Image/Build/MyLoader,$(1),wpp54ag)
307 endef
308
309 define Image/Build/Board/WPP54AG/squashfs
310 $(call Image/Build/Board/WPP54AG,squashfs)
311 endef
312
313 define Image/Build/Board/WPP54AG/jffs2-64k
314 $(call Image/Build/Board/WPP54AG,jffs2-64k)
315 endef
316
317 define Image/Build/Board/WPP54AG/Initramfs
318 $(call Image/Build/LZMAKernel/Generic,wpp54ag,bin)
319 endef
320
321 #
322 # Compex WP54G-WRT
323 #
324 define Image/Build/Board/WP54GWRT
325 $(call Image/Build/Compex,$(1),wp54g-wrt)
326 endef
327
328 define Image/Build/Board/WP54GWRT/squashfs
329 $(call Image/Build/Board/WP54GWRT,squashfs)
330 endef
331
332 define Image/Build/Board/WP54GWRT/jffs2-64k
333 $(call Image/Build/Board/WP54GWRT,jffs2-64k)
334 endef
335
336 define Image/Build/Board/WP54GWRT/Initramfs
337 $(call Image/Build/LZMAKernel/KArgs,wp54g-wrt,bin)
338 endef
339
340 #
341 # Edimax BR-6104K
342 #
343 define Image/Build/Board/BR6104K
344 $(call Image/Build/Edimax,$(1),br-6104k)
345 endef
346
347 define Image/Build/Board/BR6104K/squashfs
348 $(call Image/Build/Board/BR6104K,squashfs)
349 endef
350
351 define Image/Build/Board/BR6104K/Initramfs
352 $(call Image/Build/LZMAKernel/Admboot,br-6104k,gz)
353 endef
354
355 #
356 # Edimax BR-6104KP
357 #
358 define Image/Build/Board/BR6104KP
359 $(call Image/Build/Edimax,$(1),br-6104kp)
360 endef
361
362 define Image/Build/Board/BR6104KP/squashfs
363 $(call Image/Build/Board/BR6104KP,squashfs)
364 endef
365
366 define Image/Build/Board/BR6104KP/Initramfs
367 $(call Image/Build/LZMAKernel/Admboot,br-6104kp,gz)
368 endef
369
370 #
371 # Edimax BR-6104WG
372 #
373 define Image/Build/Board/BR6104WG
374 $(call Image/Build/Edimax,$(1),br-6104wg)
375 endef
376
377 define Image/Build/Board/BR6104WG/squashfs
378 $(call Image/Build/Board/BR6104WG,squashfs)
379 endef
380
381 define Image/Build/Board/BR6104WG/Initramfs
382 $(call Image/Build/LZMAKernel/Admboot,br-6104wg,gz)
383 endef
384
385 #
386 # Conceptronic C54BSR4
387 #
388 define Image/Build/Board/C54BSR4
389 $(call Image/Build/Edimax,$(1),c54bsr4)
390 endef
391
392 define Image/Build/Board/C54BSR4/squashfs
393 $(call Image/Build/Board/C54BSR4,squashfs)
394 endef
395
396 define Image/Build/Board/C54BSR4/Initramfs
397 $(call Image/Build/LZMAKernel/Admboot,c54bsr4,gz)
398 endef
399
400 #
401 # Infineon EASY 83000
402 #
403 define Image/Build/Board/EASY83000
404 $(call Image/Build/Infineon,$(1),easy-83000)
405 endef
406
407 define Image/Build/Board/EASY83000/squashfs
408 $(call Image/Build/Board/EASY83000,squashfs)
409 endef
410
411 define Image/Build/Board/EASY83000/jffs2-64k
412 $(call Image/Build/Board/EASY83000,jffs2-64k)
413 endef
414
415 define Image/Build/Board/EASY83000/Initramfs
416 $(call Image/Build/LZMAKernel/Admboot,easy-83000,gz)
417 endef
418
419 #
420 # Mikrotik RB-1xx
421 #
422 define Image/Build/Board/RB1xx/Initramfs
423 $(CP) $(KDIR)/vmlinux.elf $(call imgname,netboot,rb1xx)
424 endef
425
426 #
427 # Groups
428 #
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))
437 endef
438
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))
445 endef
446
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))
451 endef
452
453 define Image/Build/Group/Conceptronic
454 $(call Image/Build/Board/C54BSR4/$(1))
455 endef
456
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))
461 endef
462
463 define Image/Build/Group/Infineon
464 $(call Image/Build/Board/EASY83000/$(1))
465 endef
466
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))
475 endef
476
477 #
478 # Profiles
479 #
480 define Image/Build/Profile/Generic
481 $(call Image/Build/Group/All,$(1))
482 endef
483
484 define Image/Build/Profile/Atheros
485 $(call Image/Build/AllBoards,$(1))
486 endef
487
488 define Image/Build/Profile/Texas
489 $(call Image/Build/AllBoards,$(1))
490 endef
491
492 define Image/Build/Profile/Ralink
493 $(call Image/Build/AllBoards,$(1))
494 endef
495
496 define Image/Build/Profile/WP54G
497 $(call Image/Build/Group/WP54G,$(1))
498 endef
499
500 define Image/Build/Profile/NP27G
501 $(call Image/Build/Board/NP27G/$(1))
502 endef
503
504 define Image/Build/Profile/NP28G
505 $(call Image/Build/Board/NP28G/$(1))
506 endef
507
508 define Image/Build/Profile/CAS700
509 $(call Image/Build/Board/CAS700/$(1))
510 endef
511
512 define Image/Build/Profile/CAS700W
513 $(call Image/Build/Board/CAS700W/$(1))
514 endef
515
516 define Image/Build/Profile/CAS771
517 $(call Image/Build/Board/CAS771/$(1))
518 endef
519
520 define Image/Build/Profile/CAS771W
521 $(call Image/Build/Board/CAS771W/$(1))
522 endef
523
524 define Image/Build/Profile/CAS790
525 $(call Image/Build/Board/CAS790/$(1))
526 endef
527
528 define Image/Build/Profile/CAS861
529 $(call Image/Build/Board/CAS861/$(1))
530 endef
531
532 define Image/Build/Profile/CAS861W
533 $(call Image/Build/Board/CAS861W/$(1))
534 endef
535
536 define Image/Build/Profile/BR6104K
537 $(call Image/Build/Board/BR6104K/$(1))
538 endef
539
540 define Image/Build/Profile/BR6104KP
541 $(call Image/Build/Board/BR6104KP/$(1))
542 endef
543
544 define Image/Build/Profile/C54BSR4
545 $(call Image/Build/Board/C54BSR4/$(1))
546 endef
547
548 define Image/Build/Profile/RouterBoard
549 $(call Image/Build/Board/RB1xx/$(1))
550 endef
551
552 ifeq ($(PROFILE),RouterBoard)
553 define Image/cmdline/yaffs2
554 root=/dev/mtdblock3 rootfstype=yaffs2 init=/etc/preinit
555 endef
556
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))'
561 endef
562
563 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
564 define Image/BuildKernel
565 $(call Image/BuildKernel/RouterBoard)
566 endef
567 endif
568
569 endif
570