From 4b0a022021f50d789b6acd15625b37f87991ea85 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Thu, 26 Apr 2018 13:52:55 -0300 Subject: 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 (cherry picked from commit ecdd93874f434fc200c811392cc83f255f26a4c9) --- classes/image_types_fsl.bbclass | 14 ++++++++++++++ conf/machine/include/imx-base.inc | 2 +- wic/imx-uboot-mxs-bootpart.wks | 19 ------------------- wic/imx-uboot-mxs-bootpart.wks.in | 19 +++++++++++++++++++ wic/imx-uboot-mxs.wks | 18 ------------------ wic/imx-uboot-mxs.wks.in | 18 ++++++++++++++++++ 6 files changed, 52 insertions(+), 38 deletions(-) delete mode 100644 wic/imx-uboot-mxs-bootpart.wks create mode 100644 wic/imx-uboot-mxs-bootpart.wks.in delete mode 100644 wic/imx-uboot-mxs.wks create mode 100644 wic/imx-uboot-mxs.wks.in diff --git a/classes/image_types_fsl.bbclass b/classes/image_types_fsl.bbclass index 4709af952..e7627200b 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 d14cd53fc..facbe1454 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 deleted file mode 100644 index 0e96ab3aa..000000000 --- a/wic/imx-uboot-mxs-bootpart.wks +++ /dev/null @@ -1,19 +0,0 @@ -# short-description: Create SD card image with a boot partition -# long-description: -# Create an image that can be written onto a SD card using dd for use -# with i.MX SoC family -# It uses u-boot -# -# The disk layout used is: -# - --------- -------------- -------------- -# | | u-boot | boot | rootfs | -# - --------- -------------- -------------- -# ^ ^ ^ ^ -# | | | | -# 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 /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 - -bootloader --ptable msdos diff --git a/wic/imx-uboot-mxs-bootpart.wks.in b/wic/imx-uboot-mxs-bootpart.wks.in new file mode 100644 index 000000000..8b5bdd487 --- /dev/null +++ b/wic/imx-uboot-mxs-bootpart.wks.in @@ -0,0 +1,19 @@ +# short-description: Create SD card image with a boot partition +# long-description: +# Create an image that can be written onto a SD card using dd for use +# with i.MX SoC family +# It uses u-boot +# +# The disk layout used is: +# - --------- -------------- -------------- +# | | u-boot | boot | rootfs | +# - --------- -------------- -------------- +# ^ ^ ^ ^ +# | | | | +# 0 1kiB 4MiB 16MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB) +# +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 + +bootloader --ptable msdos diff --git a/wic/imx-uboot-mxs.wks b/wic/imx-uboot-mxs.wks deleted file mode 100644 index 0f5c51d47..000000000 --- a/wic/imx-uboot-mxs.wks +++ /dev/null @@ -1,18 +0,0 @@ -# short-description: Create SD card image without a boot partition -# long-description: -# Create an image that can be written onto a SD card using dd for use -# with i.MX SoC family -# It uses u-boot -# -# The disk layout used is: -# - --------- -------------- -# | | u-boot | rootfs | -# - --------- -------------- -# ^ ^ ^ ^ -# | | | | -# 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 / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096 - -bootloader --ptable msdos diff --git a/wic/imx-uboot-mxs.wks.in b/wic/imx-uboot-mxs.wks.in new file mode 100644 index 000000000..44b6f9319 --- /dev/null +++ b/wic/imx-uboot-mxs.wks.in @@ -0,0 +1,18 @@ +# short-description: Create SD card image without a boot partition +# long-description: +# Create an image that can be written onto a SD card using dd for use +# with i.MX SoC family +# It uses u-boot +# +# The disk layout used is: +# - --------- -------------- +# | | u-boot | rootfs | +# - --------- -------------- +# ^ ^ ^ ^ +# | | | | +# 0 1kiB 4MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB) +# +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 -- cgit v1.2.3-54-g00ecf