Root/target/linux/ar71xx/image/Makefile

1#
2# Copyright (C) 2008-2011 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7include $(TOPDIR)/rules.mk
8include $(INCLUDE_DIR)/image.mk
9
10define imgname
11$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(patsubst jffs2-%,jffs2,$(patsubst squashfs-%,squashfs,$(1)))
12endef
13
14define sysupname
15$(call imgname,$(1),$(2))-sysupgrade.bin
16endef
17
18define factoryname
19$(call imgname,$(1),$(2))-factory.bin
20endef
21
22VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux
23UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage
24fs_squash:=squashfs-only
25fs_all:=all
26fs_4k:=4k
27fs_64k:=64k
28fs_128k:=128k
29ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
30    fs_squash:=initramfs
31    fs_all:=initramfs
32    fs_4k:=initramfs
33    fs_64k:=initramfs
34    fs_128k:=initramfs
35    VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux-initramfs
36    UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage-initramfs
37endif
38
39define CompressLzma
40  $(STAGING_DIR_HOST)/bin/lzma e $(1) -lc1 -lp2 -pb2 $(2)
41endef
42
43define PatchKernelLzma
44    cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(1)
45    $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(1) '$(strip $(2))'
46    $(call CompressLzma,$(KDIR)/vmlinux-$(1),$(KDIR)/vmlinux-$(1).bin.lzma)
47endef
48
49define PatchKernelGzip
50    cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(1)
51    $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(1) '$(strip $(2))'
52    gzip -9 -c $(KDIR)/vmlinux-$(1) > $(KDIR)/vmlinux-$(1).bin.gz
53endef
54
55define MkuImage
56    mkimage -A mips -O linux -T kernel -a 0x80060000 -C $(1) \
57        -e 0x80060000 -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
58        -d $(2) $(3)
59endef
60
61define MkuImageLzma
62    $(call PatchKernelLzma,$(1),$(2))
63    $(call MkuImage,lzma,$(KDIR)/vmlinux-$(1).bin.lzma,$(KDIR)/vmlinux-$(1).uImage)
64endef
65
66define MkuImageGzip
67    $(call PatchKernelGzip,$(1),$(2))
68    $(call MkuImage,gzip,$(KDIR)/vmlinux-$(1).bin.gz,$(KDIR)/vmlinux-$(1).uImage)
69endef
70
71define CatFiles
72    if [ `stat -c%s "$(1)"` -gt $(2) ]; then \
73        echo "Warning: $(1) is too big"; \
74    else if [ `stat -c%s $(3)` -gt $(4) ]; then \
75        echo "Warning: $(3) is too big"; \
76    else \
77        ( dd if=$(1) bs=$(2) conv=sync; dd if=$(3) ) > $(5); \
78    fi; fi
79endef
80
81define Sysupgrade/KR
82    $(call CatFiles,$(KDIR)/vmlinux-$(2).uImage,$(3),$(KDIR)/root.$(1),$(4),$(call sysupname,$(1),$(2)))
83endef
84
85define Sysupgrade/RK
86    $(call CatFiles,$(KDIR)/root.$(1),$(4),$(KDIR)/vmlinux-$(2).uImage,$(3),$(call sysupname,$(1),$(2)))
87endef
88
89define Image/BuildKernel
90    cp $(KDIR)/vmlinux.elf $(VMLINUX).elf
91    cp $(KDIR)/vmlinux $(VMLINUX).bin
92    gzip -9 -c $(KDIR)/vmlinux > $(KDIR)/vmlinux.bin.gz
93    $(call CompressLzma,$(KDIR)/vmlinux,$(KDIR)/vmlinux.bin.lzma)
94    dd if=$(KDIR)/vmlinux.bin.lzma of=$(VMLINUX).lzma bs=65536 conv=sync
95    dd if=$(KDIR)/vmlinux.bin.gz of=$(VMLINUX).gz bs=65536 conv=sync
96    $(call MkuImage,gzip,$(KDIR)/vmlinux.bin.gz,$(UIMAGE)-gzip.bin)
97    $(call MkuImage,lzma,$(KDIR)/vmlinux.bin.lzma,$(UIMAGE)-lzma.bin)
98    $(call Image/Build/Initramfs)
99endef
100
101define Image/Build/WRT400N
102    $(call MkuImageLzma,$(2),$(3))
103    $(call Sysupgrade/KR,$(1),$(2),1310720,6488064)
104    if [ -e "$(call sysupname,$(1),$(2))" ]; then \
105        wrt400n $(KDIR)/vmlinux-$(2).uImage $(KDIR)/root.$(1) $(call factoryname,$(1),$(2)); \
106    fi
107endef
108
109dir825b1_mtdlayout=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,1024k(kernel),5184k(rootfs),64k(caldata)ro,1600k(unknown)ro,6208k@0x50000(firmware)
110define Image/Build/DIR825B1
111    $(call MkuImageLzma,$(2),$(3) $(dir825b1_mtdlayout))
112    $(call Sysupgrade/KR,$(1),$(2),1048576,5308416)
113    if [ -e "$(call sysupname,$(1),$(2))" ]; then \
114        ( \
115            dd if=$(call sysupname,$(1),$(2)); \
116            echo -n "01AP94-AR7161-RT-080619-00"; \
117        ) > $(call imgname,$(1),$(2))-backup-loader.bin; \
118        if [ `stat -c%s $(call sysupname,$(1),$(2))` -gt 4194304 ]; then \
119            echo "Warning: $(call sysupname,$(1),$(2)) is too big"; \
120        else \
121            ( \
122                dd if=$(call sysupname,$(1),$(2)) bs=4096k conv=sync; \
123                echo -n "00AP94-AR7161-RT-080619-00"; \
124            ) > $(call factoryname,$(1),$(2)); \
125        fi; \
126    fi
127endef
128
129define Image/Build/WZRHPG30XNH
130    $(call MkuImageLzma,$(2),$(3))
131    $(call Sysupgrade/KR,$(1),$(2),1048576,31850496)
132    if [ -e "$(call sysupname,$(1),$(2))" ]; then \
133        ( \
134            echo -n -e "# Airstation Public Fmt1\x00\x00\x00\x00\x00\x00\x00\x00"; \
135            dd if=$(call sysupname,$(1),$(2)); \
136        ) > $(call imgname,$(1),$(2))-tftp.bin; \
137        buffalo-enc -p $(4) -v 1.76 \
138            -i $(call sysupname,$(1),$(2)) \
139            -o $(KDIR)/$(2).enc; \
140        buffalo-tag -b $(4) -p $(4) -a ath -v 1.76 -m 1.01 -l mlang8 \
141            -w 3 -c 0x80041000 -d 0x801e8000 -f 1 -r M_ \
142            -i $(KDIR)/$(2).enc \
143            -o $(call factoryname,$(1),$(2)); \
144    fi
145endef
146
147define Image/Build/Cameo
148    $(call MkuImageLzma,$(2),$(3) $($(4)))
149    $(call Sysupgrade/KR,$(1),$(2),$(5),$(6))
150    if [ -e "$(call sysupname,$(1),$(2))" ]; then \
151        ( \
152            dd if=$(KDIR)/vmlinux-$(2).uImage bs=$(5) conv=sync; \
153            dd if=$(KDIR)/root.$(1) bs=$(6) conv=sync; \
154            echo -n $(7); \
155        ) > $(call factoryname,$(1),$(2)); \
156    fi
157endef
158
159cameo913x_mtdlayout=mtdparts=spi0.0:128k(u-boot)ro,64k(config)ro,896k(kernel),2944k(rootfs),64k(art)ro,3840k@0x30000(firmware)
160define Image/Build/Cameo913x
161    $(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo913x_mtdlayout),917504,2949120,$(4))
162endef
163
164cameo7240_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,896k(kernel),2816k(rootfs),64k(mac)ro,64k(art)ro,3712k@0x40000(firmware)
165define Image/Build/Cameo7240
166    $(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo7240_mtdlayout),917504,2818048,$(4))
167endef
168
169define Image/Build/Ath
170    $(call Sysupgrade/$(7),$(1),$(2),$(5),$(6))
171    if [ -e "$(call sysupname,$(1),$(2))" ]; then \
172        dd if=$(KDIR)/vmlinux-$(2).uImage \
173            of=$(call imgname,kernel,$(2)).bin bs=64k conv=sync; \
174        dd if=$(KDIR)/root.$(1) \
175            of=$(call imgname,$(1),$(2)-rootfs).bin bs=128k conv=sync; \
176    fi
177endef
178
179define Image/Build/AthGzip
180    $(call MkuImageGzip,$(2),$(3) $($(4)))
181    $(call Image/Build/Ath,$(1),$(2),$(3),$(4),$(5),$(6),$(7))
182endef
183
184define Image/Build/AthGzip/initramfs
185    $(call MkuImageLzma,$(2),$(3) $($(4)))
186endef
187
188define Image/Build/AthLzma
189    $(call MkuImageLzma,$(2),$(3) $($(4)))
190    $(call Image/Build/Ath,$(1),$(2),$(3),$(4),$(5),$(6),$(7))
191endef
192
193define Image/Build/AthLzma/initramfs
194    $(call MkuImageLzma,$(2),$(3) $($(4)))
195endef
196
197define Image/Build/PB4X
198    $(call PatchKernelLzma,$(2),$(3))
199    dd if=$(KDIR)/vmlinux-$(2).bin.lzma \
200       of=$(call imgname,kernel,$(2)).bin bs=64k conv=sync
201    dd if=$(KDIR)/root.$(1) \
202       of=$(call imgname,$(1),$(2)-rootfs).bin bs=128k conv=sync
203    -sh $(TOPDIR)/scripts/combined-image.sh \
204        "$(call imgname,kernel,$(2)).bin" \
205        "$(call imgname,$(1),$(2)-rootfs).bin" \
206        $(call sysupname,$(1),$(2))
207endef
208
209
210define Image/Build/MyLoader
211    -$(STAGING_DIR_HOST)/bin/mkmylofw -B $(2) -s $(3) \
212        -p0x030000:0xe0000:al:0x80060000:kernel:$(KDIR)/vmlinux.bin.lzma \
213        -p0x110000:0:::rootfs:$(KDIR)/root.$(1) \
214        $(call imgname,$(1),$(2))-$(4)-factory.img
215endef
216
217ubntxm_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1024k(kernel),6528k(rootfs),256k(cfg)ro,64k(EEPROM)ro,7552k@0x50000(firmware)
218define Image/Build/UBNTXM
219    $(call MkuImageLzma,$(2),$(3) $(ubntxm_mtdlayout))
220    $(call Sysupgrade/KR,$(1),$(2),1048576,6684672)
221    dd if=$(KDIR)/vmlinux-$(2).uImage of=$(KDIR)/vmlinux-$(2).uImage.bin bs=1024k conv=sync
222    -$(STAGING_DIR_HOST)/bin/mkfwimage \
223        -B $(4) -v $(5).$(6).OpenWrt.$(REVISION) \
224        -k $(KDIR)/vmlinux-$(2).uImage.bin \
225        -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
226        -o $(call factoryname,$(1),$(2))
227endef
228
229define Image/Build/UBNT
230    $(call PatchKernelLzma,$(2),$(3))
231    dd if=$(KDIR)/vmlinux-$(2).bin.lzma of=$(KDIR)/vmlinux-$(2).lzma bs=64k conv=sync
232    -$(STAGING_DIR_HOST)/bin/mkfwimage \
233        -B $(4) -v $(5).$(6).OpenWrt.$(REVISION) \
234        -k $(KDIR)/vmlinux-$(2).lzma \
235        -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
236        -o $(call factoryname,$(1),$(2))
237    -sh $(TOPDIR)/scripts/combined-image.sh \
238        "$(KDIR)/vmlinux-$(2).lzma" \
239        "$(BIN_DIR)/$(IMG_PREFIX)-root.$(1)" \
240  $(call sysupname,$(1),$(2))
241endef
242
243define Image/Build/Planex
244    $(call MkuImageGzip,$(2),$(3))
245    $(call Sysupgrade/KR,$(1),$(2),1441792,6356992)
246    if [ -e "$(call sysupname,$(1),$(2))" ]; then \
247        $(STAGING_DIR_HOST)/bin/mkplanexfw \
248            -B $(2) \
249            -v 2.00.00 \
250            -i $(call sysupname,$(1),$(2)) \
251            -o $(call factoryname,$(1),$(2)); \
252    fi
253endef
254
255define Image/Build/TPLINK
256    $(call PatchKernelGzip,$(2),$(3))
257    -$(STAGING_DIR_HOST)/bin/mktplinkfw \
258        -B $(4) -N OpenWrt -V $(REVISION)\
259        -k $(KDIR)/vmlinux-$(2).bin.gz \
260        -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
261        -o $(call factoryname,$(1),$(2))
262    -$(STAGING_DIR_HOST)/bin/mktplinkfw \
263        -B $(4) -N OpenWrt -V $(REVISION) -s \
264        -k $(KDIR)/vmlinux-$(2).bin.gz \
265        -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
266        -o $(call sysupname,$(1),$(2))
267endef
268
269define Image/Build/TPLINK/initramfs
270    $(call PatchKernelGzip,$(2),$(3))
271    -$(STAGING_DIR_HOST)/bin/mktplinkfw -c \
272        -B $(4) -N OpenWrt -V $(REVISION) -s \
273        -k $(KDIR)/vmlinux-$(2).bin.gz \
274        -o $(call imgname,$(1),$(2))-uImage.bin
275endef
276
277define Image/Build/TPLINK-LZMA
278    $(call PatchKernelLzma,$(2),$(3))
279    -$(STAGING_DIR_HOST)/bin/mktplinkfw \
280        -B $(4) -N OpenWrt -V $(REVISION)\
281        -k $(KDIR)/vmlinux-$(2).bin.lzma \
282        -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
283        -o $(call factoryname,$(1),$(2))
284    -$(STAGING_DIR_HOST)/bin/mktplinkfw \
285        -B $(4) -N OpenWrt -V $(REVISION) -s \
286        -k $(KDIR)/vmlinux-$(2).bin.lzma \
287        -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
288        -o $(call sysupname,$(1),$(2))
289endef
290
291define Image/Build/CyberTAN
292    $(call MkuImageGzip,$(2),$(3))
293    $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/image.tmp -f $(KDIR)/vmlinux-$(2).uImage \
294        -x 32 -a 0x10000 -x -32 -f $(KDIR)/root.$(1)
295    -$(STAGING_DIR_HOST)/bin/addpattern -B $(2) -v v$(4) \
296        -i $(KDIR)/image.tmp \
297        -o $(call sysupname,$(1),$(2))
298    -$(STAGING_DIR_HOST)/bin/addpattern -B $(2) -v v$(4) -g \
299        -i $(KDIR)/image.tmp \
300        -o $(call factoryname,$(1),$(2))
301    rm $(KDIR)/image.tmp
302endef
303
304define Image/Build/Netgear
305    $(call MkuImageLzma,$(2),$(3) $($(4)))
306    mkdir -p $(KDIR)/wndr3700/image
307    $(STAGING_DIR_HOST)/bin/wndr3700 \
308        $(KDIR)/vmlinux-$(2).uImage \
309        $(KDIR)/wndr3700/image/uImage \
310        $(5)
311    $(STAGING_DIR_HOST)/bin/mksquashfs-lzma \
312        $(KDIR)/wndr3700 $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp \
313        -nopad -noappend -root-owned -be
314    -rm -rf $(KDIR)/wndr3700
315    mkimage -A mips -O linux -T filesystem -C none \
316        -a 0xbf070000 -e 0xbf070000 \
317        -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
318        -d $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp \
319        $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp2
320    $(STAGING_DIR_HOST)/bin/wndr3700 \
321        $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp2 \
322        $(KDIR)/vmlinux-$(2).uImage.squashfs \
323        $(5)
324    -rm -f $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp*
325    ( \
326        dd if=$(KDIR)/vmlinux-$(2).uImage.squashfs bs=1024k conv=sync; \
327        dd if=$(KDIR)/root.$(1) bs=64k; \
328    ) > $(call sysupname,$(1),$(2))
329    for r in $(7) ; do \
330        [ -n "$$$$r" ] && dashr="-$$$$r" || dashr= ; \
331        $(STAGING_DIR_HOST)/bin/mkdniimg \
332            -B $(6) -v OpenWrt.$(REVISION) -r "$$$$r" $(8) \
333            -i $(call sysupname,$(1),$(2)) \
334            -o $(call imgname,$(1),$(2))-factory$$$$dashr.img; \
335    done
336endef
337
338define Image/Build/Netgear/initramfs
339    $(call MkuImageLzma,$(2),$(3) $($(4)))
340    $(STAGING_DIR_HOST)/bin/wndr3700 \
341        $(KDIR)/vmlinux-$(2).uImage \
342        $(call imgname,$(1),$(2))-uImage.bin \
343        $(5)
344endef
345
346ifdef CONFIG_PACKAGE_uboot-ar71xx-nbg460n_550n_550nh
347  define Image/Build/ZyXEL
348    $(call MkuImageLzma,$(2),$(3))
349    $(call Sysupgrade/KR,$(1),$(2),917504,2752512)
350    if [ -e "$(call sysupname,$(1),$(2))" ]; then \
351        if [ ! -f $(BIN_DIR)/$(IMG_PREFIX)-$(2)-u-boot.bin ]; then \
352            echo "Warning: $(IMG_PREFIX)-$(2)-u-boot.bin not found"; \
353        else \
354            $(STAGING_DIR_HOST)/bin/mkzynfw \
355                -B $(4) \
356                -b $(BIN_DIR)/$(IMG_PREFIX)-$(2)-u-boot.bin \
357                -r $(call sysupname,$(1),$(2)):0x10000 \
358                -o $(call factoryname,$(1),$(2)); \
359    fi; fi
360  endef
361endif
362
363define Image/Build/Zcomax
364    $(call MkuImageLzma,$(2),$(3))
365    $(call Sysupgrade/RK,$(1),$(2),1507328,6356992)
366    if [ -e "$(call sysupname,$(1),$(2))" ]; then \
367        $(STAGING_DIR_HOST)/bin/mkzcfw \
368            -B $(2) \
369            -k $(KDIR)/vmlinux-$(2).uImage \
370            -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
371            -o $(call imgname,$(1),$(2))-factory.img; \
372    fi
373endef
374
375define Image/Build/Template/initramfs/initramfs
376    $(call Image/Build/$(1)/initramfs,initramfs,$(2),$(3),$(4),$(5),$(6),$(7),$(8))
377endef
378
379define Image/Build/Template/all/squashfs
380    $(call Image/Build/$(1),squashfs,$(2),$(3),$(4),$(5),$(6),$(7),$(8))
381endef
382
383define Image/Build/Template/all/jffs2-64k
384    $(call Image/Build/$(1),jffs2-64k,$(2),$(3),$(4),$(5),$(6),$(7),$(8))
385endef
386
387define Image/Build/Template/all/jffs2-128k
388    $(call Image/Build/$(1),jffs2-128k,$(2),$(3),$(4),$(5),$(6),$(7),$(8))
389endef
390
391define Image/Build/Template/squashfs-only/squashfs
392    $(call Image/Build/$(1),squashfs,$(2),$(3),$(4),$(5),$(6),$(7),$(8))
393endef
394
395define Image/Build/Template/4k/squashfs
396    $(call Image/Build/$(1),squashfs-4k,$(2),$(3),$(4),$(5),$(6),$(7),$(8))
397endef
398
399define Image/Build/Template/64k/squashfs
400    $(call Image/Build/$(1),squashfs-64k,$(2),$(3),$(4),$(5),$(6),$(7),$(8))
401endef
402
403define Image/Build/Template/64k/jffs2-64k
404    $(call Image/Build/$(1),jffs2-64k,$(2),$(3),$(4),$(5),$(6),$(7),$(8))
405endef
406
407define Image/Build/Template/128k/squashfs
408    $(call Image/Build/$(1),squashfs,$(2),$(3),$(4),$(5),$(6),$(7),$(8))
409endef
410
411define Image/Build/Template/128k/jffs2-128k
412    $(call Image/Build/$(1),jffs2-128k,$(2),$(3),$(4),$(5),$(6),$(7),$(8))
413endef
414
415
416ap121_mtdlayout_2M=mtdparts=spi0.0:64k(u-boot)ro,1216k(rootfs),704k(kernel),64k(art)ro,1920k@0x10000(firmware)
417ap121_mtdlayout_4M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,2752k(rootfs),896k(kernel),64k(nvram),64k(art)ro,3648k@0x50000(firmware)
418
419ap121_cmdline=board=AP121 console=ttyATH0,115200
420define Image/Build/Profile/AP121
421    $(call Image/Build/Template/$(fs_4k)/$(1),AthLzma,ap121-2M,$(ap121_cmdline),ap121_mtdlayout_2M,720896,1245184,RK)
422    $(call Image/Build/Template/$(fs_64k)/$(1),AthLzma,ap121-4M,$(ap121_cmdline),ap121_mtdlayout_4M,917504,2818048,RK)
423endef
424
425ap121_mini_cmdline=board=AP121-MINI console=ttyATH0,115200
426define Image/Build/Profile/AP121MINI
427    $(call Image/Build/Template/$(fs_64k)/$(1),AthLzma,ap121-mini,$(ap121_mini_cmdline),ap121_mtdlayout_4M,917504,2818048,RK)
428endef
429
430ap81_cmdline=board=AP81 console=ttyS0,115200
431define Image/Build/Profile/AP81
432    $(call Image/Build/Template/$(fs_64k)/$(1),AthGzip,ap81,$(ap81_cmdline),,1310720,6619136,KR)
433endef
434
435ap83_cmdline=board=AP83 console=ttyS0,115200
436define Image/Build/Profile/AP83
437    $(call Image/Build/Template/$(fs_64k)/$(1),AthGzip,ap83,$(ap83_cmdline),,1310720,6619136,KR)
438endef
439
440ap96_cmdline=board=AP96 console=ttyS0,115200
441define Image/Build/Profile/AP96
442    $(call Image/Build/Template/$(fs_64k)/$(1),AthGzip,ap96,$(ap96_cmdline),ap96_mtdlayout,1769472,6291456,RK)
443endef
444
445db120_cmdline=board=DB120 console=ttyS0,115200
446define Image/Build/Profile/DB120
447    $(call Image/Build/Template/$(fs_64k)/$(1),AthLzma,db120,$(db120_cmdline),,1441792,6488064,RK)
448endef
449
450pb42_cmdline=board=PB42 console=ttyS0,115200
451define Image/Build/Profile/PB42
452    $(call Image/Build/Template/$(fs_64k)/$(1),PB4X,pb42,$(pb42_cmdline))
453endef
454
455pb44_cmdline=board=PB44 console=ttyS0,115200
456define Image/Build/Profile/PB44
457    $(call Image/Build/Template/$(fs_64k)/$(1),PB4X,pb44,$(pb44_cmdline))
458endef
459
460pb92_cmdline=board=PB92 console=ttyS0,115200
461define Image/Build/Profile/PB92
462    $(call Image/Build/Template/$(fs_64k)/$(1),AthLzma,pb92,$(pb92_cmdline),,917504,2818048,KR)
463endef
464
465define Image/Build/Profile/WP543
466    $(call Image/Build/Template/$(fs_64k)/$(1),MyLoader,wp543,0x200000,2M)
467    $(call Image/Build/Template/$(fs_64k)/$(1),MyLoader,wp543,0x400000,4M)
468    $(call Image/Build/Template/$(fs_64k)/$(1),MyLoader,wp543,0x800000,8M)
469    $(call Image/Build/Template/$(fs_64k)/$(1),MyLoader,wp543,0x1000000,16M)
470endef
471
472dir600a1_cmdline=board=DIR-600-A1 console=ttyS0,115200
473define Image/Build/Profile/DIR600A1
474    $(call Image/Build/Template/$(fs_64k)/$(1),Cameo7240,dir-600-a1,$(dir600a1_cmdline),"AP91-AR7240-RT-090223-00")
475endef
476
477eap7660d_cmdline=board=EAP7660D console=ttyS0,115200
478define Image/Build/Profile/EAP7660D
479    $(call Image/Build/Template/$(fs_128k)/$(1),PB4X,eap7660d,$(eap7660d_cmdline))
480endef
481
482ja76pf_cmdline=board=JA76PF console=ttyS0,115200
483define Image/Build/Profile/JA76PF
484    $(call Image/Build/Template/$(fs_64k)/$(1),PB4X,ja76pf,$(ja76pf_cmdline))
485endef
486
487jwap003_cmdline=board=JWAP003 console=ttyS0,115200
488define Image/Build/Profile/JWAP003
489    $(call Image/Build/Template/$(fs_64k)/$(1),PB4X,jwap003,$(jwap003_cmdline))
490endef
491
492fr54rtr_cmdline=board=DIR-600-A1 console=ttyS0,115200
493define Image/Build/Profile/FR54RTR
494    $(call Image/Build/Template/$(fs_64k)/$(1),Cameo7240,fr-54rtr,$(fr54rtr_cmdline),"AP91-AR7240-RT-090223-01")
495endef
496
497dir615c1_cmdline=board=DIR-615-C1 console=ttyS0,115200
498define Image/Build/Profile/DIR615C1
499    $(call Image/Build/Template/$(fs_squash)/$(1),Cameo913x,dir-615-c1,$(dir615c1_cmdline),"AP81-AR9130-RT-070614-02")
500endef
501
502tew632brp_cmdline=board=TEW-632BRP console=ttyS0,115200
503define Image/Build/Profile/TEW632BRP
504    $(call Image/Build/Template/$(fs_squash)/$(1),Cameo913x,tew-632brp,$(tew632brp_cmdline),"AP81-AR9130-RT-070614-00")
505endef
506
507tew652brp_cmdline=board=TEW-632BRP console=ttyS0,115200
508define Image/Build/Profile/TEW652BRP
509    $(call Image/Build/Template/$(fs_squash)/$(1),Cameo913x,tew-652brp,$(tew652brp_cmdline),"AP81-AR9130-RT-080609-05")
510    $(call Image/Build/Template/$(fs_squash)/$(1),Cameo913x,tew-652brp-recovery,$(tew652brp_cmdline),"AP81-AR9130-RT-070614-02")
511endef
512
513a05rbw300n_cmdline=board=TEW-632BRP console=ttyS0,115200
514define Image/Build/Profile/A02RBW300N
515    $(call Image/Build/Template/$(fs_squash)/$(1),Cameo913x,a02-rb-w300n,$(a05rbw300n_cmdline),"AP81-AR9130-RT-070614-03")
516endef
517
518ubntrs_cmdline=board=UBNT-RS console=ttyS0,115200
519define Image/Build/Profile/UBNTRS
520    $(call Image/Build/Template/$(fs_64k)/$(1),UBNT,ubnt-rs,$(ubntrs_cmdline),RS,RSx,ar7100)
521endef
522
523ubntrspro_cmdline=board=UBNT-RSPRO console=ttyS0,115200
524define Image/Build/Profile/UBNTRSPRO
525    $(call Image/Build/Template/$(fs_64k)/$(1),UBNT,ubnt-rspro,$(ubntrspro_cmdline),RSPRO,RSPRO,ar7100pro)
526endef
527
528ubntlssr71_cmdline=board=UBNT-LS-SR71 console=ttyS0,115200
529define Image/Build/Profile/UBNTLSSR71
530    $(call Image/Build/Template/$(fs_64k)/$(1),UBNT,ubnt-ls-sr71,$(ubntlssr71_cmdline),LS-SR71,LS-SR71,ar7100)
531endef
532
533ubntbulletm_cmdline=board=UBNT-BM console=ttyS0,115200
534define Image/Build/Profile/UBNTBULLETM
535    $(call Image/Build/Template/$(fs_64k)/$(1),UBNTXM,ubnt-bullet-m,$(ubntbulletm_cmdline),XM,UBNTXM,ar7240)
536endef
537
538ubntrocketm_cmdline=board=UBNT-RM console=ttyS0,115200
539define Image/Build/Profile/UBNTROCKETM
540    $(call Image/Build/Template/$(fs_64k)/$(1),UBNTXM,ubnt-rocket-m,$(ubntrocketm_cmdline),XM,UBNTXM,ar7240)
541endef
542
543ubntnanom_cmdline=board=UBNT-NM console=ttyS0,115200
544define Image/Build/Profile/UBNTNANOM
545    $(call Image/Build/Template/$(fs_64k)/$(1),UBNTXM,ubnt-nano-m,$(ubntnanom_cmdline),XM,UBNTXM,ar7240)
546endef
547
548ubntunifi_cmdline=board=UBNT-XM console=ttyS0,115200
549define Image/Build/Profile/UBNTUNIFI
550    $(call Image/Build/Template/$(fs_64k)/$(1),UBNTXM,ubnt-unifi,$(ubntunifi_cmdline),XM,UBNTXM,ar7240)
551endef
552
553define Image/Build/Profile/UBNT
554    $(call Image/Build/Profile/UBNTRS,$(1))
555    $(call Image/Build/Profile/UBNTRSPRO,$(1))
556    $(call Image/Build/Profile/UBNTLSSR71,$(1))
557    $(call Image/Build/Profile/UBNTBULLETM,$(1))
558    $(call Image/Build/Profile/UBNTROCKETM,$(1))
559    $(call Image/Build/Profile/UBNTNANOM,$(1))
560    $(call Image/Build/Profile/UBNTUNIFI,$(1))
561endef
562
563mzkw04nu_cmdline=board=MZK-W04NU console=ttyS0,115200
564define Image/Build/Profile/MZKW04NU
565    $(call Image/Build/Template/$(fs_64k)/$(1),Planex,mzk-w04nu,$(mzkw04nu_cmdline))
566endef
567
568mzkw300nh_cmdline=board=MZK-W300NH console=ttyS0,115200
569define Image/Build/Profile/MZKW300NH
570    $(call Image/Build/Template/$(fs_64k)/$(1),Planex,mzk-w300nh,$(mzkw300nh_cmdline))
571endef
572
573nbg460n_cmdline=board=NBG460N console=ttyS0,115200
574define Image/Build/Profile/NBG_460N_550N_550NH
575    $(call Image/Build/Template/$(fs_64k)/$(1),ZyXEL,nbg460n_550n_550nh,$(nbg460n_cmdline),NBG-460N)
576endef
577
578tlmr3220_cmdline=board=TL-MR3220 console=ttyS0,115200
579define Image/Build/Profile/TLMR3220V1
580    $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK,tl-mr3220-v1,$(tlmr3220_cmdline),TL-MR3220v1)
581endef
582
583tlmr3420_cmdline=board=TL-MR3420 console=ttyS0,115200
584define Image/Build/Profile/TLMR3420V1
585    $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK,tl-mr3420-v1,$(tlmr3420_cmdline),TL-MR3420v1)
586endef
587
588tlwa901nd_cmdline=board=TL-WA901ND console=ttyS0,115200
589define Image/Build/Profile/TLWA901NDV1
590    $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK,tl-wa901nd-v1,$(tlwa901nd_cmdline),TL-WA901NDv1)
591endef
592
593tlwa901ndv2_cmdline=board=TL-WA901ND-v2 console=ttyS0,115200
594define Image/Build/Profile/TLWA901NDV2
595    $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK,tl-wa901nd-v2,$(tlwa901ndv2_cmdline),TL-WA901NDv2)
596endef
597
598tlwe741ndv1_cmdline=board=TL-WR741ND console=ttyS0,115200
599define Image/Build/Profile/TLWR741NDV1
600    $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK,tl-wr741nd-v1,$(tlwe741ndv1_cmdline),TL-WR741NDv1)
601endef
602
603tlwe740nv1_cmdline=board=TL-WR741ND console=ttyS0,115200
604define Image/Build/Profile/TLWR740NV1
605    $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK,tl-wr740n-v1,$(tlwe740nv1_cmdline),TL-WR740Nv1)
606endef
607
608tlwe740nv3_cmdline=board=TL-WR741ND console=ttyS0,115200
609define Image/Build/Profile/TLWR740NV3
610    $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK,tl-wr740n-v3,$(tlwe740nv3_cmdline),TL-WR740Nv3)
611endef
612
613define Image/Build/Profile/TLWR743NDV1
614    $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK,tl-wr743nd-v1,$(tlwe741ndv1_cmdline),TL-WR743NDv1)
615endef
616
617tlwr841nv15_cmdline=board=TL-WR841N-v1.5 console=ttyS0,115200
618define Image/Build/Profile/TLWR841NV15
619    $(call Image/Build/Template/$(fs_squash)/$(1),TPLINK,tl-wr841n-v1.5,$(tlwr841nv15_cmdline),TL-WR841Nv1.5)
620endef
621
622tlwr841ndv3_cmdline=board=TL-WR941ND console=ttyS0,115200
623define Image/Build/Profile/TLWR841NDV3
624    $(call Image/Build/Template/$(fs_squash)/$(1),TPLINK,tl-wr841nd-v3,$(tlwr841ndv3_cmdline),TL-WR841NDv3)
625endef
626
627tlwr841ndv5_cmdline=board=TL-WR741ND console=ttyS0,115200
628define Image/Build/Profile/TLWR841NDV5
629    $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK,tl-wr841nd-v5,$(tlwr841ndv5_cmdline),TL-WR841NDv5)
630endef
631
632tlwr841ndv7_cmdline=board=TL-WR741ND console=ttyS0,115200
633define Image/Build/Profile/TLWR841NDV7
634    $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK,tl-wr841nd-v7,$(tlwr841ndv7_cmdline),TL-WR841NDv7)
635endef
636
637tlwr941ndv2_cmdline=board=TL-WR941ND console=ttyS0,115200
638define Image/Build/Profile/TLWR941NDV2
639    $(call Image/Build/Template/$(fs_squash)/$(1),TPLINK,tl-wr941nd-v2,$(tlwr941ndv2_cmdline),TL-WR941NDv2)
640endef
641
642tlwr941ndv3_cmdline=board=TL-WR941ND console=ttyS0,115200
643define Image/Build/Profile/TLWR941NDV3
644    $(call Image/Build/Template/$(fs_squash)/$(1),TPLINK,tl-wr941nd-v3,$(tlwr941ndv3_cmdline),TL-WR941NDv2)
645endef
646
647tlwr941ndv4_cmdline=board=TL-WR741ND console=ttyS0,115200
648define Image/Build/Profile/TLWR941NDV4
649    $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK,tl-wr941nd-v4,$(tlwr941ndv4_cmdline),TL-WR941NDv4)
650endef
651
652tlwr1043nd_cmdline=board=TL-WR1043ND console=ttyS0,115200
653define Image/Build/Profile/TLWR1043NDV1
654    $(call Image/Build/Template/$(fs_squash)/$(1),TPLINK,tl-wr1043nd-v1,$(tlwr1043nd_cmdline),TL-WR1043NDv1)
655endef
656
657tlwr703n_cmdline=board=TL-WR703N console=ttyATH0,115200
658define Image/Build/Profile/TLWR703NV1
659    $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK-LZMA,tl-wr703n-v1,$(tlwr703n_cmdline),TL-WR703Nv1)
660endef
661
662wndr3700_cmdline=board=WNDR3700 console=ttyS0,115200
663wndr3700_mtdlayout=mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,1024k(kernel),6656k(rootfs),64k(art)ro,7680k@0x70000(firmware)
664wndr3700v2_cmdline=board=WNDR3700v2 console=ttyS0,115200
665wndr3700v2_mtdlayout=mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,1024k(kernel),14848k(rootfs),64k(art)ro,15872k@0x70000(firmware)
666define Image/Build/Profile/WNDR3700
667    $(call Image/Build/Template/$(fs_64k)/$(1),Netgear,wndr3700,$(wndr3700_cmdline),wndr3700_mtdlayout,3700,WNDR3700,"" NA,)
668    $(call Image/Build/Template/$(fs_64k)/$(1),Netgear,wndr3700v2,$(wndr3700v2_cmdline),wndr3700v2_mtdlayout,3701,WNDR3700v2,"",-H 29763654+16+64)
669endef
670
671wr400n_cmdline=board=WRT400N console=ttyS0,115200
672define Image/Build/Profile/WRT400N
673    $(call Image/Build/Template/$(fs_64k)/$(1),WRT400N,wrt400n,$(wr400n_cmdline))
674endef
675
676dir825b1_cmdline=board=DIR-825-B1 console=ttyS0,115200
677define Image/Build/Profile/DIR825B1
678    $(call Image/Build/Template/$(fs_64k)/$(1),DIR825B1,dir-825-b1,$(dir825b1_cmdline))
679endef
680
681wrt160nl_cmdline=board=WRT160NL console=ttyS0,115200
682define Image/Build/Profile/WRT160NL
683    $(call Image/Build/Template/$(fs_64k)/$(1),CyberTAN,wrt160nl,$(wrt160nl_cmdline),1.00.01)
684endef
685
686wzrhpg300nh_cmdline=board=WZR-HP-G300NH console=ttyS0,115200
687define Image/Build/Profile/WZRHPG300NH
688    $(call Image/Build/Template/$(fs_128k)/$(1),WZRHPG30XNH,wzr-hp-g300nh,$(wzrhpg300nh_cmdline),WZR-HP-G300NH)
689endef
690
691wzrhpag300h_cmdline=board=WZR-HP-AG300H console=ttyS0,115200
692define Image/Build/Profile/WZRHPAG300H
693    $(call Image/Build/Template/$(fs_128k)/$(1),WZRHPG30XNH,wzr-hp-ag300h,$(wzrhpag300h_cmdline),WZR-HP-AG300H)
694endef
695
696zcn1523h28_cmdline=board=ZCN-1523H-2 console=ttyS0,115200
697define Image/Build/Profile/ZCN1523H28
698    $(call Image/Build/Template/$(fs_64k)/$(1),Zcomax,zcn-1523h-2-8,$(zcn1523h28_cmdline))
699endef
700
701zcn1523h516_cmdline=board=ZCN-1523H-5 console=ttyS0,115200
702define Image/Build/Profile/ZCN1523H516
703    $(call Image/Build/Template/$(fs_64k)/$(1),Zcomax,zcn-1523h-5-16,$(zcn1523h516_cmdline))
704endef
705
706define Image/Build/Profile/Default
707    $(call Image/Build/Profile/AP121,$(1))
708    $(call Image/Build/Profile/AP121MINI,$(1))
709    $(call Image/Build/Profile/AP81,$(1))
710    $(call Image/Build/Profile/AP83,$(1))
711    $(call Image/Build/Profile/A02RBW300N,$(1))
712    $(call Image/Build/Profile/DB120,$(1))
713    $(call Image/Build/Profile/DIR600A1,$(1))
714    $(call Image/Build/Profile/DIR615C1,$(1))
715    $(call Image/Build/Profile/DIR825B1,$(1))
716    $(call Image/Build/Profile/EAP7660D,$(1))
717    $(call Image/Build/Profile/FR54RTR,$(1))
718    $(call Image/Build/Profile/JA76PF,$(1))
719    $(call Image/Build/Profile/JWAP003,$(1))
720    $(call Image/Build/Profile/MZKW04NU,$(1))
721    $(call Image/Build/Profile/MZKW300NH,$(1))
722    $(call Image/Build/Profile/NBG_460N_550N_550NH,$(1))
723    $(call Image/Build/Profile/PB42,$(1))
724    $(call Image/Build/Profile/PB44,$(1))
725    $(call Image/Build/Profile/PB92,$(1))
726    $(call Image/Build/Profile/TEW632BRP,$(1))
727    $(call Image/Build/Profile/TEW652BRP,$(1))
728    $(call Image/Build/Profile/TLMR3220V1,$(1))
729    $(call Image/Build/Profile/TLMR3420V1,$(1))
730    $(call Image/Build/Profile/TLWA901NDV1,$(1))
731    $(call Image/Build/Profile/TLWA901NDV2,$(1))
732    $(call Image/Build/Profile/TLWR741NDV1,$(1))
733    $(call Image/Build/Profile/TLWR740NV1,$(1))
734    $(call Image/Build/Profile/TLWR740NV3,$(1))
735    $(call Image/Build/Profile/TLWR743NDV1,$(1))
736    $(call Image/Build/Profile/TLWR841NV15,$(1))
737    $(call Image/Build/Profile/TLWR841NDV3,$(1))
738    $(call Image/Build/Profile/TLWR841NDV5,$(1))
739    $(call Image/Build/Profile/TLWR841NDV7,$(1))
740    $(call Image/Build/Profile/TLWR941NDV2,$(1))
741    $(call Image/Build/Profile/TLWR941NDV3,$(1))
742    $(call Image/Build/Profile/TLWR941NDV4,$(1))
743    $(call Image/Build/Profile/TLWR1043NDV1,$(1))
744    $(call Image/Build/Profile/TLWR703NV1,$(1))
745    $(call Image/Build/Profile/UBNT,$(1))
746    $(call Image/Build/Profile/WP543,$(1))
747    $(call Image/Build/Profile/WNDR3700,$(1))
748    $(call Image/Build/Profile/AP96,$(1))
749    $(call Image/Build/Profile/WRT400N,$(1))
750    $(call Image/Build/Profile/WRT160NL,$(1))
751    $(call Image/Build/Profile/WZRHPG300NH,$(1))
752    $(call Image/Build/Profile/WZRHPAG300H,$(1))
753    $(call Image/Build/Profile/ZCN1523H28,$(1))
754    $(call Image/Build/Profile/ZCN1523H516,$(1))
755endef
756
757define Image/Build/Profile/Minimal
758    $(call Image/Build/Profile/Default,$(1))
759endef
760
761define Image/Build/Profile/Madwifi
762    $(call Image/Build/Profile/EAP7660D,$(1))
763    $(call Image/Build/Profile/UBNTRS,$(1))
764    $(call Image/Build/Profile/UBNTRSPRO,$(1))
765    $(call Image/Build/Profile/UBNTLSSR71,$(1))
766    $(call Image/Build/Profile/WP543,$(1))
767endef
768
769define Image/Build/squashfs
770    cp $(KDIR)/root.squashfs $(KDIR)/root.squashfs-4k
771    $(STAGING_DIR_HOST)/bin/padjffs2 $(KDIR)/root.squashfs-4k 4
772    cp $(KDIR)/root.squashfs-4k $(BIN_DIR)/$(IMG_PREFIX)-root.squashfs-4k
773    cp $(KDIR)/root.squashfs $(KDIR)/root.squashfs-64k
774    $(STAGING_DIR_HOST)/bin/padjffs2 $(KDIR)/root.squashfs-64k 4 8 64
775    cp $(KDIR)/root.squashfs-64k $(BIN_DIR)/$(IMG_PREFIX)-root.squashfs-64k
776    $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
777endef
778
779define Image/Build/Initramfs
780    $(call Image/Build/Profile/$(PROFILE),initramfs)
781endef
782
783define Image/Build
784    $(call Image/Build/$(1))
785    dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
786    $(call Image/Build/Profile/$(PROFILE),$(1))
787endef
788
789$(eval $(call BuildImage))
790

Archive Download this file



interactive