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.

AM5728: NFS boot issue

Part Number: AM5728


Hi

I have a custom board based on AM5728 EVM. My problem is with NFS file system. The boards can load zImage and DTB from TFTP and boots fine with MMC file system. But when I try to boot file system from NFS, kernel got panic and it stays on the following line:

 net eth0: initializing cpsw version 1.15 (0)
[    3.157401] Micrel KSZ9031 Gigabit PHY 48485000.mdio:01: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=48485000.mdio:01, irq=POLL)
[    3.175329] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    7.364478] cpsw 48484000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[    7.376804] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    7.406847] IP-Config: Complete:
[    7.410093]      device=eth0, hwaddr=fc:0f:4b:9a:ad:c2, ipaddr=192.168.0.10, mask=255.255.255.0, gw=192.168.0.1
[    7.420261]      host=192.168.0.10, domain=, nis-domain=(none)
[    7.426118]      bootserver=255.255.255.255, rootserver=192.168.0.20, rootpath=
[  102.241596] VFS: Unable to mount root fs via NFS, trying floppy.

Then it panics.

It seems the kernel can not get IP Address. I pass the IP address in U-Boot to the kernel as:

setenv ipaddr 192.168.0.10
setenv serverip 192.168.0.20
setenv nfsserver 192.168.0.20	   
setenv autoload no
setenv bootargs "root=/dev/nfs nfsroot=192.168.0.20:/home/aidin/ti-processor-sdk-linux-am57xx-evm-06.00.00.07/filesystem/tisdk-rootfs-image-am57xx-evm,nolock rw console=ttyO0,115200n8 ip=192.168.0.10::192.168.0.1:255.255.255.0::eth0:off"
setenv bootcmd "tftpboot 0x88000000 am57xx-beagle-x15-revc.dtb && tftpboot 0x82000000 zImage && bootz 0x82000000 - 0x88000000"	   
saveenv	

I've tried direct connecting the PC and board with Ethernet cable with no success, then I use an Ethernet router and use dhcp in U-Boot, no success.

When I use MMC-SD for file system, again the static ip configuration is not passed to the kernel and I am forced to enter the ip address after everything boots up. (It is OK in case of using router and my board gets ip with dhcp and not using static!)

Content of /etc/exports :

/home/aidin/ti-processor-sdk-linux-am57xx-evm-06.00.00.07/filesystem/tisdk-rootfs-image-am57xx-evm *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

I think for some reason kernel can not register a valid IP address.

  • Hello,

    I am wondering if you could please share your Ubuntu version. Based on my recent experience, on Ubuntu 1804, the lowest enabled NFS version is 3.

    sudo cat /proc/fs/nfsd/versions
    -2, +3, +4, +4.1, +4.2

    One solution is to force your target kernel to use a specific nfs version as shown below:

    root=/dev/nfs nfsroot=<your server ip>:<exported root path>,nfsvers=3 rw ip=dhcp
     
    or
     
    root=/dev/nfs nfsroot=<your server ip>:<exported root path>,v3 rw ip=dhcp

    Regards,
    Krunal


     

  • Hi Krunal

    Adding nfsvers=3 solved my problem! I used static IP with no problem in both direct connecting Ethernet cable to PC and with router in use.

    My Ubuntu version is 1804 .

    Thanks for help.