imx: image: ventana: add blkdev compressed disk image
authorTim Harvey <tharvey@gateworks.com>
Fri, 17 Feb 2023 22:03:46 +0000 (14:03 -0800)
committerChristian Lamparter <chunkeey@gmail.com>
Thu, 18 May 2023 15:11:43 +0000 (17:11 +0200)
Add a ventana-img.gz compressed disk image to support
squashfs+ext4 on a block storage device such as USB/MMC/SATA.

The Ventana bootloader expects the bootscript to be
boot/6x_bootscript-ventana therefore we must create a bootfs
that matches this.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
target/linux/imx/image/cortexa9.mk

index 78079aa746b9ec5982dc3f28c6be5259b454264b..2edbbaac4765cf56eb5a88a61a84bffb80913195 100644 (file)
@@ -52,6 +52,29 @@ define Build/apalis-emmc
        $(Build/imx-combined-image-clean)
 endef
 
+define Build/ventana-img
+       rm -rf $@.boot
+       mkdir -p $@.boot/boot
+       $(CP) $(IMAGE_KERNEL) $@.boot/boot/uImage
+       $(foreach dts,$(DEVICE_DTS), \
+               $(CP) \
+                       $(DTS_DIR)/$(dts).dtb \
+                       $@.boot/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/6x_bootscript-ventana
+       cp $@ $@.fs
+
+       $(SCRIPT_DIR)/gen_image_generic.sh $@ \
+               $(CONFIG_TARGET_KERNEL_PARTSIZE) \
+               $@.boot \
+               $(CONFIG_TARGET_ROOTFS_PARTSIZE) \
+               $@.fs \
+               1024
+       $(Build/imx-combined-image-clean)
+endef
 
 define Device/Default
   PROFILES := Default
@@ -99,10 +122,11 @@ define Device/gateworks_ventana
        kmod-sound-soc-imx-sgtl5000 kmod-can kmod-can-flexcan kmod-can-raw \
        kmod-hwmon-gsc kmod-leds-gpio kmod-pps-gpio kobs-ng
   KERNEL += | boot-overlay
-  IMAGES := nand.ubi bootfs.tar.gz dtb
+  IMAGES := img.gz nand.ubi bootfs.tar.gz dtb
   IMAGE/nand.ubi := append-ubi
   IMAGE/bootfs.tar.gz := bootfs.tar.gz
   IMAGE/dtb := install-dtb
+  IMAGE/img.gz := append-rootfs | pad-extra 128k | ventana-img | gzip
   UBINIZE_PARTS = boot=$$(KDIR_KERNEL_IMAGE).boot.ubifs=15
   PAGESIZE := 2048
   BLOCKSIZE := 128k