imx/post-image: Allow flashing u-boot-dtb.imx in the SD card
Fabio Estevam
reviewerPATCH v2 1/2 imx/post-image: Allow flashing u-boot-dtb.imx in the SD card
Add support for flashing the u-boot-dtb.imx binary in the SD card when a target selects BR2_TARGET_UBOOT_FORMAT_DTB_IMX.
---
Changes since v1:
- Use a UBOOTBIN variable to decide the U-Boot binary name instead of creating a new genimage.cfg variant. (Thanks to Arnout!)
board/freescale/common/imx/genimage.cfg.template | 2 +- board/freescale/common/imx/post-image.sh | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-)
board/freescale/common/imx/genimage.cfg.template +1 -1
@@ -22,7 +22,7 @@ image sdcard.img { partition u-boot { in-partition-table = "no" - image = "u-boot.imx" + image = "%UBOOTBIN%" offset = 1024 }
board/freescale/common/imx/post-image.sh +11 -0
@@ -41,13 +41,24 @@ genimage_type() fi } +uboot_image() +{ + if grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y$" ${BR2_CONFIG}; then + echo "u-boot-dtb.imx" + elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMX=y$" ${BR2_CONFIG}; then + echo "u-boot.imx" + fi +} + main() { local FILES="$(dtb_list) $(linux_image)" + local UBOOTBIN="$(uboot_image)" local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" sed -e "s/%FILES%/${FILES}/" \ + -e "s/%UBOOTBIN%/${UBOOTBIN}/" \ board/freescale/common/imx/$(genimage_type) > ${GENIMAGE_CFG} rm -rf "${GENIMAGE_TMP}"
Signature · 1 line
2.7.4
Fabio Estevam
reviewerPATCH v2 1/2 imx/post-image: Allow flashing u-boot-dtb.imx in the SD card
Hi Arnout,
Quoted 8 lines · Fabio Estevam
Add support for flashing the u-boot-dtb.imx binary in the SD card when a target selects
BR2_TARGET_UBOOT_FORMAT_DTB_IMX.Signed-off-by Fabio Estevam <[email protected]>---
Changes since v1:
- Use a UBOOTBIN variable to decide the U-Boot binary name instead of creating a new genimage.cfg variant. (Thanks to Arnout!)
Are you happy with this version?
Thanks
Fabio Estevam
reviewerPATCH v2 2/2 configs/imx7d-sdb: Add new defconfig
In reply to Fabio EstevamIntroduce imx7d-sdb_defconfig that allows booting imx7d-sdb board using U-Boot and kernel mainline instead of the vendor provided versions.
---
Changes since v1:
- None
configs/imx7d-sdb_defconfig | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 configs/imx7d-sdb_defconfig
configs/imx7d-sdb_defconfig new file +36 -0
@@ -0,0 +1,36 @@ +# architecture +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y + +# Linux headers same as kernel, a 4.17 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y + +# system +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.17.4" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-sdb" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# U-Boot +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="mx7dsabresd" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" +BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y + +# Filesystem +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y + +# required tools to create the eMMC image +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y
Signature · 1 line
2.7.4
PATCH v2 2/2 configs/imx7d-sdb: Add new defconfig
Hello,
Quoted 8 lines · Fabio Estevam
Introduce imx7d-sdb_defconfig that allows booting imx7d-sdb board using U-Boot and kernel mainline instead of the vendor provided versions.
Signed-off-by Fabio Estevam <[email protected]>---
Changes since v1:
- None
This was lacking the update to the DEVELOPERS file and to the .gitlab-ci.yml file, so I fixed that and applied. Thanks!
However, I find the naming a bit strange. If I understand correctly freescale_imx7dsabresd_defconfig and imx7d-sdb_defconfig are for the same board, the former using the vendor kernel, the latter using the mainline kernel. If that's the case, why isn't the defconfig having the same name, except for the freescale_ prefix ?
Also, the board folder is named "imx7dsdb", which isn't very consistent.
Could you clarify this and perhaps increase the consistency ?
Thanks a lot!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
Fabio Estevam
reviewerPATCH v2 2/2 configs/imx7d-sdb: Add new defconfig
Hi Thomas,
Quoted 2 lines · Thomas Petazzoni
This was lacking the update to the DEVELOPERS file and to the .gitlab-ci.yml file, so I fixed that and applied. Thanks!
Ops, thanks for fixing these points!
Quoted 5 lines
However, I find the naming a bit strange. If I understand correctly
freescale_imx7dsabresd_defconfigand imx7d-sdb_defconfig are for the same board, the former using the vendor kernel, the latter using the mainline kernel. If that's the case, why isn't the defconfig having the same name, except for thefreescale_prefix ?
For boards that use mainline kernel and U-Boot I try to name its Buildroot defconfig using the same convention used in its device tree:
<soc>-<board>, so that is why I used imx7d-sdb_defconfig.
Quoted 1 line
Also, the board folder is named "imx7dsdb", which isn't very consistent.
Yes, I can change it to "imx7d-sdb" for better consistency.
Thanks
PATCH v2 2/2 configs/imx7d-sdb: Add new defconfig
Hello,
Quoted 9 lines · Fabio Estevam
Quoted 5 lines
However, I find the naming a bit strange. If I understand correctly
freescale_imx7dsabresd_defconfigand imx7d-sdb_defconfig are for the same board, the former using the vendor kernel, the latter using the mainline kernel. If that's the case, why isn't the defconfig having the same name, except for thefreescale_prefix ?For boards that use mainline kernel and U-Boot I try to name its Buildroot defconfig using the same convention used in its device tree:
<soc>-<board>, so that is why I used imx7d-sdb_defconfig.
That makes sense. So I guess the DT name in the vendor kernel is different, and that's why our defconfigs have a different name between the vendor and mainline variants for a given board ?
Quoted 3 lines
Quoted 1 line
Also, the board folder is named "imx7dsdb", which isn't very consistent.
Yes, I can change it to "imx7d-sdb" for better consistency.
Yeah, that's just a minor detail :-) However, it still wouldn't be very consistent with the name of the defconfig for the vendor u-boot/kernel variant.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
Fabio Estevam
reviewerPATCH v2 2/2 configs/imx7d-sdb: Add new defconfig
Hi Thomas,
Quoted 3 lines · Thomas Petazzoni
That makes sense. So I guess the DT name in the vendor kernel is different, and that's why our defconfigs have a different name between the vendor and mainline variants for a given board ?
Actually the dts name in the vendor kernel is the same.
We could just add a "freescale" prefix to make clear that it refers to a defconfig that uses the vendor U-Boot and kernel.
For example:
imx7d-sdb_defconfig: this Buildroot defconfig uses mainline U-Boot/kernel freescale_imx7d-sdb_defconfig: this Buildroot defconfig uses the vendor provided U-Boot/kernel.
If you agree I can try to adopt such naming scheme.
Thanks
PATCH v2 2/2 configs/imx7d-sdb: Add new defconfig
Hello,
Quoted 10 lines · Fabio Estevam
Actually the dts name in the vendor kernel is the same.
We could just add a "freescale" prefix to make clear that it refers to a defconfig that uses the vendor U-Boot and kernel.
For example:
imx7d-sdb_defconfig: this Buildroot defconfig uses mainline U-Boot/kernel freescale_imx7d-sdb_defconfig: this Buildroot defconfig uses the vendor provided U-Boot/kernel.
To me, this is what would make the most sense.
So, is configs/freescale_imx7dsabresd_defconfig related to this same board, or is it a completely different board ?
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
Fabio Estevam
reviewerPATCH v2 2/2 configs/imx7d-sdb: Add new defconfig
Quoted 11 lines · Thomas Petazzoni
Hello,
Quoted 7 lines · Fabio Estevam
Actually the dts name in the vendor kernel is the same.
We could just add a "freescale" prefix to make clear that it refers to a defconfig that uses the vendor U-Boot and kernel.
For example:
Quoted 8 lines
Quoted 3 lines
imx7d-sdb_defconfig: this Buildroot defconfig uses mainline U-Boot/kernel freescale_imx7d-sdb_defconfig: this Buildroot defconfig uses the vendor provided U-Boot/kernel.
To me, this is what would make the most sense.
So, is configs/freescale_imx7dsabresd_defconfig related to this same board, or is it a completely different board ?
It is the same board.
From a Buildroot perspective the only difference between freescale_imx7dsabresd_defconfig and imx7d-sdb_defconfig is that the one with "freescale" uses the vendor U-Boot and kernel.
I will try to improve the board names as per the suggestion above.
Thanks
Thomas Petazzoni
AppliedPATCH v2 1/2 imx/post-image: Allow flashing u-boot-dtb.imx in the SD card
In reply to Fabio EstevamHello,
Quoted 8 lines · Fabio Estevam
Add support for flashing the u-boot-dtb.imx binary in the SD card when a target selects
BR2_TARGET_UBOOT_FORMAT_DTB_IMX.Signed-off-by Fabio Estevam <[email protected]>---
Changes since v1:
- Use a UBOOTBIN variable to decide the U-Boot binary name instead of creating a new genimage.cfg variant. (Thanks to Arnout!)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com