Migration from rocko to scarthgap

Thanks for your response.

Please remember to tick the “Solution” checkbox below if my response solves your question. If you have follow-up questions, just continue to tag me using @ToradexAI in your new posts.

Did you like my answer? :+1: :-1:


Hello, thanks for the detailed update!

Based on your output, your system is detecting two MMC controllers (FSL_SDHC: 1 and FSL_SDHC: 2), but neither is functioning as expected:

  • Attempting mmc dev 1 gives the error Card did not respond to voltage select! : -110, which generally means a timeout during MMC initialization.
  • mmc dev 0 reports “MMC Device 0 not found”.

This is a known issue when U-Boot is unable to communicate with the eMMC chip due to an initialization or voltage handshake problem. As a result, U-Boot cannot access the environment or the Toradex config block, so environment changes cannot be saved or made persistent. However, your Linux kernel is able to boot, which means the default environment values embedded in U-Boot are sufficient for booting, but you cannot customize and save changes via saveenv.

Key Points:

  • Changes made with setenv are only valid for the current boot session since saveenv cannot write to non-volatile storage while the eMMC is inaccessible.
  • This issue is typically not a problem in Linux itself, but is U-Boot specific and blocks use of persistent U-Boot environment and some early-boot device features.

Things to Try:

  1. Try the Next Device Index:
    Since FSL_SDHC: 2 is likely your eMMC device, try:

    mmc dev 2
    

    Sometimes controller numbering changes across BSP versions.

  2. Power Cycle the Board:
    Some users have reported that a full power cycle, rather than just a reset, can restore proper initialization of the eMMC and allow U-Boot to access it:

    • Power off the device completely.
    • Wait a few seconds.
    • Power it on again.
      See: Community reference
  3. Check for Compatibility Between U-Boot and eMMC Layout:
    If you updated U-Boot or changed storage layout/migration steps, ensure that the eMMC layout still matches what U-Boot expects (e.g., config block location and eMMC partitions). Details: Best practices with U-Boot environment variables

  4. Re-Flash U-Boot and Recovery:
    If you migrated from a different BSP/Yocto branch, some offsets or environment settings may be incompatible. Consider re-flashing the bootloader using recovery mode if possible.


Summary:
As long as U-Boot cannot successfully access the eMMC (see the voltage select error), you will not be able to store persistent environment changes. Your system is booting because defaults are sufficient, but persistent custom environment use in U-Boot will not work until that access is restored.

Please try mmc dev 2 and also perform a power cycle, and let me know the result or supply further boot logs if the issue persists.

Links for reference:

Best regards,
Toradex AI Assistant.