2 # Copyright (C) 2008-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
8 include $(INCLUDE_DIR
)/image.mk
11 $(BIN_DIR
)/$(IMG_PREFIX
)-$(2)-$(1)
15 $(call imgname
,$(1),$(2))-sysupgrade.bin
18 VMLINUX
:=$(IMG_PREFIX
)-vmlinux
19 UIMAGE
:=$(IMG_PREFIX
)-uImage
21 define Image
/Build
/Initramfs
22 $(call Image
/Build
/Profile
/$(PROFILE
),initramfs
)
25 loadaddr-y
:= 0x80000000
26 loadaddr-
$(CONFIG_TARGET_ramips_rt288x
) := 0x88000000
27 loadaddr-
$(CONFIG_TARGET_ramips_mt7621
) := 0x80001000
29 define MkCombineduImage
30 $(call PatchKernelLzma
,$(2),$(3))
31 if
[ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt
`expr $(4) - 64` ]; then \
32 echo
"Warning: $(KDIR)/vmlinux-$(2).bin.lzma is too big" >&2; \
33 else if
[ `stat -c%s "$(KDIR)/root.$(1)"` -gt
$(5) ]; then \
34 echo
"Warning: $(KDIR)/root.$(1) is too big" >&2; \
36 ( dd if
=$(KDIR
)/vmlinux-
$(2).bin.lzma bs
=`expr $(4) - 64` conv
=sync
; dd if
=$(KDIR
)/root.
$(1) ) > $(KDIR
)/vmlinux-
$(2).bin.lzma.combined
; \
38 $(call MkImage
,lzma
,$(KDIR
)/vmlinux-
$(2).bin.lzma.combined
,$(call sysupname
,$(1),$(2)),$(6))
43 # The real magic happens inside these templates
45 # $(1), compression method
46 # $(2), filename of image data
47 # $(3), output filename
49 $(eval imagename
=$(if
$(4),$(4),MIPS OpenWrt Linux-
$(LINUX_VERSION
)))
50 -mkimage
-A mips
-O linux
-T kernel
-C
$(1) -a
$(loadaddr-y
) -e
$(loadaddr-y
) \
56 $(STAGING_DIR_HOST
)/bin
/lzma e
$(1) -lc1
-lp2
-pb2
$(2)
59 define MkImageSysupgrade
/squashfs
60 $(eval output_name
=$(IMG_PREFIX
)-$(2)-$(1)-$(if
$(4),$(4),sysupgrade
).bin
)
61 cat
$(KDIR
)/vmlinux-
$(2).uImage
$(KDIR
)/root.
$(1) > $(KDIR
)/$(output_name
)
62 $(call prepare_generic_squashfs
,$(KDIR
)/$(output_name
))
63 if
[ `stat -c%s "$(KDIR)/$(output_name)"` -gt
$(3) ]; then \
64 echo
"Warning: $(KDIR)/$(output_name) is too big" >&2; \
66 $(CP
) $(KDIR
)/$(output_name
) $(BIN_DIR
)/$(output_name
); \
70 define MkImageTrx
/squashfs
71 $(eval output_name
=$(IMG_PREFIX
)-$(2)-$(1)-$(if
$(4),$(4),sysupgrade
).bin
)
72 $(STAGING_DIR_HOST
)/bin
/trx \
73 -o
$(KDIR
)/$(output_name
) \
75 -f
$(KDIR
)/vmlinux-
$(2).uImage \
76 -a
4 -f
$(KDIR
)/root.
$(1)
77 $(call prepare_generic_squashfs
,$(KDIR
)/$(output_name
))
78 $(CP
) $(KDIR
)/$(output_name
) $(BIN_DIR
)/$(output_name
)
81 define MkImageTpl
/squashfs
82 $(eval output_name
=$(IMG_PREFIX
)-$(2)-$(1)-$(if
$(4),$(4),sysupgrade
).bin
)
83 $(STAGING_DIR_HOST
)/bin
/mktplinkfw2
-V
"ver. 2.0" -B
"$(2)" -j \
84 -o
$(KDIR
)/$(output_name
) \
85 -k
$(KDIR
)/vmlinux-
$(1)$(4).bin.lzma \
87 $(CP
) $(KDIR
)/$(output_name
) $(BIN_DIR
)/$(output_name
)
90 define MkImageTpl
/initramfs
91 $(eval output_name
=$(IMG_PREFIX
)-$(2)-$(1).bin
)
92 $(STAGING_DIR_HOST
)/bin
/mktplinkfw2
-V
"ver. 2.0" -B
"$(2)" -c \
93 -o
$(KDIR
)/$(output_name
) \
94 -k
$(KDIR
)/vmlinux-
$(1).bin.lzma
95 $(CP
) $(KDIR
)/$(output_name
) $(BIN_DIR
)/$(output_name
)
98 # $(1), lowercase board name like "mt7620a_v22sg"
99 # $(2), DTS filename without .dts extension
100 # $(3), optional filename suffix, e.g. "-initramfs"
101 define PatchKernelLzmaDtb
102 cp
$(KDIR
)/vmlinux
$(3) $(KDIR
)/vmlinux-
$(1)$(3)
103 $(LINUX_DIR
)/scripts
/dtc
/dtc
-O dtb
-o
$(KDIR
)/$(2).dtb ..
/dts
/$(2).dts
104 $(STAGING_DIR_HOST
)/bin
/patch-dtb
$(KDIR
)/vmlinux-
$(1)$(3) $(KDIR
)/$(2).dtb
105 $(call CompressLzma
,$(KDIR
)/vmlinux-
$(1)$(3),$(KDIR
)/vmlinux-
$(1)$(3).bin.lzma
)
108 # $(1), lowercase board name
109 # $(2), DTS filename without .dts extension
110 # $(3), ih_name field of uImage header
111 # $(4), optional filename suffix, e.g. "-initramfs"
112 define MkImageLzmaDtb
113 $(call PatchKernelLzmaDtb
,$(1),$(2),$(4))
114 $(call MkImage
,lzma
,$(KDIR
)/vmlinux-
$(1)$(4).bin.lzma
,$(KDIR
)/vmlinux-
$(1)$(4).uImage
,$(3))
117 # $(1), Rootfs type, e.g. squashfs
118 # $(2), lowercase board name
119 # $(3), DTS filename without .dts extension
120 # $(4), maximum size of sysupgrade image
121 # $(5), uImage header's ih_name field
122 define BuildFirmware
/OF
123 $(call MkImageLzmaDtb
,$(2),$(3),$(5))
124 $(call MkImageSysupgrade
/$(1),$(1),$(2),$(4),$(6))
127 define BuildFirmware
/OF
/trx
128 $(call MkImageLzmaDtb
,$(2),$(3),$(5))
129 $(call MkImageTrx
/$(1),$(1),$(2),$(4),$(6))
132 define BuildFirmware
/OF
/tplink
133 $(call PatchKernelLzmaDtb
,$(1),$(2),$(4))
134 $(call MkImageTpl
/$(1),$(1),$(2),$(4),$(5))
137 define BuildFirmware
/OF
/tplink
/initramfs
138 $(call PatchKernelLzmaDtb
,$(2),$(3),-initramfs
)
139 $(call MkImageTpl
/$(1),$(1),$(2),$(4),$(5))
142 # $(1), squashfs/initramfs
143 # $(2), lowercase board name
144 # $(3), DTS filename without .dts extension
145 # $(4), ih_name field of uImage header
146 define BuildFirmware
/OF
/initramfs
147 $(call MkImageLzmaDtb
,$(2),$(3),$(4),-initramfs
)
148 $(CP
) $(KDIR
)/vmlinux-
$(2)-initramfs.uImage
$(call imgname
,$(1),$(2))-uImage.bin
152 # Build images for default ralink layout for 4MB flash
153 # kernel + roots = 0x3b0000
154 # $(1) = squashfs/initramfs
155 # $(2) = lowercase board name
157 ralink_default_fw_size_4M
=3866624
158 BuildFirmware
/Default4M
/squashfs
=$(call BuildFirmware
/OF
,$(1),$(2),$(3),$(ralink_default_fw_size_4M
),$(4))
159 BuildFirmware
/Default4M
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3),$(4))
161 # Build images for default ralink layout for 8MB flash
162 # kernel + roots = 0x7b0000
163 # $(1) = squashfs/initramfs
164 # $(2) = lowercase board name
166 # $(4) = uImage header name field
167 ralink_default_fw_size_8M
=8060928
168 BuildFirmware
/Default8M
/squashfs
=$(call BuildFirmware
/OF
,$(1),$(2),$(3),$(ralink_default_fw_size_8M
),$(4))
169 BuildFirmware
/Default8M
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3),$(4))
170 BuildFirmware
/Trx8M
/squashfs
=$(call BuildFirmware
/OF
/trx
,$(1),$(2),$(3),$(ralink_default_fw_size_8M
),$(4))
171 BuildFirmware
/Trx8M
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3),$(4))
172 BuildFirmware
/Tplink
/squashfs
=$(call BuildFirmware
/OF
/tplink
,$(1),$(2),$(3),$(4))
173 BuildFirmware
/Tplink
/initramfs
=$(call BuildFirmware
/OF
/tplink
/initramfs
,$(1),$(2),$(3),$(4))
175 ralink_default_fw_size_16M
=16121856
176 BuildFirmware
/Default16M
/squashfs
=$(call BuildFirmware
/OF
,$(1),$(2),$(3),$(ralink_default_fw_size_16M
),$(4))
177 BuildFirmware
/Default16M
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3),$(4))
179 # Build images for a custom sized flash layout
180 # $(1) = squashfs/initramfs
181 # $(2) = lowercase board name
183 # $(4) = kernel + rootfs size
184 BuildFirmware
/CustomFlash
/squashfs
=$(call BuildFirmware
/OF
,$(1),$(2),$(3),$(4),$(5),$(6))
185 BuildFirmware
/CustomFlash
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3))
187 # wrappers for boards that have 4MB and 8MB versions
188 define BuildFirmware
/DefaultDualSize
/squashfs
189 $(call BuildFirmware
/Default4M
/$(1),$(1),$(2)-4M
,$(3)-4M
)
190 $(call BuildFirmware
/Default8M
/$(1),$(1),$(2)-8M
,$(3)-8M
)
192 define BuildFirmware
/DefaultDualSize
/initramfs
193 $(call BuildFirmware
/OF
/initramfs
,$(1),$(2)-4M
,$(3)-4M
)
194 $(call BuildFirmware
/OF
/initramfs
,$(1),$(2)-8M
,$(3)-8M
)
197 # Some boards need a special header inside the uImage to make them bootable
198 define BuildFirmware
/CustomFlashFactory
/squashfs
199 $(call BuildFirmware
/CustomFlash
/$(1),$(1),$(2),$(3),$(4))
200 $(call BuildFirmware
/CustomFlash
/$(1),$(1),$(2),$(3),$(4),$(5),$(6))
202 BuildFirmware
/CustomFlashFactory
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3))
204 # sign an image to make it work with edimax tftp recovery
205 define BuildFirmware
/Edimax
/squashfs
206 $(call BuildFirmware
/OF
,$(1),$(2),$(3),$(4))
207 if
[ -e
"$(call sysupname,$(1),$(2))" ]; then \
208 mkedimaximg
-i
$(call sysupname
,$(1),$(2)) \
209 -o
$(call imgname
,$(1),$(2))-factory.bin \
210 -s
$(5) -m
$(6) -f
$(7) -S
$(8); \
213 BuildFirmware
/Edimax
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3))
215 # build Seama header images
216 define BuildFirmware
/Seama
/squashfs
217 $(call MkImageLzmaDtb
,$(2),$(3),$(5))
218 $(eval output_name
=$(IMG_PREFIX
)-$(2)-$(1)-sysupgrade.bin
)
219 cat
$(KDIR
)/vmlinux-
$(2).bin.lzma
$(KDIR
)/root.
$(1) > $(KDIR
)/img_
$(2).
$(1).tmp
220 if
[ `stat -c%s "$(KDIR)/img_$(2).$(1).tmp"` -gt
$$$$(($(5) - 64)) ]; then \
221 echo
"Warning: $(KDIR)/img_$(2).$(1).tmp is too big" >&2; \
223 dd if
=$(KDIR
)/vmlinux-
$(2).bin.lzma of
=$(KDIR
)/vmlinux-
$(2).bin.lzma.padded bs
=64k conv
=sync
; \
225 dd if
=$(KDIR
)/vmlinux-
$(2).bin.lzma.padded bs
=1 count
=`expr \`stat
-c
%s
$(KDIR
)/vmlinux-
$(2).bin.lzma.padded\
` - 64`; \
226 dd if
=$(KDIR
)/root.
$(1) bs
=64k conv
=sync
; \
227 ) > $(KDIR
)/vmlinux-
$(2).tmp
; \
228 $(STAGING_DIR_HOST
)/bin
/seama \
229 -i
$(KDIR
)/vmlinux-
$(2).tmp \
230 -m
"dev=/dev/mtdblock/2" -m
"type=firmware"; \
231 $(STAGING_DIR_HOST
)/bin
/seama \
232 -s
$(call imgname
,$(1),$(2))-factory.bin \
233 -m
"signature=$(4)" \
234 -i
$(KDIR
)/vmlinux-
$(2).tmp.seama
; \
235 dd if
=$(KDIR
)/vmlinux-
$(2).bin.lzma.padded bs
=1 count
=`expr \`stat
-c
%s
$(KDIR
)/vmlinux-
$(2).bin.lzma.padded\
` - 64` of
=$(KDIR
)/vmlinux-
$(2)-sysupgrade.tmp
; \
236 $(STAGING_DIR_HOST
)/bin
/seama \
237 -i
$(KDIR
)/vmlinux-
$(2)-sysupgrade.tmp \
238 -m
"dev=/dev/mtdblock/2" -m
"type=firmware"; \
240 dd if
=$(KDIR
)/vmlinux-
$(2)-sysupgrade.tmp.seama
; \
241 dd if
=$(KDIR
)/root.
$(1) bs
=64k conv
=sync
; \
242 ) > $(BIN_DIR
)/$(output_name
); \
245 BuildFirmware
/Seama
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3))
247 # sign Buffalo images
248 define BuildFirmware
/Buffalo
249 if
[ -e
"$(call sysupname,$(1),$(2))" ]; then \
250 buffalo-enc
-p
$(3) -v
1.76 \
251 -i
$(KDIR
)/vmlinux-
$(2).uImage \
252 -o
$(KDIR
)/vmlinux-
$(2).uImage.enc
; \
253 buffalo-enc
-p
$(3) -v
1.76 \
254 -i
$(KDIR
)/root.
$(1) \
255 -o
$(KDIR
)/root.
$(2).enc
; \
256 buffalo-tag
-b
$(3) -p
$(3) -a ram
-v
1.76 -m
1.01 \
257 -l mlang8
-f
1 -r EU \
258 -i
$(KDIR
)/vmlinux-
$(2).uImage.enc \
259 -i
$(KDIR
)/root.
$(2).enc \
260 -o
$(call imgname
,$(1),$(2))-factory-EU.bin
; \
264 # sign trednet / UMedia images
265 define BuildFirmware
/UMedia
/squashfs
266 $(call BuildFirmware
/Default8M
/$(1),$(1),$(2),$(3))
267 if
[ -e
"$(call sysupname,$(1),$(2))" ]; then \
268 fix-u-media-header
-T
0x46 -B
$(4) \
269 -i
$(call sysupname
,$(1),$(2)) \
270 -o
$(call imgname
,$(1),$(2))-factory.bin
; \
273 BuildFirmware
/UMedia
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3))
275 # sign dap 1350 based images
276 dap1350_mtd_size
=7667712
277 define BuildFirmware
/dap1350
/squashfs
278 $(call BuildFirmware
/CustomFlash
/$(1),$(1),$(2),$(3),$(dap1350_mtd_size
))
280 -i
$(call sysupname
,$(1),$(2)) \
281 -o
$(call imgname
,$(1),$(2))-factory.bin
283 BuildFirmware
/dap1350
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3))
286 define BuildFirmware
/Poray4M
/squashfs
287 $(call BuildFirmware
/Default4M
/$(1),$(1),$(2),$(3))
288 if
[ -e
"$(call sysupname,$(1),$(2))" ]; then \
289 mkporayfw
-B
$(3) -F
4M \
290 -f
$(call sysupname
,$(1),$(2)) \
291 -o
$(call imgname
,$(1),$(2))-factory.bin
; \
294 BuildFirmware
/Poray4M
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3))
296 define BuildFirmware
/Poray8M
/squashfs
297 $(call BuildFirmware
/Default8M
/$(1),$(1),$(2),$(3))
298 if
[ -e
"$(call sysupname,$(1),$(2))" ]; then \
299 mkporayfw
-B
$(3) -F
8M \
300 -f
$(call sysupname
,$(1),$(2)) \
301 -o
$(call imgname
,$(1),$(2))-factory.bin
; \
304 BuildFirmware
/Poray8M
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3))
306 define BuildFirmware
/PorayDualSize
/squashfs
307 $(call BuildFirmware
/DefaultDualSize
/$(1),$(1),$(2),$(3))
308 if
[ -e
"$(call sysupname,$(1),$(2)-4M)" ]; then \
309 mkporayfw
-B
$(3) -F
4M \
310 -f
$(call sysupname
,$(1),$(2)-4M
) \
311 -o
$(call imgname
,$(1),$(2)-4M
)-factory.bin
; \
313 if
[ -e
"$(call sysupname,$(1),$(2)-8M)" ]; then \
314 mkporayfw
-B
$(3) -F
8M \
315 -f
$(call sysupname
,$(1),$(2)-8M
) \
316 -o
$(call imgname
,$(1),$(2)-8M
)-factory.bin
; \
319 BuildFirmware
/PorayDualSize
/initramfs
=$(call BuildFirmware
/DefaultDualSize
/initramfs
,$(1),$(2),$(3))
321 define BuildFirmware
/Gemtek
/squashfs
322 $(call BuildFirmware
/Default4M
/$(1),$(1),$(2),$(3))
323 if
[ -e
"$(call sysupname,$(1),$(2))" ]; then \
324 mkheader_gemtek
"$(call sysupname,$(1),$(2))" \
325 "$(call imgname,$(1),$(2))-factory.bin" $(2) || \
326 rm -f
"$(call imgname,$(1),$(2))-factory.bin"; \
329 BuildFirmware
/Gemtek
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3))
331 # Airlink101 AR670W -- LZMA without uImage header
332 define BuildFirmware
/AR670W
/squashfs
333 $(call PatchKernelLzmaDtb
,$(2),$(3),$(5))
335 $(eval output_name
=$(IMG_PREFIX
)-$(2)-$(1)-$(if
$(4),$(4),sysupgrade
).bin
)
336 $(eval factory_name
=$(IMG_PREFIX
)-$(2)-$(1)-factory.bin
)
338 ( dd if
=$(KDIR
)/vmlinux-
$(2).bin.lzma bs
=65536 \
339 conv
=sync
; dd if
=$(KDIR
)/root.
$(1) ) > $(KDIR
)/$(output_name
)
341 $(call prepare_generic_squashfs
,$(KDIR
)/$(output_name
))
343 if
[ `stat -c%s "$(KDIR)/$(output_name)"` \
344 -gt
$(ralink_default_fw_size_4M
) ]; then \
345 echo
"Warning: $(KDIR)/$(output_name) is too big" >&2; \
347 mkwrgimg
-i
$(KDIR
)/$(output_name
) \
348 -d
"/dev/mtdblock/2" \
349 -s
"wrgn16a_airlink_ar670w" \
350 -o
$(BIN_DIR
)/$(factory_name
); \
351 $(CP
) $(KDIR
)/$(output_name
) $(BIN_DIR
)/$(output_name
); \
359 Image
/Build
/Profile
/AR670W
=$(call BuildFirmware
/AR670W
/$(1),$(1),ar670w
,AR670W
)
361 Image
/Build
/Profile
/AR725W
=$(call BuildFirmware
/Gemtek
/$(1),$(1),ar725w
,AR725W
)
364 belkin_f5d8235v1_mtd_size
=7929856
365 Image
/Build
/Profile
/F5D8235V1
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),f5d8235v1
,F5D8235_V1
,$(belkin_f5d8235v1_mtd_size
))
367 Image
/Build
/Profile
/RTN15
=$(call BuildFirmware
/Default4M
/$(1),$(1),rt-n15
,RT-N15
)
369 Image
/Build
/Profile
/V11STFE
=$(call BuildFirmware
/Default4M
/$(1),$(1),v11st-fe
,V11STFE
)
371 Image
/Build
/Profile
/WLITX4AG300N
=$(call BuildFirmware
/Default4M
/$(1),$(1),wli-tx4-ag300n
,WLI-TX4-AG300N
)
373 ifeq ($(SUBTARGET
),rt288x
)
374 define Image
/Build
/Profile
/Default
375 $(call Image
/Build
/Profile
/AR670W
,$(1))
376 $(call Image
/Build
/Profile
/AR725W
,$(1))
377 $(call Image
/Build
/Profile
/F5D8235V1
,$(1))
378 $(call Image
/Build
/Profile
/RTN15
,$(1))
379 $(call Image
/Build
/Profile
/V11STFE
,$(1))
380 $(call Image
/Build
/Profile
/WLITX4AG300N
,$(1))
390 Image
/Build
/Profile
/DIR610A1
=$(call BuildFirmware
/Seama
/$(1),$(1),dir-610-a1
,DIR-610-A1
,wrgn59_dlob.hans_dir610
,$(ralink_default_fw_size_4M
))
392 edimax_3g6200n_mtd_size
=3735552
393 Image
/Build
/Profile
/3G6200N
=$(call BuildFirmware
/Edimax
/$(1),$(1),3g-6200n
,3G-6200N
,$(edimax_3g6200n_mtd_size
),CSYS
,3G62
,0x50000,0xc0000)
395 Image
/Build
/Profile
/3G6200NL
=$(call BuildFirmware
/Edimax
/$(1),$(1),3g-6200nl
,3G-6200NL
,$(edimax_3g6200n_mtd_size
),CSYS
,3G62
,0x50000,0xc0000)
397 Image
/Build
/Profile
/3G300M
=$(call BuildFirmware
/CustomFlashFactory
/$(1),$(1),3g300m
,3G300M
,$(ralink_default_fw_size_4M
),3G150M_SPI Kernel Image
,factory
)
399 Image
/Build
/Profile
/A5-V11
=$(call BuildFirmware
/Poray4M
/$(1),$(1),a5-v11
,A5-V11
)
401 Image
/Build
/Profile
/AIR3GII
=$(call BuildFirmware
/Default4M
/$(1),$(1),air3gii
,AIR3GII
)
403 define BuildFirmware
/UIMAGE_8M
404 $(call MkCombineduImage
,$(1),$(2),$(call mkcmdline
,$(3),$(4),$(5)) $(call mkmtd
/$(6),$(mtdlayout_8M
)),$(kernel_size_8M
),$(rootfs_size_8M
),$(7))
406 define Image
/Build
/Profile
/ALL02393G
407 $(call Image
/Build
/Template
/$(image_type
)/$(1),UIMAGE_8M
,all0239-3g
,ALL0239-3G
,ttyS1
,57600,phys
)
410 Image
/Build
/Profile
/ALL0256N
=$(call BuildFirmware
/DefaultDualSize
/$(1),$(1),all0256n
,ALL0256N
)
412 allnet_all5002_mtd_size
=33226752
413 Image
/Build
/Profile
/ALL5002
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),all5002
,ALL5002
,$(allnet_all5002_mtd_size
))
414 Image
/Build
/Profile
/ALL5003
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),all5003
,ALL5003
,$(allnet_all5002_mtd_size
))
416 argus_atp52b_mtd_size
=7995392
417 Image
/Build
/Profile
/ARGUS_ATP52B
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),argus_atp52b
,ARGUS_ATP52B
,$(argus_atp52b_mtd_size
))
419 asl26555_8mb_mtd_size
=7929856
420 asl26555_16mb_mtd_size
=16252928
421 define BuildFirmware
/ASL26555
/squashfs
422 $(call BuildFirmware
/CustomFlash
/$(1),$(1),$(2)-8M
,$(3)-8M
,$(asl26555_8mb_mtd_size
))
423 $(call BuildFirmware
/CustomFlash
/$(1),$(1),$(2)-16M
,$(3)-16M
,$(asl26555_16mb_mtd_size
))
425 define BuildFirmware
/ASL26555
/initramfs
426 $(call BuildFirmware
/OF
/initramfs
,$(1),$(2)-8M
,$(3)-8M
)
427 $(call BuildFirmware
/OF
/initramfs
,$(1),$(2)-16M
,$(3)-16M
)
429 Image
/Build
/Profile
/ASL26555
=$(call BuildFirmware
/ASL26555
/$(1),$(1),asl26555
,ASL26555
)
431 Image
/Build
/Profile
/AWM002EVB
=$(call BuildFirmware
/DefaultDualSize
/$(1),$(1),awm002-evb
,AWM002-EVB
)
432 Image
/Build
/Profile
/AWM003EVB
=$(call BuildFirmware
/Default8M
/$(1),$(1),awm003-evb
,AWM003-EVB
)
433 Image
/Build
/Profile
/AWAPN2403
=$(call BuildFirmware
/Default4M
/$(1),$(1),awmapn2403
,AWAPN2403
)
435 Image
/Build
/Profile
/BC2
=$(call BuildFirmware
/Default8M
/$(1),$(1),bc2
,BC2
)
437 broadway_mtd_size
=7929856
438 Image
/Build
/Profile
/BROADWAY
=$(call BuildFirmware
/CustomFlashFactory
/$(1),$(1),broadway
,BROADWAY
,$(broadway_mtd_size
),Broadway Kernel Image
,factory
)
440 Image
/Build
/Profile
/CARAMBOLA
=$(call BuildFirmware
/Default8M
/$(1),$(1),carambola
,CARAMBOLA
)
442 Image
/Build
/Profile
/D105
=$(call BuildFirmware
/Default4M
/$(1),$(1),d105
,D105
)
444 define BuildFirmware
/DIR300B1
/squashfs
445 $(call BuildFirmware
/Default4M
/$(1),$(1),$(2),$(3))
446 -mkwrgimg
-s
$(4) -d
/dev
/mtdblock
/2 \
447 -i
$(call sysupname
,$(1),$(2)) \
448 -o
$(call imgname
,$(1),$(2))-factory.bin
450 BuildFirmware
/DIR300B1
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3))
451 Image
/Build
/Profile
/DIR-300-B1
=$(call BuildFirmware
/DIR300B1
/$(1),$(1),dir-300-b1
,DIR-300-B1
,wrgn23_dlwbr_dir300b
)
452 Image
/Build
/Profile
/DIR-600-B1
=$(call BuildFirmware
/DIR300B1
/$(1),$(1),dir-600-b1
,DIR-600-B1
,wrgn23_dlwbr_dir600b
)
453 Image
/Build
/Profile
/DIR-600-B2
=$(call BuildFirmware
/DIR300B1
/$(1),$(1),dir-600-b2
,DIR-600-B2
,wrgn23_dlwbr_dir600b
)
454 Image
/Build
/Profile
/DIR-615-D
=$(call BuildFirmware
/DIR300B1
/$(1),$(1),dir-615-d
,DIR-615-D
,wrgn23_dlwbr_dir615d
)
456 Image
/Build
/Profile
/DIR-620-A1
=$(call BuildFirmware
/Default8M
/$(1),$(1),dir-620-a1
,DIR-620-A1
)
457 Image
/Build
/Profile
/DIR-620-D1
=$(call BuildFirmware
/Default8M
/$(1),$(1),dir-620-d1
,DIR-620-D1
)
459 define BuildFirmware
/DIR615H1
/squashfs
460 $(call BuildFirmware
/Default4M
/$(1),$(1),dir-615-h1
,DIR-615-H1
)
461 -mksenaofw
-e
$(call sysupname
,$(1),dir-615-h1
) \
462 -o
$(call imgname
,$(1),dir-615-h1
)-factory.bin \
463 -r
0x218 -p
0x30 -t
3
465 BuildFirmware
/DIR615H1
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),dir-615-h1
,DIR-615-H1
)
466 Image
/Build
/Profile
/DIR615H1
=$(call BuildFirmware
/DIR615H1
/$(1),$(1))
468 Image
/Build
/Profile
/DAP1350
=$(call BuildFirmware
/dap1350
/$(1),$(1),dap-1350
,DAP-1350
,RT3052-AP-DAP1350-3
)
470 Image
/Build
/Profile
/DAP1350WW
=$(call BuildFirmware
/dap1350
/$(1),$(1),dap-1350WW
,DAP-1350
,RT3052-AP-DAP1350WW-3
)
472 define BuildFirmware
/DCS930
/squashfs
473 $(call BuildFirmware
/Default4M
/squashfs
,squashfs
,$(2),$(3))
474 dd if
=$(KDIR
)/vmlinux-
$(2).bin.lzma of
=$(KDIR
)/image.
$(2).combined bs
=1048512 count
=1 conv
=sync
475 cat
$(KDIR
)/root.squashfs
>> $(KDIR
)/image.
$(2).combined
476 $(call MkImage
,lzma
,$(KDIR
)/image.
$(2).combined
,$(KDIR
)/image.
$(2))
477 $(call prepare_generic_squashfs
,$(KDIR
)/image.
$(2))
478 if
[ `stat -c%s "$(KDIR)/image.$(2)"` -gt
$(ralink_default_fw_size_4M
) ]; then \
479 echo
"Warning: $(KDIR)/image.$(2) is too big" >&2; \
481 dd if
=$(KDIR
)/image.
$(2) of
=$(KDIR
)/dcs.tmp bs
=64K count
=5 conv
=sync
;\
482 cat
$(KDIR
)/image.
$(2) >> $(KDIR
)/dcs.tmp
; \
483 dd if
=$(KDIR
)/dcs.tmp of
=$(call imgname
,$(1),$(2))-factory.bin bs
=4096k count
=1 conv
=sync
;\
484 $(STAGING_DIR_HOST
)/bin
/mkdcs932
$(call imgname
,$(1),$(2))-factory.bin
; \
487 BuildFirmware
/DCS930
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3))
488 Image
/Build
/Profile
/DCS930
=$(call BuildFirmware
/DCS930
/$(1),$(1),dcs-930
,DCS-930
)
490 Image
/Build
/Profile
/ESR-9753
=$(call BuildFirmware
/Default4M
/$(1),$(1),esr-9753
,ESR-9753
)
492 Image
/Build
/Profile
/HW550-3G
=$(call BuildFirmware
/Default8M
/$(1),$(1),hw550-3g
,HW550-3G
)
494 belkin_f5d8235v2_mtd_size
=7929856
495 Image
/Build
/Profile
/F5D8235V2
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),f5d8235v2
,F5D8235_V2
,$(belkin_f5d8235v2_mtd_size
))
498 belkin_f7c027_mtd_size
=7798784
499 Image
/Build
/Profile
/F7C027
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),belkinf7c027
,F7C027
,$(belkin_f7c027_mtd_size
))
501 Image
/Build
/Profile
/FONERA20N
=$(call BuildFirmware
/Edimax
/$(1),$(1),fonera20n
,FONERA20N
,$(ralink_default_fw_size_8M
),RSDK
,NL1T
,0x50000,0xc0000)
503 Image
/Build
/Profile
/RT-N13U
=$(call BuildFirmware
/Default8M
/$(1),$(1),rt-n13u
,RT-N13U
)
505 #Image/Build/Profile/HG255D=$(call BuildFirmware/Default16M/$(1),$(1),hg255d,HG255D)
507 Image
/Build
/Profile
/FREESTATION5
=$(call BuildFirmware
/Default8M
/$(1),$(1),freestation5
,FREESTATION5
)
509 Image
/Build
/Profile
/IP2202
=$(call BuildFirmware
/Default8M
/$(1),$(1),ip2202
,IP2202
)
511 BuildFirmware
/HLKRM04
/squashfs
=$(call BuildFirmware
/Default4M
/squashfs
,$(1),$(2),$(3),$(4))
512 define BuildFirmware
/HLKRM04
/initramfs
513 $(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3),$(4))
514 mkhilinkfw
-e
-i
$(call imgname
,$(1),$(2))-uImage.bin
-o
$(call imgname
,$(1),$(2))-factory.bin
;
516 Image
/Build
/Profile
/HLKRM04
=$(call BuildFirmware
/HLKRM04
/$(1),$(1),hlk-rm04
,HLKRM04
,HLK-RM02
)
518 Image
/Build
/Profile
/HT-TM02
=$(call BuildFirmware
/Default8M
/$(1),$(1),ht-tm02
,HT-TM02
)
520 Image
/Build
/Profile
/M3
=$(call BuildFirmware
/Poray4M
/$(1),$(1),m3
,M3
)
522 Image
/Build
/Profile
/M4
=$(call BuildFirmware
/PorayDualSize
/$(1),$(1),m4
,M4
)
524 Image
/Build
/Profile
/MOFI3500-3GN
=$(call BuildFirmware
/Default8M
/$(1),$(1),mofi3500-3gn
,MOFI3500-3GN
)
526 # Kernel name should be "Linux Kernel Image" to make the OpenWrt image installable from factory Web UI
527 Image
/Build
/Profile
/MPRA1
=$(call BuildFirmware
/Default4M
/$(1),$(1),mpr-a1
,MPRA1
,Linux Kernel Image
)
528 Image
/Build
/Profile
/MPRA2
=$(call BuildFirmware
/Default8M
/$(1),$(1),mpr-a2
,MPRA2
,Linux Kernel Image
)
530 Image
/Build
/Profile
/DIR-300-B7
=$(call BuildFirmware
/Default4M
/$(1),$(1),dir-300-b7
,DIR-300-B7
)
531 Image
/Build
/Profile
/DIR-320-B1
=$(call BuildFirmware
/Default8M
/$(1),$(1),dir-320-b1
,DIR-320-B1
)
533 Image
/Build
/Profile
/NBG-419N
=$(call BuildFirmware
/Default4M
/$(1),$(1),nbg-419n
,NBG-419N
)
535 Image
/Build
/Profile
/MZKW300NH2
=$(call BuildFirmware
/Edimax
/$(1),$(1),mzk-w300nh2
,MZK-W300NH2
,$(mzkw300nh2_mtd_size
),CSYS
,RN52
,0x50000,0xc0000)
537 Image
/Build
/Profile
/NCS601W
=$(call BuildFirmware
/Default8M
/$(1),$(1),ncs601W
,NCS601W
)
539 nw718_mtd_size
=3801088
540 Image
/Build
/Profile
/NW718
=$(call BuildFirmware
/CustomFlashFactory
/$(1),$(1),nw718m
,NW718
,$(nw718_mtd_size
),ARA1B4NCRNW718
;1,factory
)
542 Image
/Build
/Profile
/OMNI-EMB
=$(call BuildFirmware
/Default8M
/$(1),$(1),omni-emb
,OMNI-EMB
)
544 Image
/Build
/Profile
/OMNI-PLUG
=$(call BuildFirmware
/Default8M
/$(1),$(1),omni-plug
,OMNI-PLUG
)
546 Image
/Build
/Profile
/PSR-680W
=$(call BuildFirmware
/Default4M
/$(1),$(1),psr-680w
,PSR-680W
)
548 Image
/Build
/Profile
/PWH2004
=$(call BuildFirmware
/Default8M
/$(1),$(1),pwh2004
,PWH2004
)
550 Image
/Build
/Profile
/PX4885
=$(call BuildFirmware
/DefaultDualSize
/$(1),$(1),px4885
,PX4885
)
552 Image
/Build
/Profile
/RTG32B1
=$(call BuildFirmware
/Default4M
/$(1),$(1),rt-g32-b1
,RT-G32-B1
)
554 Image
/Build
/Profile
/RTN10PLUS
=$(call BuildFirmware
/Default4M
/$(1),$(1),rt-n10-plus
,RT-N10-PLUS
)
556 Image
/Build
/Profile
/RUT5XX
=$(call BuildFirmware
/Default8M
/$(1),$(1),rut5xx
,RUT5XX
)
558 Image
/Build
/Profile
/SL-R7205
=$(call BuildFirmware
/Default4M
/$(1),$(1),sl-r7205
,SL-R7205
)
560 Image
/Build
/Profile
/V22RW-2X2
=$(call BuildFirmware
/Default4M
/$(1),$(1),v22rw-2x2
,V22RW-2X2
)
562 Image
/Build
/Profile
/VOCORE
=$(call BuildFirmware
/Default8M
/$(1),$(1),vocore
,VOCORE
)
564 Image
/Build
/Profile
/W150M
=$(call BuildFirmware
/CustomFlashFactory
/$(1),$(1),w150m
,W150M
,$(ralink_default_fw_size_4M
),W150M Kernel Image
,factory
)
566 Image
/Build
/Profile
/W306R_V20
=$(call BuildFirmware
/CustomFlashFactory
/$(1),$(1),w306r-v20
,W306R_V20
,$(ralink_default_fw_size_4M
),linkn Kernel Image
,factory
)
568 Image
/Build
/Profile
/W502U
=$(call BuildFirmware
/Default8M
/$(1),$(1),w502u
,W502U
)
570 Image
/Build
/Profile
/WCR150GN
=$(call BuildFirmware
/Default4M
/$(1),$(1),wcr150gn
,WCR150GN
)
572 buffalo_whrg300n_mtd_size
=3801088
573 define BuildFirmware
/WHRG300N
/squashfs
574 $(call BuildFirmware
/Default4M
/$(1),$(1),whr-g300n
,WHR-G300N
)
575 # the following line has a bad argument 3 ... the old Makefile was already broken
576 $(call BuildFirmware
/Buffalo
,$(1),whr-g300n
,whr-g300n
)
577 if
[ -e
"$(call sysupname,$(1),$(2))" ]; then \
579 echo
-n
-e
"# Airstation FirmWare\nrun u_fw\nreset\n\n" | \
580 dd bs
=512 count
=1 conv
=sync
; \
581 dd if
=$(call sysupname
,$(1),whr-g300n
); \
582 ) > $(KDIR
)/whr-g300n-tftp.tmp
&& \
583 buffalo-tftp
-i
$(KDIR
)/whr-g300n-tftp.tmp \
584 -o
$(call imgname
,$(1),whr-g300n
)-tftp.bin
; \
587 BuildFirmware
/WHRG300N
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),whr-g300n
,WHR-G300N
)
588 Image
/Build
/Profile
/WHRG300N
=$(call BuildFirmware
/WHRG300N
/$(1),$(1))
590 Image
/Build
/Profile
/WIZARD8800
=$(call BuildFirmware
/Default8M
/$(1),$(1),wizard-8800
,WIZARD8800
,Linux Kernel Image
)
592 Image
/Build
/Profile
/WL_330N
=$(call BuildFirmware
/Default4M
/$(1),$(1),wl-330n
,WL_330N
)
594 Image
/Build
/Profile
/WL_330N3G
=$(call BuildFirmware
/Default4M
/$(1),$(1),wl-330n3g
,WL_330N3G
)
596 kernel_size_wl341v3
=917504
597 rootfs_size_wl341v3
=2949120
598 define BuildFirmware
/WL341V3
/squashfs
599 $(call BuildFirmware
/Default4M
/$(1),$(1),wl341v3
,WL341V3
)
600 # This code looks broken and really needs to be converted to C
601 if
[ -e
"$(call sysupname,$(1),$(2))" ]; then \
603 dd if
=/dev
/zero bs
=195936 count
=1; \
605 dd if
=/dev
/zero bs
=581 count
=1; \
606 echo
-n
-e
"\x73\x45\x72\x43\x6F\x4D\x6D\x00\x01\x00\x00\x59\x4E\x37\x95\x58\x10\x00\x20\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x03\x00\x00\x80\x00\x00\x00\x00\x03\x00\x00\x10\x12\x00\x00\x00\x10\x73\x45\x72\x43\x6F\x4D\x6D"; \
607 dd if
=/dev
/zero bs
=65552 count
=1; \
608 dd if
=$(KDIR
)/vmlinux-
$(2).uImage bs
=$(kernel_size_wl341v3
) conv
=sync
; \
609 dd if
=$(KDIR
)/root.
$(1) bs
=64k conv
=sync
; \
610 dd if
=/dev
/zero bs
=`expr 4194304 - 262144 - 16 - $(kernel_size_wl341v3) - \( \( \( \`stat
-c
%s
$(KDIR
)/root.
$(1)\
` / 65536 \) + 1 \) \* 65536 \)` count
=1; \
611 echo
-n
-e
"\x11\x03\x80\x00\x10\x12\x90\xF7\x65\x52\x63\x4F\x6D\x4D\x00\x00"; \
612 ) > $(call imgname
,$(1),$(2))-factory.bin
; \
615 BuildFirmware
/WL341V3
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),wl341v3
,WL341V3
)
616 Image
/Build
/Profile
/WL341V3
=$(call BuildFirmware
/WL341V3
/$(1),$(1))
618 Image
/Build
/Profile
/WL-351
=$(call BuildFirmware
/Default4M
/$(1),$(1),wl-351
,WL-351
)
620 define BuildFirmware
/WNCE2001
/squashfs
621 $(call BuildFirmware
/Default4M
/$(1),$(1),$(2),$(3))
622 -mkdapimg
-s RT3052-AP-WNCE2001-3
-r WW
-v
1.0.0.99 \
623 -i
$(call sysupname
,$(1),$(2)) \
624 -o
$(call imgname
,$(1),$(2))-factory-worldwide.bin
625 -mkdapimg
-s RT3052-AP-WNCE2001-3
-r NA
-v
1.0.0.99 \
626 -i
$(call sysupname
,$(1),$(2)) \
627 -o
$(call imgname
,$(1),$(2))-factory-northamerica.bin
629 BuildFirmware
/WNCE2001
/initramfs
=$(call BuildFirmware
/OF
/initramfs
,$(1),$(2),$(3))
630 Image
/Build
/Profile
/WNCE2001
=$(call BuildFirmware
/WNCE2001
/$(1),$(1),wnce2001
,WNCE2001
)
632 Image
/Build
/Profile
/WR512-3GN
=$(call BuildFirmware
/DefaultDualSize
/$(1),$(1),wr512-3ng
,WR512-3GN
)
634 Image
/Build
/Profile
/WT1520
=$(call BuildFirmware
/PorayDualSize
/$(1),$(1),wt1520
,WT1520
)
636 Image
/Build
/Profile
/UR-326N4G
=$(call BuildFirmware
/Default4M
/$(1),$(1),ur-326n4g
,UR-326N4G
)
638 Image
/Build
/Profile
/UR-336UN
=$(call BuildFirmware
/Default8M
/$(1),$(1),ur-336un
,UR-336UN
)
640 Image
/Build
/Profile
/WR6202
=$(call BuildFirmware
/Default8M
/$(1),$(1),wr6202
,WR6202
)
642 Image
/Build
/Profile
/X5
=$(call BuildFirmware
/Poray8M
/$(1),$(1),x5
,X5
)
644 Image
/Build
/Profile
/X8
=$(call BuildFirmware
/Poray8M
/$(1),$(1),x8
,X8
)
646 Image
/Build
/Profile
/XDXRN502J
=$(call BuildFirmware
/Default4M
/$(1),$(1),xdxrn502j
,XDXRN502J
)
648 ifeq ($(SUBTARGET
),rt305x
)
649 define Image
/Build
/Profile
/Default
650 $(call Image
/Build
/Profile
/3G6200N
,$(1))
651 $(call Image
/Build
/Profile
/3G6200NL
,$(1))
652 $(call Image
/Build
/Profile
/3G300M
,$(1))
653 $(call Image
/Build
/Profile
/A5-11
,$(1))
654 $(call Image
/Build
/Profile
/AIR3GII
,$(1))
655 $(call Image
/Build
/Profile
/ALL02393G
,$(1))
656 $(call Image
/Build
/Profile
/ALL0256N
,$(1))
657 $(call Image
/Build
/Profile
/ALL5002
,$(1))
658 $(call Image
/Build
/Profile
/ALL5003
,$(1))
659 $(call Image
/Build
/Profile
/ARGUS_ATP52B
,$(1))
660 $(call Image
/Build
/Profile
/ASL26555
,$(1))
661 $(call Image
/Build
/Profile
/AWM002EVB
,$(1))
662 $(call Image
/Build
/Profile
/AWAPN2403
,$(1))
663 $(call Image
/Build
/Profile
/BC2
,$(1))
664 $(call Image
/Build
/Profile
/BROADWAY
,$(1))
665 $(call Image
/Build
/Profile
/CARAMBOLA
,$(1))
666 $(call Image
/Build
/Profile
/D105
,$(1))
667 $(call Image
/Build
/Profile
/DIR-300-B1
,$(1))
668 $(call Image
/Build
/Profile
/DIR-600-B1
,$(1))
669 $(call Image
/Build
/Profile
/DIR-300-B7
,$(1))
670 $(call Image
/Build
/Profile
/DIR-320-B1
,$(1))
671 $(call Image
/Build
/Profile
/DIR-600-B2
,$(1))
672 $(call Image
/Build
/Profile
/DIR610A1
,$(1))
673 $(call Image
/Build
/Profile
/DIR-615-D
,$(1))
674 $(call Image
/Build
/Profile
/DIR-620-A1
,$(1))
675 $(call Image
/Build
/Profile
/DIR-620-D1
,$(1))
676 $(call Image
/Build
/Profile
/DIR615H1
,$(1))
677 $(call Image
/Build
/Profile
/DAP1350
,$(1))
678 $(call Image
/Build
/Profile
/DAP1350WW
,$(1))
679 $(call Image
/Build
/Profile
/DCS930
,$(1))
680 $(call Image
/Build
/Profile
/ESR-9753
,$(1))
681 $(call Image
/Build
/Profile
/F7C027
,$(1))
682 $(call Image
/Build
/Profile
/F5D8235V2
,$(1))
683 $(call Image
/Build
/Profile
/FONERA20N
,$(1))
684 $(call Image
/Build
/Profile
/FREESTATION5
,$(1))
685 # $(call Image/Build/Profile/HG255D,$(1))
686 $(call Image
/Build
/Profile
/HLKRM04
,$(1))
687 $(call Image
/Build
/Profile
/HT-TM02
,$(1))
688 $(call Image
/Build
/Profile
/HW550-3G
,$(1))
689 $(call Image
/Build
/Profile
/IP2202
,$(1))
690 $(call Image
/Build
/Profile
/M3
,$(1))
691 $(call Image
/Build
/Profile
/M4
,$(1))
692 $(call Image
/Build
/Profile
/MOFI3500-3GN
,$(1))
693 $(call Image
/Build
/Profile
/MPRA1
,$(1))
694 $(call Image
/Build
/Profile
/MPRA2
,$(1))
695 $(call Image
/Build
/Profile
/MZKW300NH2
,$(1))
696 $(call Image
/Build
/Profile
/NBG-419N
,$(1))
697 $(call Image
/Build
/Profile
/NCS601W
,$(1))
698 $(call Image
/Build
/Profile
/NW718
,$(1))
699 $(call Image
/Build
/Profile
/OMNI-EMB
,$(1))
700 $(call Image
/Build
/Profile
/OMNI-PLUG
,$(1))
701 $(call Image
/Build
/Profile
/PSR-680W
,$(1))
702 $(call Image
/Build
/Profile
/PWH2004
,$(1))
703 $(call Image
/Build
/Profile
/PX4885
,$(1))
704 $(call Image
/Build
/Profile
/RTG32B1
,$(1))
705 $(call Image
/Build
/Profile
/RTN10PLUS
,$(1))
706 $(call Image
/Build
/Profile
/RT-N13U
,$(1))
707 $(call Image
/Build
/Profile
/RUT5XX
,$(1))
708 $(call Image
/Build
/Profile
/SL-R7205
,$(1))
709 $(call Image
/Build
/Profile
/UR-326N4G
,$(1))
710 $(call Image
/Build
/Profile
/V22RW-2X2
,$(1))
711 $(call Image
/Build
/Profile
/VOCORE
,$(1))
712 $(call Image
/Build
/Profile
/W150M
,$(1))
713 $(call Image
/Build
/Profile
/W306R_V20
,$(1))
714 $(call Image
/Build
/Profile
/W502U
,$(1))
715 $(call Image
/Build
/Profile
/WCR150GN
,$(1))
716 $(call Image
/Build
/Profile
/WHRG300N
,$(1))
717 $(call Image
/Build
/Profile
/WIZARD8800
,$(1))
718 $(call Image
/Build
/Profile
/WL_330N
,$(1))
719 $(call Image
/Build
/Profile
/WL_330N3G
,$(1))
720 $(call Image
/Build
/Profile
/WL341V3
,$(1))
721 $(call Image
/Build
/Profile
/WL-351
,$(1))
722 $(call Image
/Build
/Profile
/WNCE2001
,$(1))
723 $(call Image
/Build
/Profile
/WR512-3GN
,$(1))
724 $(call Image
/Build
/Profile
/WR6202
,$(1))
725 $(call Image
/Build
/Profile
/WT1520
,$(1))
726 $(call Image
/Build
/Profile
/X5
,$(1))
727 $(call Image
/Build
/Profile
/X8
,$(1))
728 $(call Image
/Build
/Profile
/XDXRN502J
,$(1))
735 # RT3662/RT3883 Profiles
738 # $(1) = squashfs/initramfs
739 # $(2) = lowercase board name
745 # $(8) = flash address
746 # $(9) = start address
747 define BuildFirmware
/EdimaxCombined
/squashfs
748 $(call PatchKernelLzmaDtb
,$(2),$(3))
749 $(call MkImage
,lzma
,$(KDIR
)/vmlinux-
$(2).bin.lzma
,$(KDIR
)/vmlinux-
$(2).bin.uImage
)
750 if
[ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.uImage"` -gt
`expr $(4) - 20` ]; then \
751 echo
"Warning: $(KDIR)/vmlinux-$(2).bin.uImage is too big" >&2; \
753 else if
[ `stat -c%s "$(KDIR)/root.$(1)"` -gt
$(5) ]; then \
754 echo
"Warning: $(KDIR)/root.$(1) is too big" >&2; \
757 ( dd if
=$(KDIR
)/vmlinux-
$(2).bin.uImage bs
=`expr $(4) - 20` conv
=sync
; dd if
=$(KDIR
)/root.
$(1) ) > $(KDIR
)/vmlinux-
$(2).bin.uImage.combined
; \
759 mkedimaximg
-i
"$(KDIR)/vmlinux-$(2).bin.uImage.combined" \
760 -o
$(call imgname
,$(1),$(2)).bin \
761 -s
$(6) -m
$(7) -f
$(8) -S
$(9)
764 Image
/Build
/Profile
/CYSWR1100
=$(call BuildFirmware
/Seama
/$(1),$(1),cy-swr1100
,CY-SWR1100
,wrgnd10_samsung_ss815
,$(ralink_default_fw_size_8M
))
766 Image
/Build
/Profile
/DIR645
=$(call BuildFirmware
/Seama
/$(1),$(1),dir-645
,DIR-645
,wrgn39_dlob.hans_dir645
,$(ralink_default_fw_size_8M
))
768 omniembhpm_mtd_size
=16449536
769 Image
/Build
/Profile
/OMNIEMBHPM
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),omni-emb-hpm
,OMNI-EMB-HPM
,$(omniembhpm_mtd_size
))
771 define BuildFirmware
/RTN56U
/squashfs
772 $(call BuildFirmware
/Default8M
/$(1),$(1),rt-n56u
,RTN56U
)
773 -mkrtn56uimg
-s
$(call sysupname
,$(1),rt-n56u
)
774 -cp
$(call sysupname
,$(1),rt-n56u
) $(call imgname
,$(1),rt-n56u
)-factory.bin
775 -mkrtn56uimg
-f
$(call imgname
,$(1),rt-n56u
)-factory.bin
777 Image
/Build
/Profile
/RTN56U
=$(call BuildFirmware
/RTN56U
/$(1),$(1),rt-n56u
,RTN56U
)
779 Image
/Build
/Profile
/TEW691GR
=$(call BuildFirmware
/UMedia
/$(1),$(1),tew-691gr
,TEW-691GR
,0x026910)
781 Image
/Build
/Profile
/TEW692GR
=$(call BuildFirmware
/UMedia
/$(1),$(1),tew-692gr
,TEW-692GR
,0x026920)
783 kernel_size_BR6475ND
:=2097152
784 rootfs_size_BR6475ND
:=5832704
785 Image
/Build
/Profile
/BR6475ND
=$(call BuildFirmware
/EdimaxCombined
/$(1),$(1),br-6475nd
,BR-6475ND
,$(kernel_size_BR6475ND
),$(rootfs_size_BR6475ND
),CSYS
,RN54
,0x70000,0x01100000)
787 ifeq ($(SUBTARGET
),rt3883
)
788 define Image
/Build
/Profile
/Default
789 $(call Image
/Build
/Profile
/CYSWR1100
,$(1))
790 $(call Image
/Build
/Profile
/DIR645
,$(1))
791 $(call Image
/Build
/Profile
/OMNIEMBHPM
,$(1))
792 $(call Image
/Build
/Profile
/RTN56U
,$(1))
793 $(call Image
/Build
/Profile
/BR6475ND
,$(1))
794 $(call Image
/Build
/Profile
/TEW691GR
,$(1))
795 $(call Image
/Build
/Profile
/TEW692GR
,$(1))
803 Image
/Build
/Profile
/E1700
=$(call BuildFirmware
/UMedia
/$(1),$(1),e1700
,E1700
,0x013326)
804 Image
/Build
/Profile
/MT7620a
=$(call BuildFirmware
/Default8M
/$(1),$(1),mt7620a
,MT7620a
)
805 Image
/Build
/Profile
/MT7620a_MT7610e
=$(call BuildFirmware
/Default8M
/$(1),$(1),mt7620a_mt7610e
,MT7620a_MT7610e
)
806 Image
/Build
/Profile
/MT7620a_MT7530
=$(call BuildFirmware
/Default8M
/$(1),$(1),mt7620a_mt7530
,MT7620a_MT7530
)
807 Image
/Build
/Profile
/MT7620a_V22SG
=$(call BuildFirmware
/Default8M
/$(1),$(1),mt7620a_v22sg
,MT7620a_V22SG
)
808 br100_mtd_size
=8126464
809 Image
/Build
/Profile
/AIBR100
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),ai-br100
,AIBR100
,$(br100_mtd_size
),Ai-BR
)
810 Image
/Build
/Profile
/RP-N53
=$(call BuildFirmware
/Default8M
/$(1),$(1),rp_n53
,RP-N53
)
811 whr_300hp2_mtd_size
=7012352
812 Image
/Build
/Profile
/WHR300HP2
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),whr-300hp2
,WHR-300HP2
,$(whr_300hp2_mtd_size
))
813 Image
/Build
/Profile
/WHR600D
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),whr-600d
,WHR-600D
,$(whr_300hp2_mtd_size
))
814 whr_1166d_mtd_size
=15400960
815 Image
/Build
/Profile
/WHR1166D
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),whr-1166d
,WHR-1166D
,$(whr_1166hd_mtd_size
))
816 dlink810l_mtd_size
=6881280
817 Image
/Build
/Profile
/DIR-810L
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),dir-810l
,DIR-810L
,$(dlink810l_mtd_size
))
818 na930_mtd_size
=20971520
819 Image
/Build
/Profile
/NA930
=$(call BuildFirmware
/CustomFlash
/$(1),$(1),na930
,NA930
,$(na930_mtd_size
))
820 Image
/Build
/Profile
/MZK-750DHP
=$(call BuildFirmware
/Default8M
/$(1),$(1),mzk-750dhp
,MZK-750DHP
)
821 Image
/Build
/Profile
/Y1
=$(call BuildFirmware
/Default16M
/$(1),$(1),Lenovo-y1
,Y1
)
822 Image
/Build
/Profile
/Y1S
=$(call BuildFirmware
/Default16M
/$(1),$(1),Lenovo-y1s
,Y1S
)
823 Image
/Build
/Profile
/MLW221
=$(call BuildFirmware
/Default16M
/$(1),$(1),mlw221
,MLW221
)
824 Image
/Build
/Profile
/WMR300
=$(call BuildFirmware
/Default8M
/$(1),$(1),wmr-300
,WMR300
)
825 Image
/Build
/Profile
/RT-N14U
=$(call BuildFirmware
/Default8M
/$(1),$(1),rt-n14u
,RT-N14U
)
826 Image
/Build
/Profile
/WR8305RT
=$(call BuildFirmware
/Default8M
/$(1),$(1),wr8305rt
,WR8305RT
)
827 Image
/Build
/Profile
/WRTNODE
=$(call BuildFirmware
/Default16M
/$(1),$(1),wrtnode
,WRTNODE
)
828 Image
/Build
/Profile
/WT3020
=$(call BuildFirmware
/PorayDualSize
/$(1),$(1),wt3020
,WT3020
)
829 Image
/Build
/Profile
/ZBT-WA05
=$(call BuildFirmware
/Default8M
/$(1),$(1),zbt-wa05
,ZBT-WA05
)
830 Image
/Build
/Profile
/ArcherC20i
=$(call BuildFirmware
/Tplink
/$(1),$(1),ArcherC20i
,ArcherC20i
)
833 ifeq ($(SUBTARGET
),mt7620
)
834 define Image
/Build
/Profile
/Default
835 $(call Image
/Build
/Profile
/E1700
,$(1))
836 $(call Image
/Build
/Profile
/MT7620a
,$(1))
837 $(call Image
/Build
/Profile
/MT7620a_MT7610e
,$(1))
838 $(call Image
/Build
/Profile
/MT7620a_MT7530
,$(1))
839 $(call Image
/Build
/Profile
/MT7620a_V22SG
,$(1))
840 $(call Image
/Build
/Profile
/AIBR100
,$(1))
841 $(call Image
/Build
/Profile
/RP-N53
,$(1))
842 $(call Image
/Build
/Profile
/DIR-810L
,$(1))
843 $(call Image
/Build
/Profile
/WHR300HP2
,$(1))
844 $(call Image
/Build
/Profile
/WHR600D
,$(1))
845 $(call Image
/Build
/Profile
/WHR1166D
,$(1))
846 $(call Image
/Build
/Profile
/MZK-750DHP
,$(1))
847 $(call Image
/Build
/Profile
/NA930
,$(1))
848 $(call Image
/Build
/Profile
/Y1
,$(1))
849 $(call Image
/Build
/Profile
/Y1S
,$(1))
850 $(call Image
/Build
/Profile
/MLW221
,$(1))
851 $(call Image
/Build
/Profile
/WMR300
,$(1))
852 $(call Image
/Build
/Profile
/RT-N14U
,$(1))
853 $(call Image
/Build
/Profile
/WR8305RT
,$(1))
854 $(call Image
/Build
/Profile
/WRTNODE
,$(1))
855 $(call Image
/Build
/Profile
/WT3020
,$(1))
856 $(call Image
/Build
/Profile
/ZBT-WA05
,$(1))
857 $(call Image
/Build
/Profile
/ArcherC20i
,$(1))
865 Image
/Build
/Profile
/MT7621
=$(call BuildFirmware
/Default4M
/$(1),$(1),mt7621
,MT7621
)
866 Image
/Build
/Profile
/WSR-600
=$(call BuildFirmware
/Default8M
/$(1),$(1),wsr-600
,WSR-600
)
867 Image
/Build
/Profile
/WSR-1166
=$(call BuildFirmware
/Trx8M
/$(1),$(1),wsr-1166
,WSR-1166
)
869 ifeq ($(SUBTARGET
),mt7621
)
870 define Image
/Build
/Profile
/Default
871 $(call Image
/Build
/Profile
/MT7621
,$(1))
872 $(call Image
/Build
/Profile
/WSR-600
,$(1))
873 $(call Image
/Build
/Profile
/WSR-1166
,$(1))
881 Image
/Build
/Profile
/MT7628
=$(call BuildFirmware
/Default4M
/$(1),$(1),mt7628
,MT7628
)
883 ifeq ($(SUBTARGET
),mt7628
)
884 define Image
/Build
/Profile
/Default
885 $(call Image
/Build
/Profile
/MT7628
,$(1))
893 define Image
/BuildKernel
894 cp
$(KDIR
)/vmlinux.elf
$(BIN_DIR
)/$(VMLINUX
).elf
895 cp
$(KDIR
)/vmlinux
$(BIN_DIR
)/$(VMLINUX
).bin
896 $(call CompressLzma
,$(KDIR
)/vmlinux
,$(KDIR
)/vmlinux.bin.lzma
)
897 $(call MkImage
,lzma
,$(KDIR
)/vmlinux.bin.lzma
,$(KDIR
)/uImage.lzma
)
898 cp
$(KDIR
)/uImage.lzma
$(BIN_DIR
)/$(UIMAGE
).bin
901 define Image
/BuildKernel
/Initramfs
902 cp
$(KDIR
)/vmlinux-initramfs.elf
$(BIN_DIR
)/$(VMLINUX
)-initramfs.elf
903 cp
$(KDIR
)/vmlinux-initramfs
$(BIN_DIR
)/$(VMLINUX
)-initramfs.bin
904 $(call CompressLzma
,$(KDIR
)/vmlinux-initramfs
,$(KDIR
)/vmlinux-initramfs.bin.lzma
)
905 $(call MkImage
,lzma
,$(KDIR
)/vmlinux-initramfs.bin.lzma
,$(KDIR
)/uImage-initramfs.lzma
)
906 cp
$(KDIR
)/uImage-initramfs.lzma
$(BIN_DIR
)/$(UIMAGE
)-initramfs.bin
907 $(call Image
/Build
/Initramfs
)
911 $(call Image
/Build
/$(1))
912 dd if
=$(KDIR
)/root.
$(1) of
=$(BIN_DIR
)/$(IMG_PREFIX
)-root.
$(1) bs
=128k conv
=sync
913 $(call Image
/Build
/Profile
/$(PROFILE
),$(1))
916 $(eval
$(call BuildImage
))