source: trunk/target/linux/ar71xx/image/Makefile @ 16784

Last change on this file since 16784 was 16784, checked in by juhosg, 7 years ago

[ar71xx] increase size of the kernel partition on the TEW-632BR board

  • Property svn:eol-style set to native
File size: 10.7 KB
Line 
1#
2# Copyright (C) 2008-2009 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
10IMGNAME:=$(BIN_DIR)/openwrt-$(BOARD)
11
12define imgname
13$(IMGNAME)-$(2)-$(patsubst jffs2-%,jffs2,$(1))
14endef
15
16VMLINUX:=$(IMGNAME)-vmlinux
17ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
18        VMLINUX:=$(IMGNAME)-vmlinux-initramfs
19endif
20
21define Image/BuildKernel
22        cp $(KDIR)/vmlinux.elf $(VMLINUX).elf
23        cp $(KDIR)/vmlinux $(VMLINUX).bin
24        gzip -9 -c $(KDIR)/vmlinux > $(KDIR)/vmlinux.bin.gz
25        $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux $(KDIR)/vmlinux.bin.l7
26        $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux -lc1 -lp2 -pb2 $(KDIR)/vmlinux.bin.lzma
27        dd if=$(KDIR)/vmlinux.bin.l7 of=$(VMLINUX).lzma bs=65536 conv=sync
28        dd if=$(KDIR)/vmlinux.bin.gz of=$(VMLINUX).gz bs=65536 conv=sync
29        mkimage -A mips -O linux -T kernel -a 0x80060000 -C gzip -e \
30                0x80060000 \
31                -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
32                -d $(KDIR)/vmlinux.bin.gz $(IMGNAME)-uImage-gzip.bin
33        mkimage -A mips -O linux -T kernel -a 0x80060000 -C lzma -e \
34                0x80060000 \
35                -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
36                -d $(KDIR)/vmlinux.bin.lzma $(IMGNAME)-uImage-lzma.bin
37endef
38
39define Image/Build/Linksys8M
40        cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(2)
41        $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(2) '$(strip $(3))'
42        $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux-$(2) $(KDIR)/vmlinux-$(2).bin.lzma
43        if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt 1310720 ]; then \
44                echo "Warning: $(KDIR)/vmlinux-$(2).bin.lzma is too big"; \
45        else if [ `stat -c%s $(KDIR)/root.$(1)` -gt 6488064 ]; then \
46                echo "Warning: $(KDIR)/root.$(1) is too big"; \
47        else \
48                mkimage -A mips -O linux -T kernel -a 0x80060000 -C lzma -e \
49                        0x80060000 \
50                        -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
51                        -d $(KDIR)/vmlinux-$(2).bin.lzma $(KDIR)/vmlinux-$(2).uImage; \
52                ( \
53                        dd if=$(KDIR)/vmlinux-$(2).uImage bs=1280k conv=sync; \
54                        dd if=$(KDIR)/root.$(1) bs=6336k conv=sync; \
55                        echo -n $(4); \
56                ) > $(call imgname,$(1),$(2)).bin; \
57        fi; fi
58endef
59
60define Image/Build/AP81
61        cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(2)
62        $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(2) '$(strip $(3))'
63        $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux-$(2) $(KDIR)/vmlinux-$(2).bin.lzma
64        if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt 851968 ]; then \
65                echo "Warning: $(KDIR)/vmlinux-$(2).bin.lzma is too big"; \
66        else if [ `stat -c%s $(KDIR)/root.$(1)` -gt 3014656 ]; then \
67                echo "Warning: $(KDIR)/root.$(1) is too big"; \
68        else \
69                mkimage -A mips -O linux -T kernel -a 0x80060000 -C lzma -e \
70                        0x80060000 \
71                        -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
72                        -d $(KDIR)/vmlinux-$(2).bin.lzma $(KDIR)/vmlinux-$(2).uImage; \
73                ( \
74                        dd if=$(KDIR)/vmlinux-$(2).uImage bs=832k conv=sync; \
75                        dd if=$(KDIR)/root.$(1) bs=2944k conv=sync; \
76                        echo -n $(4); \
77                ) > $(call imgname,$(1),$(2)).uni; \
78        fi; fi
79endef
80
81define Image/Build/AP83
82        cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(2)
83        $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(2) '$(strip $(3))'
84        gzip -9 -c $(KDIR)/vmlinux-$(2) > $(KDIR)/vmlinux-$(2).bin.gz
85        if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.gz"` -gt 1310720 ]; then \
86                echo "Warning: $(KDIR)/vmlinux-$(2).bin.gz is too big"; \
87        else if [ `stat -c%s $(KDIR)/root.$(1)` -gt 6619136 ]; then \
88                echo "Warning: $(KDIR)/root.$(1) is too big"; \
89        else \
90                mkimage -A mips -O linux -T kernel -a 0x80060000 -C gzip -e \
91                        0x80060000 \
92                        -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
93                        -d $(KDIR)/vmlinux-$(2).bin.gz \
94                        $(KDIR)/vmlinux-$(2).uImage; \
95                dd if=$(KDIR)/vmlinux-$(2).uImage \
96                        of=$(call imgname,kernel,$(2)).bin bs=64k conv=sync; \
97                dd if=$(KDIR)/root.$(1) \
98                        of=$(call imgname,$(1),$(2)-rootfs).bin bs=128k conv=sync; \
99                ( \
100                        dd if=$(KDIR)/vmlinux-$(2).uImage bs=1280k conv=sync; \
101                        dd if=$(KDIR)/root.$(1); \
102                ) > $(call imgname,$(1),$(2)-firmware).bin; \
103        fi; fi
104endef
105
106define Image/Build/MyLoader
107        -$(STAGING_DIR_HOST)/bin/mkmylofw -B $(2) \
108                -p0x30000:0xc0000:al:0x80060000:kernel:$(KDIR)/vmlinux.bin.lzma  \
109                -p0xf0000:0:::rootfs:$(KDIR)/root.$(1) \
110                $(call imgname,$(1),$(2)).img
111endef
112
113define Image/Build/UBNT
114        cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(2)
115        $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(2) '$(strip $(3))'
116        $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux-$(2) $(KDIR)/vmlinux-$(2).lzma
117        dd if=$(KDIR)/vmlinux-$(2).lzma of=$(KDIR)/vmlinux-$(2).bin.lzma bs=64k conv=sync
118        -$(STAGING_DIR_HOST)/bin/mkfwimage \
119                -B $(4) -v $(5).$(6).OpenWrt.$(REVISION) \
120                -k $(KDIR)/vmlinux-$(2).bin.lzma \
121                -r $(BIN_DIR)/openwrt-$(BOARD)-root.$(1) \
122                -o $(call imgname,$(1),$(2)).bin
123endef
124
125define Image/Build/Planex
126        cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(2)
127        $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(2) '$(strip $(3))'
128        gzip -9 -c $(KDIR)/vmlinux-$(2) > $(KDIR)/vmlinux-$(2).bin.gzip
129        if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.gzip"` -gt 1441792 ]; then \
130                echo "Warning: $(KDIR)/vmlinux-$(2).bin.gzip is too big"; \
131        else if [ `stat -c%s $(KDIR)/root.$(1)` -gt 6356992 ]; then \
132                echo "Warning: $(KDIR)/root.$(1) is too big"; \
133        else \
134                mkimage -A mips -O linux -T kernel -a 0x80060000 -C gzip -e \
135                        0x80060000 \
136                        -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
137                        -d $(KDIR)/vmlinux-$(2).bin.gzip $(KDIR)/vmlinux-$(2).uImage; \
138                ( \
139                        dd if=$(KDIR)/vmlinux-$(2).uImage bs=1408k conv=sync; \
140                        dd if=$(KDIR)/root.$(1) bs=6208k conv=sync; \
141                ) > $(call imgname,$(1),$(2)).bin; \
142                $(STAGING_DIR_HOST)/bin/mkplanexfw \
143                        -B $(2) \
144                        -v 2.00.00 \
145                        -i $(call imgname,$(1),$(2)).bin \
146                        -o $(call imgname,$(1),$(2)).webui; \
147        fi; fi
148endef
149
150define Image/Build/TPLINK
151        cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(2)
152        $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(2) '$(strip $(3))'
153        gzip -9 -c $(KDIR)/vmlinux-$(2) > $(KDIR)/vmlinux-$(2).bin.gzip
154        -$(STAGING_DIR_HOST)/bin/mktplinkfw \
155                -B $(4) -N OpenWrt -V $(REVISION)\
156                -k $(KDIR)/vmlinux-$(2).bin.gzip \
157                -r $(BIN_DIR)/openwrt-$(BOARD)-root.$(1) \
158                -o $(BIN_DIR)/openwrt-$(BOARD)-$(2)-$(1).uni
159endef
160
161define Image/Build/Template/Compex
162        $(call Image/Build/MyLoader,$(1),$(2))
163endef
164
165define Image/Build/Template/Compex/squashfs
166        $(call Image/Build/Template/Compex,squashfs,$(1))
167endef
168
169define Image/Build/Template/Linksys8M
170        $(call Image/Build/Linksys8M,$(1),$(2),$(3),$(4))
171endef
172
173define Image/Build/Template/Linksys8M/squashfs
174        $(call Image/Build/Template/Linksys8M,squashfs,$(1),$(2),$(3))
175endef
176
177define Image/Build/Template/Linksys8M/jffs2-64k
178        $(call Image/Build/Template/Linksys8M,jffs2-64k,$(1),$(2),$(3))
179endef
180
181define Image/Build/Template/AP81
182        $(call Image/Build/AP81,$(1),$(2),$(3),$(4))
183endef
184
185define Image/Build/Template/AP81/squashfs
186        $(call Image/Build/Template/AP81,squashfs,$(1),$(2),$(3))
187endef
188
189define Image/Build/Template/AP83
190        $(call Image/Build/AP83,$(1),$(2),$(3))
191endef
192
193define Image/Build/Template/AP83/squashfs
194        $(call Image/Build/Template/AP83,squashfs,$(1),$(2))
195endef
196
197define Image/Build/Template/AP83/jffs2-64k
198        $(call Image/Build/Template/AP83,jffs2-64k,$(1),$(2))
199endef
200
201define Image/Build/Template/TPLINK
202        $(call Image/Build/TPLINK,$(1),$(2),$(3),$(4))
203endef
204
205define Image/Build/Template/TPLINK/squashfs
206        $(call Image/Build/Template/TPLINK,squashfs,$(1),$(2),$(3))
207endef
208
209define Image/Build/Template/UBNT
210        $(call Image/Build/UBNT,$(1),$(2),$(3),$(4),$(5),$(6))
211endef
212
213define Image/Build/Template/UBNT/squashfs
214        $(call Image/Build/Template/UBNT,squashfs,$(1),$(2),$(3),$(4),$(5))
215endef
216
217define Image/Build/Template/UBNT/jffs2-64k
218        $(call Image/Build/Template/UBNT,jffs2-64k,$(1),$(2),$(3),$(4),$(5))
219endef
220
221define Image/Build/Template/Planex
222        $(call Image/Build/Planex,$(1),$(2),$(3))
223endef
224
225define Image/Build/Template/Planex/squashfs
226        $(call Image/Build/Template/Planex,squashfs,$(1),$(2))
227endef
228
229define Image/Build/Template/Planex/jffs2-64k
230        $(call Image/Build/Template/Planex,jffs2-64k,$(1),$(2))
231endef
232
233define Image/Build/Profile/AP83
234        $(call Image/Build/Template/AP83/$(1),ap83,board=AP83)
235endef
236
237define Image/Build/Profile/WP543
238        $(call Image/Build/Template/Compex/$(1),wp543)
239endef
240
241define Image/Build/Profile/DIR615C1
242        $(call Image/Build/Template/AP81/$(1),dir-615c1,board=TEW-632BRP,"AP81-AR9130-RT-070614-02")
243endef
244
245define Image/Build/Profile/TEW632BRP
246        $(call Image/Build/Template/AP81/$(1),tew-632brp,board=TEW-632BRP,"AP81-AR9130-RT-070614-00")
247endef
248
249define Image/Build/Profile/TEW652BRP
250        $(call Image/Build/Template/AP81/$(1),tew-652brp,board=TEW-632BRP,"AP81-AR9130-RT-080609-05")
251endef
252
253define Image/Build/Profile/A02RBW300N
254        $(call Image/Build/Template/AP81/$(1),a02-rb-w300n,board=TEW-632BRP,"AP81-AR9130-RT-070614-03")
255endef
256
257define Image/Build/Profile/UBNTRS
258        $(call Image/Build/Template/UBNT/$(1),ubnt-rs,board=UBNT-RS,RS,RSx,ar7100)
259endef
260
261define Image/Build/Profile/UBNTRSPRO
262        $(call Image/Build/Template/UBNT/$(1),ubnt-rspro,board=UBNT-RSPRO,RSPRO,RSPRO,ar7100pro)
263endef
264
265define Image/Build/Profile/UBNTLSSR71
266        $(call Image/Build/Template/UBNT/$(1),ubnt-ls-sr71,board=UBNT-LS-SR71,LS-SR71,LS-SR71,ar7100)
267endef
268
269define Image/Build/Profile/UBNT
270        $(call Image/Build/Profile/UBNTRS,$(1))
271        $(call Image/Build/Profile/UBNTRSPRO,$(1))
272        $(call Image/Build/Profile/UBNTLSSR71,$(1))
273endef
274
275define Image/Build/Profile/MZKW04NU
276        $(call Image/Build/Template/Planex/$(1),mzk-w04nu,board=MZK-W04NU)
277endef
278
279define Image/Build/Profile/MZKW300NH
280        $(call Image/Build/Template/Planex/$(1),mzk-w300nh,board=MZK-W300NH)
281endef
282
283define Image/Build/Profile/TLWR741NDV1
284        $(call Image/Build/Template/TPLINK/$(1),tl-wr741ndv1,board=TL-WR741ND,TL-WR741NDv1)
285endef
286
287define Image/Build/Profile/TLWR841NDV3
288        $(call Image/Build/Template/TPLINK/$(1),tl-wr841ndv3,board=TL-WR941ND,TL-WR841NDv3)
289endef
290
291define Image/Build/Profile/TLWR941NDV2
292        $(call Image/Build/Template/TPLINK/$(1),tl-wr941ndv2,board=TL-WR941ND,TL-WR941NDv2)
293endef
294
295define Image/Build/Profile/WRT400N
296        $(call Image/Build/Template/Linksys8M/$(1),wrt400n,board=WRT400N)
297endef
298
299define Image/Build/Profile/Default
300        $(call Image/Build/Profile/AP83,$(1))
301        $(call Image/Build/Profile/A02RBW300N,$(1))
302        $(call Image/Build/Profile/DIR615C1,$(1))
303        $(call Image/Build/Profile/MZKW04NU,$(1))
304        $(call Image/Build/Profile/MZKW300NH,$(1))
305        $(call Image/Build/Profile/TEW632BRP,$(1))
306        $(call Image/Build/Profile/TEW652BRP,$(1))
307        $(call Image/Build/Profile/TLWR741NDV1,$(1))
308        $(call Image/Build/Profile/TLWR841NDV3,$(1))
309        $(call Image/Build/Profile/TLWR941NDV2,$(1))
310        $(call Image/Build/Profile/UBNT,$(1))
311        $(call Image/Build/Profile/WP543,$(1))
312        $(call Image/Build/Profile/WRT400N,$(1))
313endef
314
315define Image/Build/Profile/Madwifi
316        $(call Image/Build/Profile/UBNT,$(1))
317        $(call Image/Build/Profile/WP543,$(1))
318endef
319
320define Image/Build/squashfs
321        $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
322endef
323
324define Image/Build
325        $(call Image/Build/$(1))
326        dd if=$(KDIR)/root.$(1) of=$(IMGNAME)-root.$(1) bs=128k conv=sync
327
328        $(call Image/Build/Profile/$(PROFILE),$(1))
329endef
330
331$(eval $(call BuildImage))
Note: See TracBrowser for help on using the repository browser.