From d545825cb36bb119d7941386c017ffa8b24c810d Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Thu, 28 Apr 2022 23:31:34 +0200 Subject: [PATCH] imx: extract common combined image operations between subtargets The same combined image format can be used to boot both i.MX 6 and i.MX 7 platforms - extract the common part. Signed-off-by: Lech Perczak --- target/linux/imx/image/common.mk | 51 ++++++++++++++++++++++++ target/linux/imx/image/cortexa7.mk | 2 + target/linux/imx/image/cortexa9.mk | 62 +++--------------------------- 3 files changed, 59 insertions(+), 56 deletions(-) create mode 100644 target/linux/imx/image/common.mk diff --git a/target/linux/imx/image/common.mk b/target/linux/imx/image/common.mk new file mode 100644 index 0000000000..8a9b260584 --- /dev/null +++ b/target/linux/imx/image/common.mk @@ -0,0 +1,51 @@ +define Build/imx-combined-image-prepare + rm -rf $@.boot + mkdir -p $@.boot +endef + +define Build/imx-combined-image-clean + rm -rf $@.boot $@.fs +endef + +define Build/imx-combined-image + $(CP) $(IMAGE_KERNEL) $@.boot/uImage + + $(foreach dts,$(DEVICE_DTS), \ + $(CP) \ + $(DTS_DIR)/$(dts).dtb \ + $@.boot/; + ) + + mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ + -n '$(DEVICE_ID) OpenWrt bootscript' \ + -d bootscript-$(DEVICE_NAME) \ + $@.boot/boot.scr + + cp $@ $@.fs + + $(SCRIPT_DIR)/gen_image_generic.sh $@ \ + $(CONFIG_TARGET_KERNEL_PARTSIZE) \ + $@.boot \ + $(CONFIG_TARGET_ROOTFS_PARTSIZE) \ + $@.fs \ + 1024 +endef + +define Build/imx-sdcard + $(Build/imx-combined-image-prepare) + + if [ -f $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img ]; then \ + $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img \ + $@.boot/u-boot.img; \ + fi + + if [ -f $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot-dtb.img ]; then \ + $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot-dtb.img \ + $@.boot/u-boot-dtb.img; \ + fi + + $(Build/imx-combined-image) + dd if=$(STAGING_DIR_IMAGE)/$(UBOOT)-SPL of=$@ bs=1024 seek=1 conv=notrunc + + $(Build/imx-combined-image-clean) +endef diff --git a/target/linux/imx/image/cortexa7.mk b/target/linux/imx/image/cortexa7.mk index 063b89fdd6..9b2159c540 100644 --- a/target/linux/imx/image/cortexa7.mk +++ b/target/linux/imx/image/cortexa7.mk @@ -1,3 +1,5 @@ +include common.mk + define Device/Default PROFILES := Default FILESYSTEMS := squashfs ext4 diff --git a/target/linux/imx/image/cortexa9.mk b/target/linux/imx/image/cortexa9.mk index 17a507b8da..78079aa746 100644 --- a/target/linux/imx/image/cortexa9.mk +++ b/target/linux/imx/image/cortexa9.mk @@ -1,5 +1,7 @@ DEVICE_VARS += MKUBIFS_OPTS UBOOT +include common.mk + define Build/boot-overlay rm -rf $@.boot mkdir -p $@.boot @@ -44,62 +46,10 @@ define Build/recovery-scr -d ./recovery-$(DEVICE_NAME) $@ endef -define Build/imx6-combined-image-prepare - rm -rf $@.boot - mkdir -p $@.boot -endef - -define Build/imx6-combined-image-clean - rm -rf $@.boot $@.fs -endef - -define Build/imx6-combined-image - $(CP) $(IMAGE_KERNEL) $@.boot/uImage - - $(foreach dts,$(DEVICE_DTS), \ - $(CP) \ - $(DTS_DIR)/$(dts).dtb \ - $@.boot/; - ) - - mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ - -n '$(DEVICE_ID) OpenWrt bootscript' \ - -d bootscript-$(DEVICE_NAME) \ - $@.boot/boot.scr - - cp $@ $@.fs - - $(SCRIPT_DIR)/gen_image_generic.sh $@ \ - $(CONFIG_TARGET_KERNEL_PARTSIZE) \ - $@.boot \ - $(CONFIG_TARGET_ROOTFS_PARTSIZE) \ - $@.fs \ - 1024 -endef - -define Build/imx6-sdcard - $(Build/imx6-combined-image-prepare) - - if [ -f $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img ]; then \ - $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img \ - $@.boot/u-boot.img; \ - fi - - if [ -f $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot-dtb.img ]; then \ - $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot-dtb.img \ - $@.boot/u-boot-dtb.img; \ - fi - - $(Build/imx6-combined-image) - dd if=$(STAGING_DIR_IMAGE)/$(UBOOT)-SPL of=$@ bs=1024 seek=1 conv=notrunc - - $(Build/imx6-combined-image-clean) -endef - define Build/apalis-emmc - $(Build/imx6-combined-image-prepare) - $(Build/imx6-combined-image) - $(Build/imx6-combined-image-clean) + $(Build/imx-combined-image-prepare) + $(Build/imx-combined-image) + $(Build/imx-combined-image-clean) endef @@ -184,7 +134,7 @@ define Device/solidrun_cubox-i KERNEL_SUFFIX := -zImage FILESYSTEMS := squashfs IMAGES := combined.bin dtb - IMAGE/combined.bin := append-rootfs | pad-extra 128k | imx6-sdcard + IMAGE/combined.bin := append-rootfs | pad-extra 128k | imx-sdcard IMAGE/dtb := install-dtb endef TARGET_DEVICES += solidrun_cubox-i -- 2.30.2