From ecdd93874f434fc200c811392cc83f255f26a4c9 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Thu, 26 Apr 2018 13:52:55 -0300 Subject: [PATCH] wic: Fix image generation for i.MX MXS SoC family The image needs to use the U-Boot generated, for the uSD card, so a dependency on that must be added to ensure the file is available prior 'wic' uses it. Besides that, the fstype needs to be changed so it sets the partition mark allowing the bootrom to find it. Signed-off-by: Otavio Salvador --- classes/image_types_fsl.bbclass | 14 ++++++++++++++ conf/machine/include/imx-base.inc | 2 +- ...-bootpart.wks => imx-uboot-mxs-bootpart.wks.in} | 2 +- wic/{imx-uboot-mxs.wks => imx-uboot-mxs.wks.in} | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) rename wic/{imx-uboot-mxs-bootpart.wks => imx-uboot-mxs-bootpart.wks.in} (85%) rename wic/{imx-uboot-mxs.wks => imx-uboot-mxs.wks.in} (81%) diff --git a/classes/image_types_fsl.bbclass b/classes/image_types_fsl.bbclass index 4709af95..e7627200 100644 --- a/classes/image_types_fsl.bbclass +++ b/classes/image_types_fsl.bbclass @@ -312,3 +312,17 @@ IMAGE_TYPEDEP_sdcard_append = " \ ${@bb.utils.contains('IMAGE_FSTYPES', 'uboot-mxsboot-sdcard', 'uboot-mxsboot-sdcard', '', d)} \ ${@bb.utils.contains('IMAGE_FSTYPES', 'barebox-mxsboot-sdcard', 'barebox-mxsboot-sdcard', '', d)} \ " + +# In case we are building for i.MX23 or i.MX28 we need to have the +# image stream built before the wic generation +do_image_wic[depends] += " \ + ${@bb.utils.contains('IMAGE_FSTYPES', 'uboot-mxsboot-sdcard', \ + '${IMAGE_BASENAME}:do_image_uboot_mxsboot_sdcard', '', d)} \ +" + +# We need to apply a fixup inside of the partition table +IMAGE_CMD_wic_append_mxs() { + # Change partition type for mxs processor family + bbnote "Setting partition type to 0x53 as required for mxs' SoC family." + echo -n S | dd of=$out${IMAGE_NAME_SUFFIX}.wic bs=1 count=1 seek=450 conv=notrunc +} diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index d14cd53f..facbe145 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc @@ -291,7 +291,7 @@ WKS_FILE_DEPENDS ?= " \ " SOC_DEFAULT_WKS_FILE ?= "imx-uboot-bootpart.wks" -SOC_DEFAULT_WKS_FILE_mxs ?= "imx-uboot-mxs-bootpart.wks" +SOC_DEFAULT_WKS_FILE_mxs ?= "imx-uboot-mxs-bootpart.wks.in" WKS_FILE ?= "${SOC_DEFAULT_WKS_FILE}" diff --git a/wic/imx-uboot-mxs-bootpart.wks b/wic/imx-uboot-mxs-bootpart.wks.in similarity index 85% rename from wic/imx-uboot-mxs-bootpart.wks rename to wic/imx-uboot-mxs-bootpart.wks.in index 0e96ab3a..8b5bdd48 100644 --- a/wic/imx-uboot-mxs-bootpart.wks +++ b/wic/imx-uboot-mxs-bootpart.wks.in @@ -12,7 +12,7 @@ # | | | | # 0 1kiB 4MiB 16MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB) # -part u-boot --source rawcopy --sourceparams="file=u-boot.sb" --ondisk mmcblk --no-table --align 1 +part u-boot --source rawcopy --sourceparams="file=${IMAGE_NAME}.rootfs.uboot-mxsboot-sdcard" --ondisk mmcblk --align 1024 part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 16 part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096 diff --git a/wic/imx-uboot-mxs.wks b/wic/imx-uboot-mxs.wks.in similarity index 81% rename from wic/imx-uboot-mxs.wks rename to wic/imx-uboot-mxs.wks.in index 0f5c51d4..44b6f931 100644 --- a/wic/imx-uboot-mxs.wks +++ b/wic/imx-uboot-mxs.wks.in @@ -12,7 +12,7 @@ # | | | | # 0 1kiB 4MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB) # -part u-boot --source rawcopy --sourceparams="file=u-boot.sb" --ondisk mmcblk --no-table --align 1 +part u-boot --source rawcopy --sourceparams="file=${IMAGE_NAME}.rootfs.uboot-mxsboot-sdcard" --ondisk mmcblk --align 1024 part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096 bootloader --ptable msdos -- 2.40.1