This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SK-AM62B-P1: Failed to flash Linux to eMMC

Part Number: SK-AM62B-P1

[SDK]       ti-processor-sdk-linux-am62xx-evm-09.01.00.08

I try this to flash Linux to eMMC, but can't boot into Linux and get error as below:

=> boot
switch to partitions #0, OK
mmc0(part 0) is current device
SD/MMC found on device 0
Can't set block device
Can't set block device
## Error: "main_cpsw0_qsgmii_phyinit" not defined
Can't set block device
Can't set block device
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
Bad Linux ARM64 Image magic!
switch to partitions #0, OK
mmc0(part 0) is current device
MMC: no card present
starting USB...
Bus usb@31100000: generic_phy_get_bulk : no phys property
Register 1000840 NbrPorts 1
Starting the controller
USB XHCI 1.10
scanning bus usb@31100000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed
am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error
missing environment variable: pxeuuid
Retrieving file: pxelinux.cfg/01-1c-63-49-1f-da-85
ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed
am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error
Retrieving file: pxelinux.cfg/00000000

what could I do to boot Linux in eMMC mode?

  • Hi Johnny,

    If the Linux is already flashed successfully into the eMMC, then can you try the following commands:

    => setenv mmcdev 0
    => setenv bootpart 0:1
    => boot

    Regards,

    Prashant

  • I tried but still get the same error.

    => setenv mmcdev 0
    => setenv bootpart 0:1
    => boot
    switch to partitions #0, OK
    mmc0(part 0) is current device
    SD/MMC found on device 0
    Can't set block device
    Can't set block device
    ## Error: "main_cpsw0_qsgmii_phyinit" not defined
    Can't set block device
    Can't set block device
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    No FDT memory address configured. Please configure
    the FDT address via "fdt addr <address>" command.
    Aborting!
    Bad Linux ARM64 Image magic!
    switch to partitions #0, OK
    mmc0(part 0) is current device
    MMC: no card present
    
    Device 0: unknown device
    ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
    am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed
    am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error
    missing environment variable: pxeuuid
    Retrieving file: pxelinux.cfg/01-1c-63-49-1f-da-85
    ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
    am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed
    am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error
    Retrieving file: pxelinux.cfg/00000000

  • Let's do some debugging. Can you post the output of...

    => mmc dev 0
    switch to partitions #0, OK
    mmc0(part 0) is current device
    => mmc part

    ...as well as...

    => env print

    Regards, Andreas

  • Hi Andreas,

    I retry all step in origin reference, and didn't have any error.

    And I found /mnt/temp isn't empty before tar xf <Linux image file copied from the host> at this time.

    I thought maybe I forgot to umount temp at the first time.