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 <lech.perczak@gmail.com>
This commit is contained in:
Lech Perczak 2022-04-28 23:31:34 +02:00 committed by Piotr Dymacz
parent 2e297377bf
commit d545825cb3
3 changed files with 59 additions and 56 deletions

View File

@ -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

View File

@ -1,3 +1,5 @@
include common.mk
define Device/Default
PROFILES := Default
FILESYSTEMS := squashfs ext4

View File

@ -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