iMX8M-EVK failed to start kernel via tftp

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX8M-EVK failed to start kernel via tftp

1,785 Views
yanghongsing1
Contributor III

I try to boot my imx8m-evk via tftp. But it always hangs at "Starting kernel ..." Please advise what is wrong with me. Thanks...

I followed the steps below:

{YOCTO_BUILD_DIR}/tmp/work/{TARGET}/{IMAGE}/1.0-r0/rootfs

cd $YOCTO_BUIlD_DIR/build/tmp/work/imx8mmevk-poky-linux/imx-image-full/1.0-r0

mkdir /home/$USER/imx8mm-evk-dummy

cp -r rootfs /home/$USER/imx8mm-evk-dummy/

cd $YOCTO_BUIlD_DIR/build/tmp/deploy/images/imx8mmevk

cp Image /srv/tftp

cp imx8mm-evk.dtb /srv/tftp/fsl-imx8mm-evk.dtb

u-boot=> setenv nfsroot /home/$USER/imx8mm-evk-dummy/rootfs

u-boot=> setenv bootargs 'console=${console} root=/dev/nfs ip=dhcp rw nfsroot=${serverip}:${nfsroot},v3,tcp'

u-boot=> setenv image Image; setenv fdt_file fsl-imx8mm-evk.dtb

u-boot=> setenv loadaddr 0x40480000; setenv fdt_addr 0x43000000

u-boot=> setenv netboot 'echo Booting from net...; setenv autoload no; setenv autostart no; dhcp; setenv serverip <server_ip_address>; tftpboot ${loadaddr} ${image};   \

tftpboot ${fdt_addr} ${fdt_file}; booti ${loadaddr} - ${fdt_addr}'

sudo apt-get install nfs-kernel-server nfs-common portmap

/home/$USER/imx8mm-evk-dummy/ *(rw,insecure,no_root_squash,no_subtree_check)

sudo /etc/init.d/nfs-kernel-server restart

 Below is the console output:

U-Boot SPL 2021.04 (Jun 30 2021 - 10:34:02 +0800)
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
SEC0: RNG instantiated
Normal Boot
Trying to boot from MMC1


U-Boot 2021.04 (Jun 30 2021 - 10:34:02 +0800)

alloc space exhausted
CPU: i.MX8MMQ rev1.0 1800 MHz (running at 1200 MHz)
CPU: Commercial temperature grade (0C to 95C) at 37C
Reset cause: POR
Model: NXP i.MX8MM EVK board
DRAM: 2 GiB
TCPC: Vendor ID [0x1fc9], Product ID [0x5110], Addr [I2C1 0x52]
Power supply on USB2
TCPC: Vendor ID [0x1fc9], Product ID [0x5110], Addr [I2C1 0x50]
MMC: FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
[*]-Video Link 0adv7535_mipi2hdmi adv7535@3d: Can't find cec device id=0x3c
fail to probe panel device adv7535@3d
mxs_video lcdif@32e00000: failed to get any video link display timings
probe video device failed, ret -22

[0] lcdif@32e00000, video
[1] mipi_dsi@32e10000, video_bridge
[2] adv7535@3d, panel
adv7535_mipi2hdmi adv7535@3d: Can't find cec device id=0x3c
fail to probe panel device adv7535@3d
mxs_video lcdif@32e00000: failed to get any video link display timings
probe video device failed, ret -22
In: serial
Out: serial
Err: serial
SEC0: RNG instantiated

BuildInfo:
- ATF 7b3389d

switch to partitions #0, OK
mmc1 is current device
flash target is MMC:1
Net: eth0: ethernet@30be0000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 0
starting USB...
Bus usb@32e40000: Port not available.
USB is stopped. Please issue 'usb start' first.
switch to partitions #0, OK
mmc1 is current device
** Unrecognized filesystem type **
switch to partitions #0, OK
mmc2(part 0) is current device
** Unrecognized filesystem type **
Running BSP bootcmd ...
switch to partitions #0, OK
mmc1 is current device
** Unrecognized filesystem type **
Can't set block device
** Unrecognized filesystem type **
Can't set block device
Booting from net...
BOOTP broadcast 1
DHCP client bound to address 192.168.1.100 (47 ms)
Using ethernet@30be0000 device
TFTP from server 192.168.1.128; our IP address is 192.168.1.100
Filename 'Image'.
Load address: 0x40480000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#############################################
9 MiB/s
done
Bytes transferred = 29280768 (1beca00 hex)
Using ethernet@30be0000 device
TFTP from server 192.168.1.128; our IP address is 192.168.1.100
Filename 'fsl-imx8mm-evk.dtb'.
Load address: 0x43000000
Loading: ####
5.6 MiB/s
done
Bytes transferred = 46889 (b729 hex)
Moving Image from 0x40480000 to 0x40600000, end=42280000
## Flattened Device Tree blob at 43000000
Booting using the fdt blob at 0x43000000
Using Device Tree in place at 0000000043000000, end 000000004300e728
adv7535_mipi2hdmi adv7535@3d: Can't find cec device id=0x3c
fail to probe panel device adv7535@3d
mxs_video lcdif@32e00000: failed to get any video link display timings
probe video device failed, ret -22

Starting kernel ...

 

0 Kudos
5 Replies

1,778 Views
igorpadykov
NXP Employee
NXP Employee

Hi Hong

 

>I try to boot my imx8m-evk via tftp. But it always hangs..

 

from log : "Model: NXP i.MX8MM EVK board" seems there is confusion as

i.MX8M-EVK and i.MX8MM EVK are different boards with different processors.

One can try Demo Images for i.MX8M-EVK from link:

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

 

Best regards
igor

 

0 Kudos

1,774 Views
yanghongsing1
Contributor III

Hi Igor,

Thank you for quick response.

My board is 8MMINILPD4-CPU2 with 8MMINI-BB. I had downloaded the image binary files of LF_v5.10_1.0.0_images_IMX8MMEVK. I can get the board booting up from SD with imx-image-full-imx8mmevk.wic in the pcakage. Currently I am trying to set up tftp/nfs boot for development.

I used the image-full-imx8mmevk.bin in the package as Image file and imx8mm-evk.dtb as fsl-imx8mm-evk.dtb. I have the same problem. Could you advise what is wrong with me?

0 Kudos

1,769 Views
igorpadykov
NXP Employee
NXP Employee

one can try to follow p.19  i.MX Linux User’s Guide​

 

Best regards
igor

0 Kudos

1,762 Views
yanghongsing1
Contributor III

Hi Igor,

 

I tried the method on pg19 to load image file into memory and write to SD.I can download image file and dtb file  into memory and write them into sd card. But the board cannot boot from sd card. Could I check if addresses below is correct for imx8mm evk board? Thanks...

write Image

U-Boot > mmc write ${loadaddr} 0x800 0x4000

 

Write dtb file

U-Boot > mmc write ${fdt_addr} 0x5000 0x800

0 Kudos

1,526 Views
spulukuru
Contributor I

have you been able to solve the issue with starting the kernel.

i am also having the same issue, but i am trying to boot from SD card and it hangs at the same location

i tried to print the log leading up to the hang in uboot and its at this call in bootm.c

"armv8_switch_to_el2".

after this call its all assembly and it hangs.

 

any help on how to debug this further this is greatly appreciated.

i am trying to figure out

1. if the kernel loading has somehow not corrupted the uboot space in ram overwriting the above call. is that even possible.

2. how to print anything from kernel side to see if uboot even jumped to the kernel start. that part is also in assembly.

any other suggestions on how to go about this?

0 Kudos