Issue Booting Verdin iMX8MP with Custom Kernel from Source

Hi,

We are working with the Verdin iMX8MP module on the Dahlia carrier board. Following the official Toradex documentation for building and booting the Linux kernel from source:

Build Linux Kernel from Source Code | Toradex Developer Center)

We completed all the steps and successfully installed the image via recovery mode.

However, upon powering up the board, we are encountering the following issue during boot:

U-Boot SPL 2024.07-7.2.0+git.3f772959501c …

MMC: no card present

No EFI system partition
Failed to persist EFI variables
Loading Boot0000 ‘mmc 2’ failed
EFI boot manager: Cannot load any image

ERROR: serverip not set
Cannot autoload with TFTPGET

It appears that:

The system cannot detect a bootable partition (MMC: no card present).

EFI boot manager is unable to locate a valid EFI System Partition.

TFTP boot also fails due to missing serverip environment variable.

We would appreciate your guidance on how to resolve this issue and proceed with booting the kernel properly.

Thank you.

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello!

Based on the error messages you’ve encountered, here are some steps to address the issues:

  1. MMC Detection Issues:

    To ensure the system detects and boots from MMC correctly, you need to verify that U-Boot is properly configured in the flash memory. You can refer to the Toradex documentation for detailed instructions on configuring U-Boot for MMC boot.

  2. Server IP Configuration Error:

    If you’re using TFTP boot, the serverip variable must be set in U-Boot. Typically, the default server IP should be 192.168.10.1. More information on this setup can be found in the Toradex guide.

  3. Verifying Boot Configuration:

    You can check your U-Boot environment variables by using the command:

    printenv
    

    Key variables to verify include:

    • boot_targets: Ensure it includes MMC devices.
    • boot_devtype: This should be set to mmc for MMC boot.
    • boot_devnum: Ensure it matches your target MMC device.

    To modify these variables, use the following commands in U-Boot:

    setenv variable_name value
    saveenv
    

    For more details, you can refer to the U-Boot variables documentation.

I hope this helps you resolve the issues. If you have any more questions, feel free to ask!

Best regards,
Toradex AI Assistant.

Hi @Paras,
Looks like your custom kernel is corrupted.
Did you also modified the u-boot?
My suggestion is to first test with building the default u-boot and kernel (without any modification) and deploying them.
You can update the kernel directly without reflashing.
Please go through the articles again