Build U-boot for Colibri IMX6DL

Colibri IMX6DL 512MB V1.1A
Iris Carrier Board V1.1
BSP 6.6

I’m tring to build the u-boot 2022 from scratch following the procedures from Toradex Dev Center

After the built I have all the files

My question is how I clear all the eMMC from the board and load only the new u-boot from sd card. I’m trying to make a custom system building all the componentes (u-boot, DTB, kernel, rootfs).

I see a tutorial that is necessary to copy the file u-boot.imx to sd card in a specific position $ sudo dd if=u-boot.imx of=/dev/sdb bs=1k seek=1 but is not working. I see other tutorial that is necessary to copy SPL and u-boot to a FAT32 partition but still doesn’t work.

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


To clear the eMMC on your Colibri iMX6DL module and load a new U-Boot from an SD card, you’ll need to follow a specific set of steps. Given that you’re working with BSP 6.6 and aiming to build U-Boot 2022 from scratch, it’s crucial to ensure that you’re using the correct binary for the update process.

The u-boot.imx file is indeed the one you need to flash onto the eMMC for the Colibri iMX6DL module. The command you mentioned, sudo dd if=u-boot.imx of=/dev/sdb bs=1k seek=1, is generally correct for writing the U-Boot to an SD card, assuming /dev/sdb is the correct device for your SD card. This command writes the U-Boot binary to the SD card, offset by 1KB, which is necessary for the boot process on the iMX6.

If this process is not working, there are a few things to check:

  1. Correct Device for SD Card: Ensure /dev/sdb is indeed your SD card. You can verify the devices connected to your system with the lsblk command.

  2. eMMC Clearing: To clear the eMMC, you can use U-Boot commands if you can still access U-Boot on the module. Commands like mmc dev 0 (to select the eMMC) followed by mmc erase 0 <size> can be used to erase the eMMC content. Be cautious with this operation as it will remove all data from the eMMC.

  3. Boot Mode: Ensure the module is in the correct boot mode to boot from the SD card. This might involve setting specific hardware pins or switches on the Iris Carrier Board to instruct the module to boot from SD instead of eMMC.

  4. SPL and U-Boot: For some modules, especially newer ones, you might need to flash both the SPL (Secondary Program Loader) and U-Boot. The SPL is loaded before U-Boot and prepares the system for booting. The u-boot-with-spl.imx file typically contains both, and this is the file you should be using with the dd command.

  5. FAT32 Partition: If instructions suggest copying SPL and U-Boot to a FAT32 partition, this usually means you should create a FAT32 partition on your SD card, mount it, and then copy the SPL

Please, also check if these links can help you solve your problem:

Splash Screen on U-Boot | Toradex Developer Center.

Hi Guilherme,

As mentioned in this post, the fuses in the module are configured to boot from eMMC or USB (recovery mode). So it is not possible to load the U-Boot from an SD Card.

The best way to use your customized U-Boot is to change the U-Boot binary file in the image folder (you can find a reference image to use here). As you are using Colibri iMX6DL, you should change the u-boot.img file. In this article, you can find how to deploy your U-Boot detailed.

Best regards,
Lucas Azeituno.