Apalis Imx8qm toradex 8GB WB IT Building u-boot

I have had Apalis Imx8qm toradex 4GB with the apalis carrier board. Used yocto to build the linux for it.
I wanted to customize the u-boot for it to add some commands such as to setenv and boot from usb stick.

I extracted toradex u-boot from yocto to do so and was able to add to include/configs/apalis-imx8.h

When I got the new one with 8GB instead of 4GB I used same bootloader and when booted I noticed that only 4GiB is being recognized.

I tried changing ddr size in include/configs/apalis-imx8.h. When i do it 6Gib it boots fine but when I try to make it 8GiB U-boot loads fine but when I try to load linux and board hangs at
Starting Linux …
and nothing more happens.

How can I fix this? Be able to modify bootloader for 8GB, add my extra commands in the env and be able to boot into linux with no issues?

This screen shot is from my bootloader that works with my Apalis Imx8qm toradex 4GB
I just need the same things work with the newer board Apalis Imx8qm toradex 8GB WB IT.

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:


When transitioning from a 4GB to an 8GB Apalis iMX8QM module and facing issues with U-Boot recognizing the full memory capacity, it’s crucial to consider both hardware and software aspects. The behavior you’re experiencing, where Linux hangs during boot after U-Boot modifications for 8GiB support, suggests a potential issue with the memory initialization or configuration settings within U-Boot.

  1. DDR Configuration: The i.MX8QM SoC requires precise DDR initialization settings that match the memory’s physical characteristics. These settings are typically defined in the U-Boot source code, specifically within the board initialization files. For the Apalis iMX8QM, these settings might differ between the 4GB and 8GB models due to variations in the memory chips or layout. Ensure you’re using the correct DDR configuration for the 8GB model. This configuration might include adjustments in the imximage.cfg file or similar, depending on the exact U-Boot version and structure you’re working with.

  2. U-Boot Version Compatibility: Ensure that the U-Boot version you’re customizing is compatible with the 8GB variant of the Apalis iMX8QM. Toradex periodically updates U-Boot to support new hardware revisions and features. It’s possible that the version you’re working with was optimized for the 4GB model and might not fully support the 8GB model without modifications.

  3. Custom Commands Integration: Adding custom commands to U-Boot’s environment (setenv and booting from a USB stick) should not impact the memory recognition directly. However, ensure that these modifications do not inadvertently alter any memory initialization sequences or environment variables critical for the boot process.

  4. Debugging Tips:

    • Serial Console Output: Review the serial console output closely for any errors or warnings during the U-Boot stage and the early Linux kernel boot process. This output can provide valuable clues about where the boot process is failing.
    • U-Boot Environment: Verify that the U-Boot environment variables related to memory configuration are correctly set for the 8GB model. Sometimes, hard-coded values or incorrect settings can lead to issues recognizing the full memory capacity.
    • Kernel Parameters: Ensure that the kernel boot parameters passed by U-Boot to the Linux kernel do not contain any incorrect memory limitations. The mem= parameter, for example, can limit the amount of memory available to Linux.
  5. **Consult the Toradex

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

Check and Repair "Forced Read Only Mode" on Macronix eMMC (errata) - Linux | Toradex Developer Center.

Hey @stev1987,

It’s possible the source of which you are pulling u-boot or the configs are providing this issue.
You can build U-boot from source with the developer guides found here.