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.
HI TI,
We are currently working on a custom board based on the AM625 processor and are facing some challenges with the Ethernet boot process.
I have outlined the key points below for your reference
Hardware Configuration:
Ethernet Connection Status:
Objective:
Concerns:
Alternative Approach:
Kindly provide guidance or direct us to relevant documentation for implementing Ethernet boot in this scenario.
We look forward to your guidance on resolving these issues.
If there are any updates or specific documents that address our concerns, please share them with us.
Regards,
Murali Chikkanna
We aim to perform an Ethernet boot from scratch.
Files to be transferred: tiboot3.bin, tispl.bin, uboot.img, and the filesystem using a TFTP server.
Note that there is an errata on Ethernet boot regarding the PHY initialization (MDIO-based), see errata sheet at https://www.ti.com/lit/pdf/sprz487 (Errata ID i2329). If you are planning on using a pure Ethernet boot for development purposes this should be fine (I'm using it myself for months now without any issues, across different AM62x devices) but since such operation cannot be guaranteed under all circumstances this method should not be used for production. What is your use case here?
During our earlier discussions with TI, we were informed that Ethernet boot from scratch might not be possible when using the RMII interface.
Could you please clarify if there are any known issues, errata, or limitations on this matter?
The issue is not with RMII itself (this is working), but the fact that certain RMII PHYs that don't support auto-negotiation, specifically certain 100Base-T1 automotive PHYs such as NXP TJA1101B, which causes issues during link negotiation/reporting in the ROM code and causes the boot to fail.
Regards, Andreas
Hi Andreas,
Thanks for the reply.
We are using for development purpose only.
Kindly confirm on the External Clock configuration.
Andreas said:
(I'm using it myself for months now without any issues, across different AM62x devices).
kindly guide me through the steps to use Ethernet Boot or share the documentation/links for reference.
Regards,
Murali Chikkanna
Hi Andreas,
I am waiting for your response.
kindly guide me through the steps to use Ethernet Boot or share the documentation/links for reference.
Regards,
Murali Chikkanna
Hi Murali,
actually for AM62x there's a section in the Linux SDK that discusses this. Note that the critical piece is using a custom defconfig (called am62x_evm_r5_ethboot_defconfig) to build the U-Boot SPL running on the R5 core
Once you have this working on the SK-AM62B board you can model any custom HW/setup after that.
Regards, Andreas
Hi Andreas,
Thanks and sorry for the delayed response.
I tried booting the Linux from U-boot. Below are the steps i followed to boot Linux from U-boot.
From U-boot Prompt
=> setenv ipaddr 192.168.56.15
=> setenv serverip 192.168.56.10
=> setenv netmask 255.255.255.0
=> Ping 192.168.56.10
Host alive is the response.
On the Host System i have configured TFTP Server and copied the Image and .dtb file to /var/lib/tftpboot folder and made sure that TFTP server is running.
Then again on the U-boot Prompt
=> tftpboot $loadaddr Image
=> tftpboot $fdtaddr k3-am625-sk.dtb
The Images are copied successfully to the address.
I Checked and confirmed the filesystem is in the right Partition mmcblk0p1 on the EMMC and also the type.
=> setenv bootargs "root=/dev/mmcblk0p1 rw rootfstype=ext4 console=ttyS0,115200 earlyprintk debug"
=> boot
After running this commands the Linux started Booting but hanged at some point, saying that the file system is not recognized.
check the below logs.
[ 1.431390] VFS: Cannot open root device "PARTUUID=" or unknown-block(0,0): error -6
[ 1.439169] Please append a correct "root=" boot option; here are the available partitions:
[ 1.447519] 0100 4096 ram0
[ 1.447521] (driver?)
[ 1.453617] 0101 4096 ram1
[ 1.453619] (driver?)
[ 1.459716] 0102 4096 ram2
[ 1.459718] (driver?)
[ 1.465818] 0103 4096 ram3
[ 1.465821] (driver?)
[ 1.471910] 0104 4096 ram4
[ 1.471912] (driver?)
[ 1.478006] 0105 4096 ram5
[ 1.478008] (driver?)
[ 1.483394] mmc0: Command Queue Engine enabled
[ 1.484098] 0106 4096 ram6
[ 1.488527] (driver?)
[ 1.488545] mmc0: new HS200 MMC card at address 0001
[ 1.492271] 0107 4096 ram7
[ 1.492274] (driver?)
[ 1.495277] mmcblk0: mmc0:0001 DG4016 14.7 GiB
[ 1.499582] 0108 4096 ram8
[ 1.499584] (driver?)
[ 1.499593] 0109 4096 ram9
[ 1.503511] mmcblk0boot0: mmc0:0001 DG4016 partition 1 4.00 MiB
[ 1.505681] (driver?)
[ 1.505688] 010a 4096 ram10
[ 1.510379] mmcblk0boot1: mmc0:0001 DG4016 partition 2 4.00 MiB
[ 1.513939] (driver?)
[ 1.513946] 010b 4096 ram11
[ 1.516450] mmcblk0rpmb: mmc0:0001 DG4016 partition 3 4.00 MiB, chardev (237:0)
[ 1.520026] (driver?)
[ 1.520032] 010c 4096 ram12
[ 1.529141] mmcblk0: p1
[ 1.532113] (driver?)
[ 1.532124] 010d 4096 ram13
[ 1.562558] (driver?)
[ 1.568749] 010e 4096 ram14
[ 1.568752] (driver?)
[ 1.574948] 010f 4096 ram15
[ 1.574950] (driver?)
[ 1.581136] b300 15388672 mmcblk0
[ 1.581139] driver: mmcblk
[ 1.587927] b301 15388638 mmcblk0p1 97908853-5815-428a-8bd1-ec44a70088d0
[ 1.587930]
[ 1.596887] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 1.605135] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.10.153-g3eee621d16 #3
[ 1.612253] Hardware name: Aurel-v0.7070923-06_TS7 (DT)
[ 1.617463] Call trace:
[ 1.619914] dump_backtrace+0x0/0x1a0
[ 1.623567] show_stack+0x18/0x68
[ 1.626876] dump_stack+0xd0/0x12c
[ 1.630266] panic+0x16c/0x334
[ 1.633315] mount_block_root+0x1c4/0x254
[ 1.637312] mount_root+0x10c/0x140
[ 1.640789] prepare_namespace+0x130/0x170
[ 1.644873] kernel_init_freeable+0x25c/0x2a0
[ 1.649220] kernel_init+0x14/0x114
[ 1.652698] ret_from_fork+0x10/0x34
[ 1.656269] SMP: stopping secondary CPUs
[ 1.660186] Kernel Offset: disabled
[ 1.663662] CPU features: 0x00040002,2000200c
[ 1.668006] Memory Limit: none
[ 1.671057] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---
Whether the steps i have followed is correct, do i need to change any. Kindly help me to overcome this issue.
Thanks & regards
Murali Chikkanna