Root/target/linux/lantiq/image/Makefile

1#
2# Copyright (C) 2010 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
10JFFS2_BLOCKSIZE = 64k 128k 256k
11
12ase_cmdline=-console=ttyLTQ0,115200 rootfstype=squashfs,jffs2
13xway_cmdline=-console=ttyLTQ1,115200 rootfstype=squashfs,jffs2
14falcon_cmdline=-console=ttyLTQ0,115200 rootfstype=squashfs,jffs2
15
16define CompressLzma
17  $(STAGING_DIR_HOST)/bin/lzma e $(1) $(2)
18endef
19
20define PatchKernelLzma
21    cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(1)
22    $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(1) '$(strip $(2))'
23    $(call CompressLzma,$(KDIR)/vmlinux-$(1),$(KDIR)/vmlinux-$(1).lzma)
24endef
25
26define MkImageLzma
27    mkimage -A mips -O linux -T kernel -a 0x80002000 -C lzma \
28        -e 0x80002000 -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
29        -d $(KDIR)/vmlinux-$(1).lzma $(KDIR)/uImage-$(1)
30endef
31
32define Image/Build/squashfs
33    cat $(KDIR)/uImage-$(2) $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image
34    $(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image)
35endef
36
37define Image/Build/jffs2-64k
38    dd if=$(KDIR)/uImage-$(2) of=$(KDIR)/uImage-$(2)-$(1) bs=64k conv=sync
39    cat $(KDIR)/uImage-$(2)-$(1) $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image
40endef
41
42define Image/Build/jffs2-128k
43    dd if=$(KDIR)/uImage-$(2) of=$(KDIR)/uImage-$(2)-$(1) bs=128k conv=sync
44    cat $(KDIR)/uImage-$(2)-$(1) $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image
45endef
46
47define Image/Build/jffs2-256k
48    dd if=$(KDIR)/uImage-$(2) of=$(KDIR)/uImage-$(2)-$(1) bs=256k conv=sync
49    cat $(KDIR)/uImage-$(2)-$(1) $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image
50endef
51
52define Image/BuildKernel/Template
53    $(call PatchKernelLzma,$(1),$(if $(2),$(2) machtype=$(1),))
54    $(call MkImageLzma,$(1))
55    $(CP) $(KDIR)/uImage-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-uImage
56endef
57
58ifeq ($(CONFIG_TARGET_lantiq_danube),y)
59define Image/BuildKernel/Profile/EASY50712
60    $(call Image/BuildKernel/Template,EASY50712,$(xway_cmdline))
61endef
62
63define Image/Build/Profile/EASY50712
64    $(call Image/Build/$(1),$(1),EASY50712)
65endef
66
67define Image/BuildKernel/Profile/EASY50812
68    $(call Image/BuildKernel/Template,EASY50812,$(xway_cmdline))
69endef
70
71define Image/Build/Profile/EASY50812
72    $(call Image/Build/$(1),$(1),EASY50812)
73endef
74
75define Image/BuildKernel/Profile/ARV3527P
76    $(call Image/BuildKernel/Template,ARV3527P,$(xway_cmdline))
77endef
78
79define Image/Build/Profile/ARV3527P
80    $(call Image/Build/$(1),$(1),ARV3527P)
81endef
82
83define Image/BuildKernel/Profile/ARV4510PW
84    $(call Image/BuildKernel/Template,ARV4510PW,$(xway_cmdline))
85endef
86
87define Image/Build/Profile/ARV4510PW
88    $(call Image/Build/$(1),$(1),ARV4510PW)
89endef
90
91define Image/BuildKernel/Profile/ARV4518PW
92    $(call Image/BuildKernel/Template,ARV4518PW,$(xway_cmdline))
93endef
94
95define Image/Build/Profile/ARV4518PW
96    $(call Image/Build/$(1),$(1),ARV4518PW)
97endef
98
99define Image/BuildKernel/Profile/ARV4520PW
100    $(call Image/BuildKernel/Template,ARV4520PW,$(xway_cmdline))
101endef
102
103define Image/Build/Profile/ARV4520PW
104    $(call Image/Build/$(1),$(1),ARV4520PW)
105endef
106
107define Image/BuildKernel/Profile/ARV4525PW
108    $(call Image/BuildKernel/Template,ARV4525PW,$(xway_cmdline))
109endef
110
111define Image/Build/Profile/ARV4525PW
112    $(call Image/Build/$(1),$(1),ARV4525PW)
113endef
114
115define Image/BuildKernel/Profile/ARV7525PW
116    $(call Image/BuildKernel/Template,ARV7525PW,$(xway_cmdline))
117endef
118
119define Image/Build/Profile/ARV7525PW
120    $(call Image/Build/$(1),$(1),ARV7525PW)
121endef
122
123define Image/BuildKernel/Profile/ARV452CPW
124    $(call Image/BuildKernel/Template,ARV452CPW,$(xway_cmdline))
125endef
126
127define Image/Build/Profile/ARV452CPW
128    $(call Image/Build/$(1),$(1),ARV452CPW)
129endef
130
131define Image/BuildKernel/Profile/ARV7518PW
132    $(call Image/BuildKernel/Template,ARV7518PW,$(xway_cmdline))
133endef
134
135define Image/Build/Profile/ARV7518PW
136    $(call Image/Build/$(1),$(1),ARV7518PW)
137endef
138
139define Image/BuildKernel/Profile/ARV752DPW
140    $(call Image/BuildKernel/Template,ARV752DPW,$(xway_cmdline))
141endef
142
143define Image/Build/Profile/ARV752DPW
144    $(call Image/Build/$(1),$(1),ARV752DPW)
145endef
146
147define Image/BuildKernel/Profile/ARV752DPW22
148    $(call Image/BuildKernel/Template,ARV752DPW22,$(xway_cmdline))
149endef
150
151define Image/Build/Profile/ARV752DPW22
152    $(call Image/Build/$(1),$(1),ARV752DPW22)
153endef
154
155define Image/BuildKernel/Profile/GIGASX76X
156    $(call Image/BuildKernel/Template,GIGASX76X,$(xway_cmdline))
157endef
158
159define Image/Build/Profile/GIGASX76X
160    $(call Image/Build/$(1),$(1),GIGASX76X)
161endef
162
163define Image/BuildKernel/Profile/Generic
164    $(call Image/BuildKernel/Template,EASY4010,$(xway_cmdline))
165    $(call Image/BuildKernel/Template,EASY50712,$(xway_cmdline))
166    $(call Image/BuildKernel/Template,EASY50812,$(xway_cmdline))
167    $(call Image/BuildKernel/Template,ARV3527P,$(xway_cmdline))
168    $(call Image/BuildKernel/Template,ARV4510PW,$(xway_cmdline))
169    $(call Image/BuildKernel/Template,ARV4518PW,$(xway_cmdline))
170    $(call Image/BuildKernel/Template,ARV4520PW,$(xway_cmdline))
171    $(call Image/BuildKernel/Template,ARV452CPW,$(xway_cmdline))
172    $(call Image/BuildKernel/Template,ARV4525PW,$(xway_cmdline))
173    $(call Image/BuildKernel/Template,ARV7525PW,$(xway_cmdline))
174    $(call Image/BuildKernel/Template,ARV7518PW,$(xway_cmdline))
175    $(call Image/BuildKernel/Template,ARV752DPW,$(xway_cmdline))
176    $(call Image/BuildKernel/Template,ARV752DPW22,$(xway_cmdline))
177    $(call Image/BuildKernel/Template,GIGASX76X,$(xway_cmdline))
178    $(call Image/BuildKernel/Template,NONE)
179endef
180
181define Image/Build/Profile/Generic
182    $(call Image/Build/$(1),$(1),EASY4010)
183    $(call Image/Build/$(1),$(1),EASY50712)
184    $(call Image/Build/$(1),$(1),EASY50812)
185    $(call Image/Build/$(1),$(1),ARV3527P)
186    $(call Image/Build/$(1),$(1),ARV4510PW)
187    $(call Image/Build/$(1),$(1),ARV4518PW)
188    $(call Image/Build/$(1),$(1),ARV4520PW)
189    $(call Image/Build/$(1),$(1),ARV452CPW)
190    $(call Image/Build/$(1),$(1),ARV4525PW)
191    $(call Image/Build/$(1),$(1),ARV7525PW)
192    $(call Image/Build/$(1),$(1),ARV7518PW)
193    $(call Image/Build/$(1),$(1),ARV752DPW)
194    $(call Image/Build/$(1),$(1),ARV752DPW22)
195    $(call Image/Build/$(1),$(1),GIGASX76X)
196    $(call Image/Build/$(1),$(1),NONE)
197    $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs
198endef
199endif
200
201ifeq ($(CONFIG_TARGET_lantiq_ar9),y)
202define Image/BuildKernel/Profile/WBMR
203    $(call Image/BuildKernel/Template,WBMR,$(xway_cmdline))
204endef
205
206define Image/Build/Profile/WBMR
207    $(call Image/Build/$(1),$(1),WBMR)
208endef
209
210define Image/BuildKernel/Profile/DGN3500B
211    $(call Image/BuildKernel/Template,DGN3500B,$(xway_cmdline))
212endef
213
214define Image/Build/Profile/DGN3500B
215    $(call Image/Build/$(1),$(1),DGN3500B)
216endef
217
218define Image/BuildKernel/Profile/Generic
219    $(call Image/BuildKernel/Template,WBMR,$(xway_cmdline))
220    $(call Image/BuildKernel/Template,DGN3500B,$(xway_cmdline))
221    $(call Image/BuildKernel/Template,NONE)
222endef
223
224define Image/Build/Profile/Generic
225    $(call Image/Build/$(1),$(1),WBMR)
226    $(call Image/Build/$(1),$(1),DGN3500B)
227    $(call Image/Build/$(1),$(1),NONE)
228    $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs
229endef
230endif
231
232ifeq ($(CONFIG_TARGET_lantiq_falcon)$(CONFIG_TARGET_lantiq_falcon_stable),y)
233define Image/BuildKernel/Profile/EASY98000
234    $(call Image/BuildKernel/Template,EASY98000,$(falcon_cmdline))
235endef
236
237define Image/Build/Profile/EASY98000
238    $(call Image/Build/$(1),$(1),EASY98000)
239endef
240
241define Image/BuildKernel/Profile/EASY98020
242    $(call Image/BuildKernel/Template,EASY98020,$(falcon_cmdline))
243endef
244
245define Image/Build/Profile/EASY98020
246    $(call Image/Build/$(1),$(1),EASY98020)
247endef
248
249define Image/BuildKernel/Profile/Generic
250    $(call Image/BuildKernel/Template,EASY98000,$(falcon_cmdline))
251    $(call Image/BuildKernel/Template,EASY98020,$(falcon_cmdline))
252    $(call Image/BuildKernel/Template,NONE)
253endef
254
255define Image/Build/Profile/Generic
256    $(call Image/Build/$(1),$(1),EASY98000)
257    $(call Image/Build/$(1),$(1),EASY98020)
258    $(call Image/Build/$(1),$(1),NONE)
259    $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs
260endef
261endif
262
263ifeq ($(CONFIG_TARGET_lantiq_ase),y)
264define Image/BuildKernel/Profile/EASY50601
265    $(call Image/BuildKernel/Template,EASY50601,$(ase_cmdline))
266endef
267
268define Image/Build/Profile/EASY50601
269    $(call Image/Build/$(1),$(1),EASY50601)
270endef
271
272define Image/BuildKernel/Profile/Generic
273    $(call Image/BuildKernel/Template,EASY50601,$(ase_cmdline))
274    $(call Image/BuildKernel/Template,NONE)
275endef
276
277define Image/Build/Profile/Generic
278    $(call Image/Build/$(1),$(1),EASY50601)
279    $(call Image/Build/$(1),$(1),NONE)
280    $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs
281endef
282endif
283
284define Image/BuildKernel
285    $(call Image/BuildKernel/Profile/$(PROFILE))
286endef
287
288define Image/Build
289    $(call Image/Build/Profile/$(PROFILE),$(1))
290endef
291
292$(eval $(call BuildImage))
293

Archive Download this file



interactive