From 8af6dfc01c01b2d6b476cd3e87de1604f8e48564 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Fri, 30 Oct 2020 19:21:37 +0100 Subject: [PATCH] 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 --- include/image-commands.mk | 509 +++++++++++++++++++------------------- 1 file changed, 255 insertions(+), 254 deletions(-) diff --git a/include/image-commands.mk b/include/image-commands.mk index 454ce79e07..438f1e87e4 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -7,11 +7,114 @@ define rootfs_align $(patsubst %-256k,0x40000,$(patsubst %-128k,0x20000,$(patsubst %-64k,0x10000,$(patsubst squashfs%,0x4,$(patsubst root.%,%,$(1)))))) endef -define Build/uImage - mkimage -A $(LINUX_KARCH) \ - -O linux -T kernel \ - -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ - -n '$(if $(UIMAGE_NAME),$(UIMAGE_NAME),$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION))' -d $@ $@.new + +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/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 $@ endef @@ -43,9 +146,13 @@ define Build/buffalo-tag-dhp mv $@.new $@ endef -define Build/buffalo-dhp-image - $(STAGING_DIR_HOST)/bin/mkdhpimg $@ $@.new - mv $@.new $@ +define Build/check-size + @imagesize="$$(stat -c%s $@)"; \ + 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 define Build/eva-image @@ -53,29 +160,73 @@ define Build/eva-image mv $@.new $@ endef -define Build/seama - $(STAGING_DIR_HOST)/bin/seama -i $@ \ - -m "dev=/dev/mtdblock/$(SEAMA_MTDBLOCK)" -m "type=firmware" - mv $@.seama $@ +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/seama-seal - $(STAGING_DIR_HOST)/bin/seama -i $@ -s $@.seama \ - -m "signature=$(SEAMA_SIGNATURE)" - mv $@.seama $@ +define Build/gzip + gzip -f -9n -c $@ $(1) > $@.new + @mv $@.new $@ 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 \ +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/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 \ - $(if $(findstring separate-kernel,$(word 1,$(1))),-k $(IMAGE_KERNEL)) \ - && mv $@.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/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 define Build/netgear-chk @@ -96,170 +247,23 @@ define Build/netgear-dni mv $@.new $@ 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 - -# 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)) +define Build/openmesh-image + $(TOPDIR)/scripts/om-fwupgradecfg-gen.sh \ + "$(call param_get_default,ce_type,$(1),$(DEVICE_NAME))" \ + "$@-fwupgrade.cfg" \ + "$(call param_get_default,kernel,$(1),$(IMAGE_KERNEL))" \ + "$(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 define Build/pad-extra dd if=/dev/zero bs=$(1) count=1 >> $@ 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 let \ size="$$(stat -c%s $@)" \ @@ -271,38 +275,24 @@ define Build/pad-offset mv $@.new $@ endef -define Build/xor-image - $(STAGING_DIR_HOST)/bin/xorimage -i $@ -o $@.xor $(1) - mv $@.xor $@ +define Build/pad-rootfs + $(STAGING_DIR_HOST)/bin/padjffs2 $@ $(1) \ + $(if $(BLOCKSIZE),$(BLOCKSIZE:%k=%),4 8 16 64 128 256) endef -define Build/check-size - @imagesize="$$(stat -c%s $@)"; \ - 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 $@; \ - } +define Build/pad-to + $(call Image/pad-to,$@,$(1)) endef -define Build/linksys-image - $(TOPDIR)/scripts/linksys-image.sh \ - "$(call param_get_default,type,$(1),$(DEVICE_NAME))" \ - $@ $@.new - mv $@.new $@ +define Build/patch-cmdline + $(STAGING_DIR_HOST)/bin/patch-cmdline $@ '$(CMDLINE)' endef -define Build/openmesh-image - $(TOPDIR)/scripts/om-fwupgradecfg-gen.sh \ - "$(call param_get_default,ce_type,$(1),$(DEVICE_NAME))" \ - "$@-fwupgrade.cfg" \ - "$(call param_get_default,kernel,$(1),$(IMAGE_KERNEL))" \ - "$(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" +# Convert a raw image into a $1 type image. +# E.g. | qemu-image vdi +define Build/qemu-image + qemu-img convert -f raw -O $1 $@ $@.new + @mv $@.new $@ endef define Build/qsdk-ipq-factory-nand @@ -319,6 +309,18 @@ define Build/qsdk-ipq-factory-nor @mv $@.new $@ 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 $(STAGING_DIR_HOST)/bin/mksenaofw $(1) -e $@ -o $@.new mv $@.new $@ @@ -332,6 +334,18 @@ define Build/sysupgrade-tar $@ 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 $(STAGING_DIR_HOST)/bin/mktplinkfw \ -c -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -L $(KERNEL_LOADADDR) \ @@ -379,51 +393,38 @@ define Build/tplink-v2-image rm -rf $@.new 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/kernel2minor - kernel2minor -k $@ -r $@.new $(1) +define Build/uImage + mkimage -A $(LINUX_KARCH) \ + -O linux -T kernel \ + -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ + -n '$(if $(UIMAGE_NAME),$(UIMAGE_NAME),$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION))' -d $@ $@.new mv $@.new $@ endef -# Convert a raw image into a $1 type image. -# E.g. | qemu-image vdi -define Build/qemu-image - qemu-img convert -f raw -O $1 $@ $@.new - @mv $@.new $@ +define Build/xor-image + $(STAGING_DIR_HOST)/bin/xorimage -i $@ -o $@.xor $(1) + mv $@.xor $@ +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/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