@@ -10,11 +10,33 @@ FAT32_BLOCKS=$(shell echo $$(($(CONFIG_MXS_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_B
KERNEL_LOADADDR:=0x40008000
+define Build/mxs-ext4-rootfs-with-boot
+ rm -rf $(call mkfs_target_dir,$(1))/boot
+ mkdir -p $(call mkfs_target_dir,$(1))/boot
+ $(CP) --no-preserve=mode $(KDIR)/$(KERNEL_NAME) $(call mkfs_target_dir,$(1))/boot/
+ $(foreach dts,$(DEVICE_DTS), \
+ $(CP) \
+ $(DTS_DIR)/$(dts).dtb \
+ $(call mkfs_target_dir,$(1))/boot/; \
+ )
+
+ rm -rf $@.rootfs
+ $(STAGING_DIR_HOST)/bin/make_ext4fs -L rootfs \
+ -l $(ROOTFS_PARTSIZE) -b $(CONFIG_TARGET_EXT4_BLOCKSIZE) \
+ $(if $(CONFIG_TARGET_EXT4_RESERVED_PCT),-m $(CONFIG_TARGET_EXT4_RESERVED_PCT)) \
+ $(if $(CONFIG_TARGET_EXT4_JOURNAL),,-J) \
+ $(if $(SOURCE_DATE_EPOCH),-T $(SOURCE_DATE_EPOCH)) \
+ $@.rootfs $(call mkfs_target_dir,$(1))/
+ mv $@.rootfs $@
+endef
+
define Build/mxs-sdcard-ext4-ext4
+ mv $@ $@.rootfs
+
./gen_sdcard_ext4_ext4.sh \
$@ \
$(STAGING_DIR_IMAGE)/$(DEVICE_NAME)/u-boot.sb \
- $(IMAGE_ROOTFS) \
+ $@.rootfs \
$(CONFIG_TARGET_ROOTFS_PARTSIZE)
endef
@@ -50,8 +72,9 @@ define Device/i2se_duckbill
uboot-envtools kmod-leds-gpio -kmod-ipt-nathelper
SUPPORTED_DEVICES:=i2se,duckbill
SOC:=imx28
- DEVICE_DTS:=imx28-duckbill
- IMAGE/sdcard.img.gz = mxs-sdcard-ext4-ext4 | append-metadata | gzip
+ KERNEL := kernel-bin
+ DEVICE_DTS:=imx28-duckbill imx28-duckbill-2 imx28-duckbill-2-485 imx28-duckbill-2-spi
+ IMAGE/sdcard.img.gz = mxs-ext4-rootfs-with-boot | mxs-sdcard-ext4-ext4 | append-metadata | gzip
endef
TARGET_DEVICES += i2se_duckbill
The standard U-Boot boot scripts for Duckbills expect the Linux kernel and device tree files installed below /boot within the (ext4) root filesystem. Also a raw zImage is expected instead of uImage. Extend the SD card generation accordingly and while at, install all possible Duckbill DT blobs there. Signed-off-by: Michael Heimpold <mhei@heimpold.de> --- target/linux/mxs/image/Makefile | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-)