image: sort image-commands.mk alphabetically
The definitions in image-commands.mk seem to have no particular order. Sort them alphabetically to make it easier to actually find anything there. No other changes made beyond moving entire blocks. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
		| @@ -7,11 +7,114 @@ define rootfs_align | |||||||
| $(patsubst %-256k,0x40000,$(patsubst %-128k,0x20000,$(patsubst %-64k,0x10000,$(patsubst squashfs%,0x4,$(patsubst root.%,%,$(1)))))) | $(patsubst %-256k,0x40000,$(patsubst %-128k,0x20000,$(patsubst %-64k,0x10000,$(patsubst squashfs%,0x4,$(patsubst root.%,%,$(1)))))) | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/uImage |  | ||||||
| 	mkimage -A $(LINUX_KARCH) \ | define Build/append-dtb | ||||||
| 		-O linux -T kernel \ | 	cat $(KDIR)/image-$(firstword $(DEVICE_DTS)).dtb >> $@ | ||||||
| 		-C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ | endef | ||||||
| 		-n '$(if $(UIMAGE_NAME),$(UIMAGE_NAME),$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION))' -d $@ $@.new |  | ||||||
|  | define Build/append-dtb-elf | ||||||
|  | 	$(TARGET_CROSS)objcopy \ | ||||||
|  | 		--set-section-flags=.appended_dtb=alloc,contents \ | ||||||
|  | 		--update-section \ | ||||||
|  | 		.appended_dtb=$(KDIR)/image-$(firstword $(DEVICE_DTS)).dtb $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/append-kernel | ||||||
|  | 	dd if=$(IMAGE_KERNEL) >> $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | compat_version=$(if $(DEVICE_COMPAT_VERSION),$(DEVICE_COMPAT_VERSION),1.0) | ||||||
|  | json_quote=$(subst ','\'',$(subst ",\",$(1))) | ||||||
|  | #")') | ||||||
|  |  | ||||||
|  | legacy_supported_message=$(SUPPORTED_DEVICES) - Image version mismatch: image $(compat_version), \ | ||||||
|  | 	device 1.0. Please wipe config during upgrade (force required) or reinstall. \ | ||||||
|  | 	$(if $(DEVICE_COMPAT_MESSAGE),Reason: $(DEVICE_COMPAT_MESSAGE),Please check documentation ...) | ||||||
|  |  | ||||||
|  | metadata_devices=$(if $(1),$(subst "$(space)","$(comma)",$(strip $(foreach v,$(1),"$(call json_quote,$(v))")))) | ||||||
|  | metadata_json = \ | ||||||
|  | 	'{ $(if $(IMAGE_METADATA),$(IMAGE_METADATA)$(comma)) \ | ||||||
|  | 		"metadata_version": "1.1", \ | ||||||
|  | 		"compat_version": "$(call json_quote,$(compat_version))", \ | ||||||
|  | 		$(if $(DEVICE_COMPAT_MESSAGE),"compat_message": "$(call json_quote,$(DEVICE_COMPAT_MESSAGE))"$(comma)) \ | ||||||
|  | 		$(if $(filter-out 1.0,$(compat_version)),"new_supported_devices": \ | ||||||
|  | 			[$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma) \ | ||||||
|  | 			"supported_devices": ["$(call json_quote,$(legacy_supported_message))"]$(comma)) \ | ||||||
|  | 		$(if $(filter 1.0,$(compat_version)),"supported_devices":[$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma)) \ | ||||||
|  | 		"version": { \ | ||||||
|  | 			"dist": "$(call json_quote,$(VERSION_DIST))", \ | ||||||
|  | 			"version": "$(call json_quote,$(VERSION_NUMBER))", \ | ||||||
|  | 			"revision": "$(call json_quote,$(REVISION))", \ | ||||||
|  | 			"target": "$(call json_quote,$(TARGETID))", \ | ||||||
|  | 			"board": "$(call json_quote,$(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)))" \ | ||||||
|  | 		} \ | ||||||
|  | 	}' | ||||||
|  |  | ||||||
|  | define Build/append-metadata | ||||||
|  | 	$(if $(SUPPORTED_DEVICES),-echo $(call metadata_json) | fwtool -I - $@) | ||||||
|  | 	[ ! -s "$(BUILD_KEY)" -o ! -s "$(BUILD_KEY).ucert" -o ! -s "$@" ] || { \ | ||||||
|  | 		cp "$(BUILD_KEY).ucert" "$@.ucert" ;\ | ||||||
|  | 		usign -S -m "$@" -s "$(BUILD_KEY)" -x "$@.sig" ;\ | ||||||
|  | 		ucert -A -c "$@.ucert" -x "$@.sig" ;\ | ||||||
|  | 		fwtool -S "$@.ucert" "$@" ;\ | ||||||
|  | 	} | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/append-rootfs | ||||||
|  | 	dd if=$(IMAGE_ROOTFS) >> $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/append-squashfs-fakeroot-be | ||||||
|  | 	rm -rf $@.fakefs $@.fakesquashfs | ||||||
|  | 	mkdir $@.fakefs | ||||||
|  | 	$(STAGING_DIR_HOST)/bin/mksquashfs-lzma \ | ||||||
|  | 		$@.fakefs $@.fakesquashfs \ | ||||||
|  | 		-noappend -root-owned -be -nopad -b 65536 \ | ||||||
|  | 		$(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH)) | ||||||
|  | 	cat $@.fakesquashfs >> $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/append-string | ||||||
|  | 	echo -n $(1) >> $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/append-ubi | ||||||
|  | 	sh $(TOPDIR)/scripts/ubinize-image.sh \ | ||||||
|  | 		$(if $(UBOOTENV_IN_UBI),--uboot-env) \ | ||||||
|  | 		$(if $(KERNEL_IN_UBI),--kernel $(IMAGE_KERNEL)) \ | ||||||
|  | 		$(foreach part,$(UBINIZE_PARTS),--part $(part)) \ | ||||||
|  | 		$(IMAGE_ROOTFS) \ | ||||||
|  | 		$@.tmp \ | ||||||
|  | 		-p $(BLOCKSIZE:%k=%KiB) -m $(PAGESIZE) \ | ||||||
|  | 		$(if $(SUBPAGESIZE),-s $(SUBPAGESIZE)) \ | ||||||
|  | 		$(if $(VID_HDR_OFFSET),-O $(VID_HDR_OFFSET)) \ | ||||||
|  | 		$(UBINIZE_OPTS) | ||||||
|  | 	cat $@.tmp >> $@ | ||||||
|  | 	rm $@.tmp | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/append-uboot | ||||||
|  | 	dd if=$(UBOOT_PATH) >> $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | # append a fake/empty uImage header, to fool bootloaders rootfs integrity check | ||||||
|  | # for example | ||||||
|  | define Build/append-uImage-fakehdr | ||||||
|  | 	$(eval type=$(word 1,$(1))) | ||||||
|  | 	$(eval magic=$(word 2,$(1))) | ||||||
|  | 	touch $@.fakehdr | ||||||
|  | 	$(STAGING_DIR_HOST)/bin/mkimage \ | ||||||
|  | 		-A $(LINUX_KARCH) -O linux -T $(type) -C none \ | ||||||
|  | 		-n '$(VERSION_DIST) fake $(type)' \ | ||||||
|  | 		$(if $(magic),-M $(magic)) \ | ||||||
|  | 		-d $@.fakehdr \ | ||||||
|  | 		-s \ | ||||||
|  | 		$@.fakehdr | ||||||
|  | 	cat $@.fakehdr >> $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/buffalo-dhp-image | ||||||
|  | 	$(STAGING_DIR_HOST)/bin/mkdhpimg $@ $@.new | ||||||
| 	mv $@.new $@ | 	mv $@.new $@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
| @@ -43,9 +146,13 @@ define Build/buffalo-tag-dhp | |||||||
| 	mv $@.new $@ | 	mv $@.new $@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/buffalo-dhp-image | define Build/check-size | ||||||
| 	$(STAGING_DIR_HOST)/bin/mkdhpimg $@ $@.new | 	@imagesize="$$(stat -c%s $@)"; \ | ||||||
| 	mv $@.new $@ | 	limitsize="$$(($(subst k,* 1024,$(subst m, * 1024k,$(if $(1),$(1),$(IMAGE_SIZE))))))"; \ | ||||||
|  | 	[ $$limitsize -ge $$imagesize ] || { \ | ||||||
|  | 		echo "WARNING: Image file $@ is too big: $$imagesize > $$limitsize" >&2; \ | ||||||
|  | 		rm -f $@; \ | ||||||
|  | 	} | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/eva-image | define Build/eva-image | ||||||
| @@ -53,29 +160,73 @@ define Build/eva-image | |||||||
| 	mv $@.new $@ | 	mv $@.new $@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/seama | define Build/fit | ||||||
| 	$(STAGING_DIR_HOST)/bin/seama -i $@ \ | 	$(TOPDIR)/scripts/mkits.sh \ | ||||||
| 		-m "dev=/dev/mtdblock/$(SEAMA_MTDBLOCK)" -m "type=firmware" | 		-D $(DEVICE_NAME) -o $@.its -k $@ \ | ||||||
| 	mv $@.seama $@ | 		$(if $(word 2,$(1)),-d $(word 2,$(1))) -C $(word 1,$(1)) \ | ||||||
|  | 		-a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ | ||||||
|  | 		$(if $(DEVICE_FDT_NUM),-n $(DEVICE_FDT_NUM)) \ | ||||||
|  | 		-c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config@1") \ | ||||||
|  | 		-A $(LINUX_KARCH) -v $(LINUX_VERSION) | ||||||
|  | 	PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new | ||||||
|  | 	@mv $@.new $@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/seama-seal | define Build/gzip | ||||||
| 	$(STAGING_DIR_HOST)/bin/seama -i $@ -s $@.seama \ | 	gzip -f -9n -c $@ $(1) > $@.new | ||||||
| 		-m "signature=$(SEAMA_SIGNATURE)" | 	@mv $@.new $@ | ||||||
| 	mv $@.seama $@ |  | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/zyxel-ras-image | define Build/install-dtb | ||||||
| 	let \ | 	$(call locked, \ | ||||||
| 		newsize="$(subst k,* 1024,$(RAS_ROOTFS_SIZE))"; \ | 		$(foreach dts,$(DEVICE_DTS), \ | ||||||
| 		$(STAGING_DIR_HOST)/bin/mkrasimage \ | 			$(CP) \ | ||||||
| 			-b $(RAS_BOARD) \ | 				$(DTS_DIR)/$(dts).dtb \ | ||||||
| 			-v $(RAS_VERSION) \ | 				$(BIN_DIR)/$(IMG_PREFIX)-$(dts).dtb; \ | ||||||
| 			-r $@ \ | 		), \ | ||||||
| 			-s $$newsize \ | 		install-dtb-$(IMG_PREFIX) \ | ||||||
|  | 	) | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/jffs2 | ||||||
|  | 	rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 && \ | ||||||
|  | 		mkdir -p $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$$(dirname $(1)) && \ | ||||||
|  | 		cp $@ $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$(1) && \ | ||||||
|  | 		$(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad \ | ||||||
|  | 			$(if $(CONFIG_BIG_ENDIAN),--big-endian,--little-endian) \ | ||||||
|  | 			--squash-uids -v -e $(patsubst %k,%KiB,$(BLOCKSIZE)) \ | ||||||
| 			-o $@.new \ | 			-o $@.new \ | ||||||
| 			$(if $(findstring separate-kernel,$(word 1,$(1))),-k $(IMAGE_KERNEL)) \ | 			-d $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 \ | ||||||
| 		&& mv $@.new $@ | 			2>&1 1>/dev/null | awk '/^.+$$$$/' && \ | ||||||
|  | 		$(STAGING_DIR_HOST)/bin/padjffs2 $@.new -J $(patsubst %k,,$(BLOCKSIZE)) | ||||||
|  | 	-rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/ | ||||||
|  | 	@mv $@.new $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/kernel2minor | ||||||
|  | 	kernel2minor -k $@ -r $@.new $(1) | ||||||
|  | 	mv $@.new $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/kernel-bin | ||||||
|  | 	rm -f $@ | ||||||
|  | 	cp $< $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/linksys-image | ||||||
|  | 	$(TOPDIR)/scripts/linksys-image.sh \ | ||||||
|  | 		"$(call param_get_default,type,$(1),$(DEVICE_NAME))" \ | ||||||
|  | 		$@ $@.new | ||||||
|  | 		mv $@.new $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/lzma | ||||||
|  | 	$(call Build/lzma-no-dict,-lc1 -lp2 -pb2 $(1)) | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/lzma-no-dict | ||||||
|  | 	$(STAGING_DIR_HOST)/bin/lzma e $@ $(1) $@.new | ||||||
|  | 	@mv $@.new $@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/netgear-chk | define Build/netgear-chk | ||||||
| @@ -96,170 +247,23 @@ define Build/netgear-dni | |||||||
| 	mv $@.new $@ | 	mv $@.new $@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/append-squashfs-fakeroot-be | define Build/openmesh-image | ||||||
| 	rm -rf $@.fakefs $@.fakesquashfs | 	$(TOPDIR)/scripts/om-fwupgradecfg-gen.sh \ | ||||||
| 	mkdir $@.fakefs | 		"$(call param_get_default,ce_type,$(1),$(DEVICE_NAME))" \ | ||||||
| 	$(STAGING_DIR_HOST)/bin/mksquashfs-lzma \ | 		"$@-fwupgrade.cfg" \ | ||||||
| 		$@.fakefs $@.fakesquashfs \ | 		"$(call param_get_default,kernel,$(1),$(IMAGE_KERNEL))" \ | ||||||
| 		-noappend -root-owned -be -nopad -b 65536 \ | 		"$(call param_get_default,rootfs,$(1),$@)" | ||||||
| 		$(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH)) | 	$(TOPDIR)/scripts/combined-ext-image.sh \ | ||||||
| 	cat $@.fakesquashfs >> $@ | 		"$(call param_get_default,ce_type,$(1),$(DEVICE_NAME))" "$@" \ | ||||||
| endef | 		"$@-fwupgrade.cfg" "fwupgrade.cfg" \ | ||||||
|  | 		"$(call param_get_default,kernel,$(1),$(IMAGE_KERNEL))" "kernel" \ | ||||||
| define Build/append-string | 		"$(call param_get_default,rootfs,$(1),$@)" "rootfs" | ||||||
| 	echo -n $(1) >> $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| # append a fake/empty uImage header, to fool bootloaders rootfs integrity check |  | ||||||
| # for example |  | ||||||
| define Build/append-uImage-fakehdr |  | ||||||
| 	$(eval type=$(word 1,$(1))) |  | ||||||
| 	$(eval magic=$(word 2,$(1))) |  | ||||||
| 	touch $@.fakehdr |  | ||||||
| 	$(STAGING_DIR_HOST)/bin/mkimage \ |  | ||||||
| 		-A $(LINUX_KARCH) -O linux -T $(type) -C none \ |  | ||||||
| 		-n '$(VERSION_DIST) fake $(type)' \ |  | ||||||
| 		$(if $(magic),-M $(magic)) \ |  | ||||||
| 		-d $@.fakehdr \ |  | ||||||
| 		-s \ |  | ||||||
| 		$@.fakehdr |  | ||||||
| 	cat $@.fakehdr >> $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/tplink-safeloader |  | ||||||
| 	-$(STAGING_DIR_HOST)/bin/tplink-safeloader \ |  | ||||||
| 		-B $(TPLINK_BOARD_ID) \ |  | ||||||
| 		-V $(REVISION) \ |  | ||||||
| 		-k $(IMAGE_KERNEL) \ |  | ||||||
| 		-r $@ \ |  | ||||||
| 		-o $@.new \ |  | ||||||
| 		-j \ |  | ||||||
| 		$(wordlist 2,$(words $(1)),$(1)) \ |  | ||||||
| 		$(if $(findstring sysupgrade,$(word 1,$(1))),-S) && mv $@.new $@ || rm -f $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/append-dtb |  | ||||||
| 	cat $(KDIR)/image-$(firstword $(DEVICE_DTS)).dtb >> $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/append-dtb-elf |  | ||||||
| 	$(TARGET_CROSS)objcopy \ |  | ||||||
| 		--set-section-flags=.appended_dtb=alloc,contents \ |  | ||||||
| 		--update-section \ |  | ||||||
| 		.appended_dtb=$(KDIR)/image-$(firstword $(DEVICE_DTS)).dtb $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/install-dtb |  | ||||||
| 	$(call locked, \ |  | ||||||
| 		$(foreach dts,$(DEVICE_DTS), \ |  | ||||||
| 			$(CP) \ |  | ||||||
| 				$(DTS_DIR)/$(dts).dtb \ |  | ||||||
| 				$(BIN_DIR)/$(IMG_PREFIX)-$(dts).dtb; \ |  | ||||||
| 		), \ |  | ||||||
| 		install-dtb-$(IMG_PREFIX) \ |  | ||||||
| 	) |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/fit |  | ||||||
| 	$(TOPDIR)/scripts/mkits.sh \ |  | ||||||
| 		-D $(DEVICE_NAME) -o $@.its -k $@ \ |  | ||||||
| 		$(if $(word 2,$(1)),-d $(word 2,$(1))) -C $(word 1,$(1)) \ |  | ||||||
| 		-a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ |  | ||||||
| 		$(if $(DEVICE_FDT_NUM),-n $(DEVICE_FDT_NUM)) \ |  | ||||||
| 		-c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config@1") \ |  | ||||||
| 		-A $(LINUX_KARCH) -v $(LINUX_VERSION) |  | ||||||
| 	PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new |  | ||||||
| 	@mv $@.new $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/lzma |  | ||||||
| 	$(call Build/lzma-no-dict,-lc1 -lp2 -pb2 $(1)) |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/lzma-no-dict |  | ||||||
| 	$(STAGING_DIR_HOST)/bin/lzma e $@ $(1) $@.new |  | ||||||
| 	@mv $@.new $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/gzip |  | ||||||
| 	gzip -f -9n -c $@ $(1) > $@.new |  | ||||||
| 	@mv $@.new $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/zip |  | ||||||
| 	mkdir $@.tmp |  | ||||||
| 	mv $@ $@.tmp/$(1) |  | ||||||
|  |  | ||||||
| 	zip -j -X \ |  | ||||||
| 		$(if $(SOURCE_DATE_EPOCH),--mtime="$(SOURCE_DATE_EPOCH)") \ |  | ||||||
| 		$@ $@.tmp/$(if $(1),$(1),$@) |  | ||||||
| 	rm -rf $@.tmp |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/jffs2 |  | ||||||
| 	rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 && \ |  | ||||||
| 		mkdir -p $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$$(dirname $(1)) && \ |  | ||||||
| 		cp $@ $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$(1) && \ |  | ||||||
| 		$(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad \ |  | ||||||
| 			$(if $(CONFIG_BIG_ENDIAN),--big-endian,--little-endian) \ |  | ||||||
| 			--squash-uids -v -e $(patsubst %k,%KiB,$(BLOCKSIZE)) \ |  | ||||||
| 			-o $@.new \ |  | ||||||
| 			-d $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 \ |  | ||||||
| 			2>&1 1>/dev/null | awk '/^.+$$$$/' && \ |  | ||||||
| 		$(STAGING_DIR_HOST)/bin/padjffs2 $@.new -J $(patsubst %k,,$(BLOCKSIZE)) |  | ||||||
| 	-rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/ |  | ||||||
| 	@mv $@.new $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/kernel-bin |  | ||||||
| 	rm -f $@ |  | ||||||
| 	cp $< $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/patch-cmdline |  | ||||||
| 	$(STAGING_DIR_HOST)/bin/patch-cmdline $@ '$(CMDLINE)' |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/append-kernel |  | ||||||
| 	dd if=$(IMAGE_KERNEL) >> $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/append-rootfs |  | ||||||
| 	dd if=$(IMAGE_ROOTFS) >> $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/append-ubi |  | ||||||
| 	sh $(TOPDIR)/scripts/ubinize-image.sh \ |  | ||||||
| 		$(if $(UBOOTENV_IN_UBI),--uboot-env) \ |  | ||||||
| 		$(if $(KERNEL_IN_UBI),--kernel $(IMAGE_KERNEL)) \ |  | ||||||
| 		$(foreach part,$(UBINIZE_PARTS),--part $(part)) \ |  | ||||||
| 		$(IMAGE_ROOTFS) \ |  | ||||||
| 		$@.tmp \ |  | ||||||
| 		-p $(BLOCKSIZE:%k=%KiB) -m $(PAGESIZE) \ |  | ||||||
| 		$(if $(SUBPAGESIZE),-s $(SUBPAGESIZE)) \ |  | ||||||
| 		$(if $(VID_HDR_OFFSET),-O $(VID_HDR_OFFSET)) \ |  | ||||||
| 		$(UBINIZE_OPTS) |  | ||||||
| 	cat $@.tmp >> $@ |  | ||||||
| 	rm $@.tmp |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/append-uboot |  | ||||||
| 	dd if=$(UBOOT_PATH) >> $@ |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/pad-to |  | ||||||
| 	$(call Image/pad-to,$@,$(1)) |  | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/pad-extra | define Build/pad-extra | ||||||
| 	dd if=/dev/zero bs=$(1) count=1 >> $@ | 	dd if=/dev/zero bs=$(1) count=1 >> $@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/pad-rootfs |  | ||||||
| 	$(STAGING_DIR_HOST)/bin/padjffs2 $@ $(1) \ |  | ||||||
| 		$(if $(BLOCKSIZE),$(BLOCKSIZE:%k=%),4 8 16 64 128 256) |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/pad-offset | define Build/pad-offset | ||||||
| 	let \ | 	let \ | ||||||
| 		size="$$(stat -c%s $@)" \ | 		size="$$(stat -c%s $@)" \ | ||||||
| @@ -271,38 +275,24 @@ define Build/pad-offset | |||||||
| 	mv $@.new $@ | 	mv $@.new $@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/xor-image | define Build/pad-rootfs | ||||||
| 	$(STAGING_DIR_HOST)/bin/xorimage -i $@ -o $@.xor $(1) | 	$(STAGING_DIR_HOST)/bin/padjffs2 $@ $(1) \ | ||||||
| 	mv $@.xor $@ | 		$(if $(BLOCKSIZE),$(BLOCKSIZE:%k=%),4 8 16 64 128 256) | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/check-size | define Build/pad-to | ||||||
| 	@imagesize="$$(stat -c%s $@)"; \ | 	$(call Image/pad-to,$@,$(1)) | ||||||
| 	limitsize="$$(($(subst k,* 1024,$(subst m, * 1024k,$(if $(1),$(1),$(IMAGE_SIZE))))))"; \ |  | ||||||
| 	[ $$limitsize -ge $$imagesize ] || { \ |  | ||||||
| 		echo "WARNING: Image file $@ is too big: $$imagesize > $$limitsize" >&2; \ |  | ||||||
| 		rm -f $@; \ |  | ||||||
| 	} |  | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/linksys-image | define Build/patch-cmdline | ||||||
| 	$(TOPDIR)/scripts/linksys-image.sh \ | 	$(STAGING_DIR_HOST)/bin/patch-cmdline $@ '$(CMDLINE)' | ||||||
| 		"$(call param_get_default,type,$(1),$(DEVICE_NAME))" \ |  | ||||||
| 		$@ $@.new |  | ||||||
| 		mv $@.new $@ |  | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/openmesh-image | # Convert a raw image into a $1 type image. | ||||||
| 	$(TOPDIR)/scripts/om-fwupgradecfg-gen.sh \ | # E.g. | qemu-image vdi | ||||||
| 		"$(call param_get_default,ce_type,$(1),$(DEVICE_NAME))" \ | define Build/qemu-image | ||||||
| 		"$@-fwupgrade.cfg" \ | 	qemu-img convert -f raw -O $1 $@ $@.new | ||||||
| 		"$(call param_get_default,kernel,$(1),$(IMAGE_KERNEL))" \ | 	@mv $@.new $@ | ||||||
| 		"$(call param_get_default,rootfs,$(1),$@)" |  | ||||||
| 	$(TOPDIR)/scripts/combined-ext-image.sh \ |  | ||||||
| 		"$(call param_get_default,ce_type,$(1),$(DEVICE_NAME))" "$@" \ |  | ||||||
| 		"$@-fwupgrade.cfg" "fwupgrade.cfg" \ |  | ||||||
| 		"$(call param_get_default,kernel,$(1),$(IMAGE_KERNEL))" "kernel" \ |  | ||||||
| 		"$(call param_get_default,rootfs,$(1),$@)" "rootfs" |  | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/qsdk-ipq-factory-nand | define Build/qsdk-ipq-factory-nand | ||||||
| @@ -319,6 +309,18 @@ define Build/qsdk-ipq-factory-nor | |||||||
| 	@mv $@.new $@ | 	@mv $@.new $@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
|  | define Build/seama | ||||||
|  | 	$(STAGING_DIR_HOST)/bin/seama -i $@ \ | ||||||
|  | 		-m "dev=/dev/mtdblock/$(SEAMA_MTDBLOCK)" -m "type=firmware" | ||||||
|  | 	mv $@.seama $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/seama-seal | ||||||
|  | 	$(STAGING_DIR_HOST)/bin/seama -i $@ -s $@.seama \ | ||||||
|  | 		-m "signature=$(SEAMA_SIGNATURE)" | ||||||
|  | 	mv $@.seama $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
| define Build/senao-header | define Build/senao-header | ||||||
| 	$(STAGING_DIR_HOST)/bin/mksenaofw $(1) -e $@ -o $@.new | 	$(STAGING_DIR_HOST)/bin/mksenaofw $(1) -e $@ -o $@.new | ||||||
| 	mv $@.new $@ | 	mv $@.new $@ | ||||||
| @@ -332,6 +334,18 @@ define Build/sysupgrade-tar | |||||||
| 		$@ | 		$@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
|  | define Build/tplink-safeloader | ||||||
|  | 	-$(STAGING_DIR_HOST)/bin/tplink-safeloader \ | ||||||
|  | 		-B $(TPLINK_BOARD_ID) \ | ||||||
|  | 		-V $(REVISION) \ | ||||||
|  | 		-k $(IMAGE_KERNEL) \ | ||||||
|  | 		-r $@ \ | ||||||
|  | 		-o $@.new \ | ||||||
|  | 		-j \ | ||||||
|  | 		$(wordlist 2,$(words $(1)),$(1)) \ | ||||||
|  | 		$(if $(findstring sysupgrade,$(word 1,$(1))),-S) && mv $@.new $@ || rm -f $@ | ||||||
|  | endef | ||||||
|  |  | ||||||
| define Build/tplink-v1-header | define Build/tplink-v1-header | ||||||
| 	$(STAGING_DIR_HOST)/bin/mktplinkfw \ | 	$(STAGING_DIR_HOST)/bin/mktplinkfw \ | ||||||
| 		-c -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -L $(KERNEL_LOADADDR) \ | 		-c -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -L $(KERNEL_LOADADDR) \ | ||||||
| @@ -379,51 +393,38 @@ define Build/tplink-v2-image | |||||||
| 	rm -rf $@.new | 	rm -rf $@.new | ||||||
| endef | endef | ||||||
|  |  | ||||||
| compat_version=$(if $(DEVICE_COMPAT_VERSION),$(DEVICE_COMPAT_VERSION),1.0) | define Build/uImage | ||||||
| json_quote=$(subst ','\'',$(subst ",\",$(1))) | 	mkimage -A $(LINUX_KARCH) \ | ||||||
| #")') | 		-O linux -T kernel \ | ||||||
|  | 		-C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ | ||||||
| legacy_supported_message=$(SUPPORTED_DEVICES) - Image version mismatch: image $(compat_version), \ | 		-n '$(if $(UIMAGE_NAME),$(UIMAGE_NAME),$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION))' -d $@ $@.new | ||||||
| 	device 1.0. Please wipe config during upgrade (force required) or reinstall. \ |  | ||||||
| 	$(if $(DEVICE_COMPAT_MESSAGE),Reason: $(DEVICE_COMPAT_MESSAGE),Please check documentation ...) |  | ||||||
|  |  | ||||||
| metadata_devices=$(if $(1),$(subst "$(space)","$(comma)",$(strip $(foreach v,$(1),"$(call json_quote,$(v))")))) |  | ||||||
| metadata_json = \ |  | ||||||
| 	'{ $(if $(IMAGE_METADATA),$(IMAGE_METADATA)$(comma)) \ |  | ||||||
| 		"metadata_version": "1.1", \ |  | ||||||
| 		"compat_version": "$(call json_quote,$(compat_version))", \ |  | ||||||
| 		$(if $(DEVICE_COMPAT_MESSAGE),"compat_message": "$(call json_quote,$(DEVICE_COMPAT_MESSAGE))"$(comma)) \ |  | ||||||
| 		$(if $(filter-out 1.0,$(compat_version)),"new_supported_devices": \ |  | ||||||
| 			[$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma) \ |  | ||||||
| 			"supported_devices": ["$(call json_quote,$(legacy_supported_message))"]$(comma)) \ |  | ||||||
| 		$(if $(filter 1.0,$(compat_version)),"supported_devices":[$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma)) \ |  | ||||||
| 		"version": { \ |  | ||||||
| 			"dist": "$(call json_quote,$(VERSION_DIST))", \ |  | ||||||
| 			"version": "$(call json_quote,$(VERSION_NUMBER))", \ |  | ||||||
| 			"revision": "$(call json_quote,$(REVISION))", \ |  | ||||||
| 			"target": "$(call json_quote,$(TARGETID))", \ |  | ||||||
| 			"board": "$(call json_quote,$(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)))" \ |  | ||||||
| 		} \ |  | ||||||
| 	}' |  | ||||||
|  |  | ||||||
| define Build/append-metadata |  | ||||||
| 	$(if $(SUPPORTED_DEVICES),-echo $(call metadata_json) | fwtool -I - $@) |  | ||||||
| 	[ ! -s "$(BUILD_KEY)" -o ! -s "$(BUILD_KEY).ucert" -o ! -s "$@" ] || { \ |  | ||||||
| 		cp "$(BUILD_KEY).ucert" "$@.ucert" ;\ |  | ||||||
| 		usign -S -m "$@" -s "$(BUILD_KEY)" -x "$@.sig" ;\ |  | ||||||
| 		ucert -A -c "$@.ucert" -x "$@.sig" ;\ |  | ||||||
| 		fwtool -S "$@.ucert" "$@" ;\ |  | ||||||
| 	} |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Build/kernel2minor |  | ||||||
| 	kernel2minor -k $@ -r $@.new $(1) |  | ||||||
| 	mv $@.new $@ | 	mv $@.new $@ | ||||||
| endef | endef | ||||||
|  |  | ||||||
| # Convert a raw image into a $1 type image. | define Build/xor-image | ||||||
| # E.g. | qemu-image vdi | 	$(STAGING_DIR_HOST)/bin/xorimage -i $@ -o $@.xor $(1) | ||||||
| define Build/qemu-image | 	mv $@.xor $@ | ||||||
| 	qemu-img convert -f raw -O $1 $@ $@.new | endef | ||||||
| 	@mv $@.new $@ |  | ||||||
|  | define Build/zip | ||||||
|  | 	mkdir $@.tmp | ||||||
|  | 	mv $@ $@.tmp/$(1) | ||||||
|  |  | ||||||
|  | 	zip -j -X \ | ||||||
|  | 		$(if $(SOURCE_DATE_EPOCH),--mtime="$(SOURCE_DATE_EPOCH)") \ | ||||||
|  | 		$@ $@.tmp/$(if $(1),$(1),$@) | ||||||
|  | 	rm -rf $@.tmp | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Build/zyxel-ras-image | ||||||
|  | 	let \ | ||||||
|  | 		newsize="$(subst k,* 1024,$(RAS_ROOTFS_SIZE))"; \ | ||||||
|  | 		$(STAGING_DIR_HOST)/bin/mkrasimage \ | ||||||
|  | 			-b $(RAS_BOARD) \ | ||||||
|  | 			-v $(RAS_VERSION) \ | ||||||
|  | 			-r $@ \ | ||||||
|  | 			-s $$newsize \ | ||||||
|  | 			-o $@.new \ | ||||||
|  | 			$(if $(findstring separate-kernel,$(word 1,$(1))),-k $(IMAGE_KERNEL)) \ | ||||||
|  | 		&& mv $@.new $@ | ||||||
| endef | endef | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Adrian Schmutzler
					Adrian Schmutzler