OpenWrt – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | # Build commands that can be called from Device/* templates |
2 | |||
3 | IMAGE_KERNEL = $(word 1,$^) |
||
4 | IMAGE_ROOTFS = $(word 2,$^) |
||
5 | |||
6 | define Build/uImage |
||
7 | mkimage -A $(LINUX_KARCH) \ |
||
8 | -O linux -T kernel \ |
||
9 | -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ |
||
10 | -n '$(if $(UIMAGE_NAME),$(UIMAGE_NAME),$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION))' -d $@ $@.new |
||
11 | mv $@.new $@ |
||
12 | endef |
||
13 | |||
14 | define Build/buffalo-enc |
||
15 | $(eval product=$(word 1,$(1))) |
||
16 | $(eval version=$(word 2,$(1))) |
||
17 | $(eval args=$(wordlist 3,$(words $(1)),$(1))) |
||
18 | $(STAGING_DIR_HOST)/bin/buffalo-enc \ |
||
19 | -p $(product) -v $(version) $(args) \ |
||
20 | -i $@ -o $@.new |
||
21 | mv $@.new $@ |
||
22 | endef |
||
23 | |||
24 | define Build/buffalo-enc-tag |
||
25 | $(call Build/buffalo-enc,'' '' -S 152 $(1)) |
||
26 | endef |
||
27 | |||
28 | define Build/buffalo-tag-dhp |
||
29 | $(eval product=$(word 1,$(1))) |
||
30 | $(eval region=$(word 2,$(1))) |
||
31 | $(eval language=$(word 3,$(1))) |
||
32 | $(STAGING_DIR_HOST)/bin/buffalo-tag \ |
||
33 | -d 0x01000000 -w 1 \ |
||
34 | -a $(BUFFALO_TAG_PLATFORM) \ |
||
35 | -v $(BUFFALO_TAG_VERSION) -m $(BUFFALO_TAG_MINOR) \ |
||
36 | -b $(product) -p $(product) \ |
||
37 | -r $(region) -r $(region) -l $(language) \ |
||
38 | -I $@ -o $@.new |
||
39 | mv $@.new $@ |
||
40 | endef |
||
41 | |||
42 | define Build/buffalo-dhp-image |
||
43 | $(STAGING_DIR_HOST)/bin/mkdhpimg $@ $@.new |
||
44 | mv $@.new $@ |
||
45 | endef |
||
46 | |||
47 | define Build/eva-image |
||
48 | $(STAGING_DIR_HOST)/bin/lzma2eva $(KERNEL_LOADADDR) $(KERNEL_LOADADDR) $@ $@.new |
||
49 | mv $@.new $@ |
||
50 | endef |
||
51 | |||
52 | define Build/seama |
||
53 | $(STAGING_DIR_HOST)/bin/seama -i $@ \ |
||
54 | -m "dev=/dev/mtdblock/$(SEAMA_MTDBLOCK)" -m "type=firmware" |
||
55 | mv $@.seama $@ |
||
56 | endef |
||
57 | |||
58 | define Build/seama-seal |
||
59 | $(STAGING_DIR_HOST)/bin/seama -i $@ -s $@.seama \ |
||
60 | -m "signature=$(SEAMA_SIGNATURE)" |
||
61 | mv $@.seama $@ |
||
62 | endef |
||
63 | |||
64 | define Build/zyxel-ras-image |
||
65 | let \ |
||
66 | newsize="$(subst k,* 1024,$(RAS_ROOTFS_SIZE))"; \ |
||
67 | $(STAGING_DIR_HOST)/bin/mkrasimage \ |
||
68 | -b $(RAS_BOARD) \ |
||
69 | -v $(RAS_VERSION) \ |
||
70 | -r $@ \ |
||
71 | -s $$newsize \ |
||
72 | -o $@.new \ |
||
73 | $(if $(findstring separate-kernel,$(word 1,$(1))),-k $(IMAGE_KERNEL)) \ |
||
74 | && mv $@.new $@ |
||
75 | endef |
||
76 | |||
77 | define Build/netgear-chk |
||
78 | $(STAGING_DIR_HOST)/bin/mkchkimg \ |
||
79 | -o $@.new \ |
||
80 | -k $@ \ |
||
81 | -b $(NETGEAR_BOARD_ID) \ |
||
82 | $(if $(NETGEAR_REGION),-r $(NETGEAR_REGION),) |
||
83 | mv $@.new $@ |
||
84 | endef |
||
85 | |||
86 | define Build/netgear-dni |
||
87 | $(STAGING_DIR_HOST)/bin/mkdniimg \ |
||
88 | -B $(NETGEAR_BOARD_ID) -v $(VERSION_DIST).$(firstword $(subst -, ,$(REVISION))) \ |
||
89 | $(if $(NETGEAR_HW_ID),-H $(NETGEAR_HW_ID)) \ |
||
90 | -r "$(1)" \ |
||
91 | -i $@ -o $@.new |
||
92 | mv $@.new $@ |
||
93 | endef |
||
94 | |||
95 | define Build/append-squashfs-fakeroot-be |
||
96 | rm -rf $@.fakefs $@.fakesquashfs |
||
97 | mkdir $@.fakefs |
||
98 | $(STAGING_DIR_HOST)/bin/mksquashfs-lzma \ |
||
99 | $@.fakefs $@.fakesquashfs \ |
||
100 | -noappend -root-owned -be -nopad -b 65536 \ |
||
101 | $(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH)) |
||
102 | cat $@.fakesquashfs >> $@ |
||
103 | endef |
||
104 | |||
105 | define Build/append-string |
||
106 | echo -n $(1) >> $@ |
||
107 | endef |
||
108 | |||
109 | # append a fake/empty uImage header, to fool bootloaders rootfs integrity check |
||
110 | # for example |
||
111 | define Build/append-uImage-fakehdr |
||
112 | touch $@.fakehdr |
||
113 | $(STAGING_DIR_HOST)/bin/mkimage \ |
||
114 | -A $(LINUX_KARCH) -O linux -T $(1) -C none \ |
||
115 | -n '$(VERSION_DIST) fake $(1)' \ |
||
116 | -d $@.fakehdr \ |
||
117 | -s \ |
||
118 | $@.fakehdr |
||
119 | cat $@.fakehdr >> $@ |
||
120 | endef |
||
121 | |||
122 | define Build/tplink-safeloader |
||
123 | -$(STAGING_DIR_HOST)/bin/tplink-safeloader \ |
||
124 | -B $(TPLINK_BOARD_ID) \ |
||
125 | -V $(REVISION) \ |
||
126 | -k $(IMAGE_KERNEL) \ |
||
127 | -r $@ \ |
||
128 | -o $@.new \ |
||
129 | -j \ |
||
130 | $(wordlist 2,$(words $(1)),$(1)) \ |
||
131 | $(if $(findstring sysupgrade,$(word 1,$(1))),-S) && mv $@.new $@ || rm -f $@ |
||
132 | endef |
||
133 | |||
134 | define Build/append-dtb |
||
135 | cat $(KDIR)/image-$(firstword $(DEVICE_DTS)).dtb >> $@ |
||
136 | endef |
||
137 | |||
138 | define Build/install-dtb |
||
139 | $(foreach dts,$(DEVICE_DTS), \ |
||
140 | $(CP) \ |
||
141 | $(DTS_DIR)/$(dts).dtb \ |
||
142 | $(BIN_DIR)/$(IMG_PREFIX)-$(dts).dtb; \ |
||
143 | ) |
||
144 | endef |
||
145 | |||
146 | define Build/fit |
||
147 | $(TOPDIR)/scripts/mkits.sh \ |
||
148 | -D $(DEVICE_NAME) -o $@.its -k $@ \ |
||
149 | $(if $(word 2,$(1)),-d $(word 2,$(1))) -C $(word 1,$(1)) \ |
||
150 | -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ |
||
151 | -c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config@1") \ |
||
152 | -A $(LINUX_KARCH) -v $(LINUX_VERSION) |
||
153 | PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new |
||
154 | @mv $@.new $@ |
||
155 | endef |
||
156 | |||
157 | define Build/lzma |
||
158 | $(call Build/lzma-no-dict,-lc1 -lp2 -pb2 $(1)) |
||
159 | endef |
||
160 | |||
161 | define Build/lzma-no-dict |
||
162 | $(STAGING_DIR_HOST)/bin/lzma e $@ $(1) $@.new |
||
163 | @mv $@.new $@ |
||
164 | endef |
||
165 | |||
166 | define Build/gzip |
||
167 | gzip -f -9n -c $@ $(1) > $@.new |
||
168 | @mv $@.new $@ |
||
169 | endef |
||
170 | |||
171 | define Build/zip |
||
172 | mkdir $@.tmp |
||
173 | mv $@ $@.tmp/$(1) |
||
174 | |||
175 | zip -j -X \ |
||
176 | $(if $(SOURCE_DATE_EPOCH),--mtime="$(SOURCE_DATE_EPOCH)") \ |
||
177 | $@ $@.tmp/$(if $(1),$(1),$@) |
||
178 | rm -rf $@.tmp |
||
179 | endef |
||
180 | |||
181 | define Build/jffs2 |
||
182 | rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 && \ |
||
183 | mkdir -p $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$$(dirname $(1)) && \ |
||
184 | cp $@ $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$(1) && \ |
||
185 | $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad \ |
||
186 | $(if $(CONFIG_BIG_ENDIAN),--big-endian,--little-endian) \ |
||
187 | --squash-uids -v -e $(patsubst %k,%KiB,$(BLOCKSIZE)) \ |
||
188 | -o $@.new \ |
||
189 | -d $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 \ |
||
190 | 2>&1 1>/dev/null | awk '/^.+$$$$/' && \ |
||
191 | $(STAGING_DIR_HOST)/bin/padjffs2 $@.new -J $(patsubst %k,,$(BLOCKSIZE)) |
||
192 | -rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/ |
||
193 | @mv $@.new $@ |
||
194 | endef |
||
195 | |||
196 | define Build/kernel-bin |
||
197 | rm -f $@ |
||
198 | cp $< $@ |
||
199 | endef |
||
200 | |||
201 | define Build/patch-cmdline |
||
202 | $(STAGING_DIR_HOST)/bin/patch-cmdline $@ '$(CMDLINE)' |
||
203 | endef |
||
204 | |||
205 | define Build/append-kernel |
||
206 | dd if=$(IMAGE_KERNEL) >> $@ |
||
207 | endef |
||
208 | |||
209 | define Build/append-rootfs |
||
210 | dd if=$(IMAGE_ROOTFS) >> $@ |
||
211 | endef |
||
212 | |||
213 | define Build/append-ubi |
||
214 | sh $(TOPDIR)/scripts/ubinize-image.sh \ |
||
215 | $(if $(UBOOTENV_IN_UBI),--uboot-env) \ |
||
216 | $(if $(KERNEL_IN_UBI),--kernel $(IMAGE_KERNEL)) \ |
||
217 | $(foreach part,$(UBINIZE_PARTS),--part $(part)) \ |
||
218 | $(IMAGE_ROOTFS) \ |
||
219 | $@.tmp \ |
||
220 | -p $(BLOCKSIZE:%k=%KiB) -m $(PAGESIZE) \ |
||
221 | $(if $(SUBPAGESIZE),-s $(SUBPAGESIZE)) \ |
||
222 | $(if $(VID_HDR_OFFSET),-O $(VID_HDR_OFFSET)) \ |
||
223 | $(UBINIZE_OPTS) |
||
224 | cat $@.tmp >> $@ |
||
225 | rm $@.tmp |
||
226 | endef |
||
227 | |||
228 | define Build/append-uboot |
||
229 | dd if=$(UBOOT_PATH) >> $@ |
||
230 | endef |
||
231 | |||
232 | define Build/pad-to |
||
233 | dd if=$@ of=$@.new bs=$(1) conv=sync |
||
234 | mv $@.new $@ |
||
235 | endef |
||
236 | |||
237 | define Build/pad-extra |
||
238 | dd if=/dev/zero bs=$(1) count=1 >> $@ |
||
239 | endef |
||
240 | |||
241 | define Build/pad-rootfs |
||
242 | $(STAGING_DIR_HOST)/bin/padjffs2 $@ $(1) \ |
||
243 | $(if $(BLOCKSIZE),$(BLOCKSIZE:%k=%),4 8 16 64 128 256) |
||
244 | endef |
||
245 | |||
246 | define Build/pad-offset |
||
247 | let \ |
||
248 | size="$$(stat -c%s $@)" \ |
||
249 | pad="$(subst k,* 1024,$(word 1, $(1)))" \ |
||
250 | offset="$(subst k,* 1024,$(word 2, $(1)))" \ |
||
251 | pad="(pad - ((size + offset) % pad)) % pad" \ |
||
252 | newsize='size + pad'; \ |
||
253 | dd if=$@ of=$@.new bs=$$newsize count=1 conv=sync |
||
254 | mv $@.new $@ |
||
255 | endef |
||
256 | |||
257 | define Build/xor-image |
||
258 | $(STAGING_DIR_HOST)/bin/xorimage -i $@ -o $@.xor $(1) |
||
259 | mv $@.xor $@ |
||
260 | endef |
||
261 | |||
262 | define Build/check-size |
||
263 | @[ $$(($(subst k,* 1024,$(subst m, * 1024k,$(1))))) -ge "$$(stat -c%s $@)" ] || { \ |
||
264 | echo "WARNING: Image file $@ is too big" >&2; \ |
||
265 | rm -f $@; \ |
||
266 | } |
||
267 | endef |
||
268 | |||
269 | define Build/combined-image |
||
270 | -sh $(TOPDIR)/scripts/combined-image.sh \ |
||
271 | "$(IMAGE_KERNEL)" \ |
||
272 | "$@" \ |
||
273 | "$@.new" |
||
274 | @mv $@.new $@ |
||
275 | endef |
||
276 | |||
277 | define Build/linksys-image |
||
278 | $(TOPDIR)/scripts/linksys-image.sh \ |
||
279 | "$(call param_get_default,type,$(1),$(DEVICE_NAME))" \ |
||
280 | $@ $@.new |
||
281 | mv $@.new $@ |
||
282 | endef |
||
283 | |||
284 | define Build/openmesh-image |
||
285 | $(TOPDIR)/scripts/om-fwupgradecfg-gen.sh \ |
||
286 | "$(call param_get_default,ce_type,$(1),$(DEVICE_NAME))" \ |
||
287 | "$@-fwupgrade.cfg" \ |
||
288 | "$(call param_get_default,kernel,$(1),$(IMAGE_KERNEL))" \ |
||
289 | "$(call param_get_default,rootfs,$(1),$@)" |
||
290 | $(TOPDIR)/scripts/combined-ext-image.sh \ |
||
291 | "$(call param_get_default,ce_type,$(1),$(DEVICE_NAME))" "$@" \ |
||
292 | "$@-fwupgrade.cfg" "fwupgrade.cfg" \ |
||
293 | "$(call param_get_default,kernel,$(1),$(IMAGE_KERNEL))" "kernel" \ |
||
294 | "$(call param_get_default,rootfs,$(1),$@)" "rootfs" |
||
295 | endef |
||
296 | |||
297 | define Build/qsdk-ipq-factory-nand |
||
298 | $(TOPDIR)/scripts/mkits-qsdk-ipq-image.sh \ |
||
299 | $@.its ubi $@ |
||
300 | PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new |
||
301 | @mv $@.new $@ |
||
302 | endef |
||
303 | |||
304 | define Build/qsdk-ipq-factory-nor |
||
305 | $(TOPDIR)/scripts/mkits-qsdk-ipq-image.sh \ |
||
306 | $@.its hlos $(IMAGE_KERNEL) rootfs $(IMAGE_ROOTFS) |
||
307 | PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new |
||
308 | @mv $@.new $@ |
||
309 | endef |
||
310 | |||
311 | define Build/senao-header |
||
312 | $(STAGING_DIR_HOST)/bin/mksenaofw $(1) -e $@ -o $@.new |
||
313 | mv $@.new $@ |
||
314 | endef |
||
315 | |||
316 | define Build/sysupgrade-tar |
||
317 | sh $(TOPDIR)/scripts/sysupgrade-tar.sh \ |
||
318 | --board $(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)) \ |
||
319 | --kernel $(call param_get_default,kernel,$(1),$(IMAGE_KERNEL)) \ |
||
320 | --rootfs $(call param_get_default,rootfs,$(1),$(IMAGE_ROOTFS)) \ |
||
321 | $@ |
||
322 | endef |
||
323 | |||
324 | define Build/tplink-v1-header |
||
325 | $(STAGING_DIR_HOST)/bin/mktplinkfw \ |
||
326 | -c -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -L $(KERNEL_LOADADDR) \ |
||
327 | -E $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ |
||
328 | -m $(TPLINK_HEADER_VERSION) -N "$(VERSION_DIST)" -V $(REVISION) \ |
||
329 | -k $@ -o $@.new $(1) |
||
330 | @mv $@.new $@ |
||
331 | endef |
||
332 | |||
333 | define Build/tplink-v2-header |
||
334 | $(STAGING_DIR_HOST)/bin/mktplinkfw2 \ |
||
335 | -c -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -L $(KERNEL_LOADADDR) \ |
||
336 | -E $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ |
||
337 | -w $(TPLINK_HWREVADD) -F "$(TPLINK_FLASHLAYOUT)" \ |
||
338 | -T $(TPLINK_HVERSION) -V "ver. 2.0" \ |
||
339 | -k $@ -o $@.new $(1) |
||
340 | @mv $@.new $@ |
||
341 | endef |
||
342 | |||
343 | define Build/tplink-v2-image |
||
344 | $(STAGING_DIR_HOST)/bin/mktplinkfw2 \ |
||
345 | -H $(TPLINK_HWID) -W $(TPLINK_HWREV) \ |
||
346 | -w $(TPLINK_HWREVADD) -F "$(TPLINK_FLASHLAYOUT)" \ |
||
347 | -T $(TPLINK_HVERSION) -V "ver. 2.0" -a 0x4 -j \ |
||
348 | -k $(IMAGE_KERNEL) -r $(IMAGE_ROOTFS) -o $@.new $(1) |
||
349 | cat $@.new >> $@ |
||
350 | rm -rf $@.new |
||
351 | endef |
||
352 | |||
353 | json_quote=$(subst ','\'',$(subst ",\",$(1))) |
||
354 | #")') |
||
355 | metadata_devices=$(if $(1),$(subst "$(space)","$(comma)",$(strip $(foreach v,$(1),"$(call json_quote,$(v))")))) |
||
356 | metadata_json = \ |
||
357 | '{ $(if $(IMAGE_METADATA),$(IMAGE_METADATA)$(comma)) \ |
||
358 | "supported_devices":[$(call metadata_devices,$(1))], \ |
||
359 | "version": { \ |
||
360 | "dist": "$(call json_quote,$(VERSION_DIST))", \ |
||
361 | "version": "$(call json_quote,$(VERSION_NUMBER))", \ |
||
362 | "revision": "$(call json_quote,$(REVISION))", \ |
||
363 | "board": "$(call json_quote,$(BOARD))" \ |
||
364 | } \ |
||
365 | }' |
||
366 | |||
367 | define Build/append-metadata |
||
368 | $(if $(SUPPORTED_DEVICES),-echo $(call metadata_json,$(SUPPORTED_DEVICES)) | fwtool -I - $@) |
||
369 | [ ! -s "$(BUILD_KEY)" -o ! -s "$(BUILD_KEY).ucert" -o ! -s "$@" ] || { \ |
||
370 | cp "$(BUILD_KEY).ucert" "$@.ucert" ;\ |
||
371 | usign -S -m "$@" -s "$(BUILD_KEY)" -x "$@.sig" ;\ |
||
372 | ucert -A -c "$@.ucert" -x "$@.sig" ;\ |
||
373 | fwtool -S "$@.ucert" "$@" ;\ |
||
374 | } |
||
375 | endef |
||
376 | |||
377 | define Build/kernel2minor |
||
378 | kernel2minor -k $@ -r $@.new $(1) |
||
379 | mv $@.new $@ |
||
380 | endef |