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=ttyLTQ1,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_xway),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/ARV452CPW
116    $(call Image/BuildKernel/Template,ARV452CPW,$(xway_cmdline))
117endef
118
119define Image/Build/Profile/ARV452CPW
120    $(call Image/Build/$(1),$(1),ARV452CPW)
121endef
122
123define Image/BuildKernel/Profile/ARV7518PW
124    $(call Image/BuildKernel/Template,ARV7518PW,$(xway_cmdline))
125endef
126
127define Image/Build/Profile/ARV7518PW
128    $(call Image/Build/$(1),$(1),ARV7518PW)
129endef
130
131define Image/BuildKernel/Profile/ARV752DPW22
132    $(call Image/BuildKernel/Template,ARV752DPW22,$(xway_cmdline))
133endef
134
135define Image/Build/Profile/ARV752DPW22
136    $(call Image/Build/$(1),$(1),ARV752DPW22)
137endef
138
139define Image/BuildKernel/Profile/DGN3500B
140    $(call Image/BuildKernel/Template,DGN3500B,$(xway_cmdline))
141endef
142
143define Image/Build/Profile/DGN3500B
144    $(call Image/Build/$(1),$(1),DGN3500B)
145endef
146
147define Image/BuildKernel/Profile/GIGASX76X
148    $(call Image/BuildKernel/Template,GIGASX76X,$(xway_cmdline))
149endef
150
151define Image/Build/Profile/GIGASX76X
152    $(call Image/Build/$(1),$(1),GIGASX76X)
153endef
154
155define Image/BuildKernel/Profile/Generic
156    $(call Image/BuildKernel/Template,EASY4010,$(xway_cmdline))
157    $(call Image/BuildKernel/Template,EASY50712,$(xway_cmdline))
158    $(call Image/BuildKernel/Template,EASY50812,$(xway_cmdline))
159    $(call Image/BuildKernel/Template,ARV3527P,$(xway_cmdline))
160    $(call Image/BuildKernel/Template,ARV4510PW,$(xway_cmdline))
161    $(call Image/BuildKernel/Template,ARV4518PW,$(xway_cmdline))
162    $(call Image/BuildKernel/Template,ARV4520PW,$(xway_cmdline))
163    $(call Image/BuildKernel/Template,ARV452CPW,$(xway_cmdline))
164    $(call Image/BuildKernel/Template,ARV4525PW,$(xway_cmdline))
165    $(call Image/BuildKernel/Template,ARV7518PW,$(xway_cmdline))
166    $(call Image/BuildKernel/Template,ARV752DPW,$(xway_cmdline))
167    $(call Image/BuildKernel/Template,ARV752DPW22,$(xway_cmdline))
168    $(call Image/BuildKernel/Template,GIGASX76X,$(xway_cmdline))
169    $(call Image/BuildKernel/Template,DGN3500B,$(xway_cmdline))
170    $(call Image/BuildKernel/Template,NONE)
171endef
172
173define Image/Build/Profile/Generic
174    $(call Image/Build/$(1),$(1),EASY4010)
175    $(call Image/Build/$(1),$(1),EASY50712)
176    $(call Image/Build/$(1),$(1),EASY50812)
177    $(call Image/Build/$(1),$(1),ARV3527P)
178    $(call Image/Build/$(1),$(1),ARV4510PW)
179    $(call Image/Build/$(1),$(1),ARV4518PW)
180    $(call Image/Build/$(1),$(1),ARV4520PW)
181    $(call Image/Build/$(1),$(1),ARV452CPW)
182    $(call Image/Build/$(1),$(1),ARV4525PW)
183    $(call Image/Build/$(1),$(1),ARV7518PW)
184    $(call Image/Build/$(1),$(1),ARV752DPW)
185    $(call Image/Build/$(1),$(1),ARV752DPW22)
186    $(call Image/Build/$(1),$(1),GIGASX76X)
187    $(call Image/Build/$(1),$(1),DGN3500B)
188    $(call Image/Build/$(1),$(1),NONE)
189    $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs
190endef
191endif
192
193ifeq ($(CONFIG_TARGET_lantiq_falcon),y)
194define Image/BuildKernel/Profile/Generic
195    $(call Image/BuildKernel/Template,EASY98000,$(falcon_cmdline))
196    $(call Image/BuildKernel/Template,EASY98020,$(falcon_cmdline))
197    $(call Image/BuildKernel/Template,NONE)
198endef
199
200define Image/Build/Profile/Generic
201    $(call Image/Build/$(1),$(1),EASY98000)
202    $(call Image/Build/$(1),$(1),EASY98020)
203    $(call Image/Build/$(1),$(1),NONE)
204    $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs
205endef
206endif
207
208ifeq ($(CONFIG_TARGET_lantiq_ase),y)
209define Image/BuildKernel/Profile/EASY50601
210    $(call Image/BuildKernel/Template,EASY50601,$(ase_cmdline))
211endef
212
213define Image/Build/Profile/EASY50601
214    $(call Image/Build/$(1),$(1),EASY50601)
215endef
216
217define Image/BuildKernel/Profile/Generic
218    $(call Image/BuildKernel/Template,EASY50601,$(ase_cmdline))
219    $(call Image/BuildKernel/Template,NONE)
220endef
221
222define Image/Build/Profile/Generic
223    $(call Image/Build/$(1),$(1),EASY50601)
224    $(call Image/Build/$(1),$(1),NONE)
225    $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs
226endef
227endif
228
229define Image/BuildKernel
230    $(call Image/BuildKernel/Profile/$(PROFILE))
231endef
232
233define Image/Build
234    $(call Image/Build/Profile/$(PROFILE),$(1))
235endef
236
237$(eval $(call BuildImage))
238

Archive Download this file



interactive