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.

Trouble Mounting NFS via TFTP

My TMDXEVM8148 is able to TFTP my uImage-dm814x-evm.bin image over.  However, it fails to boot into linux.  I get the following error while booting up. 

 

IP-Config: Complete:                                                           
     device=eth0, addr=300.200.200.19, mask=255.255.255.0, gw=300.200.200.1,    
     host=BullFrog, domain=, nis-domain=(none),                                  
     bootserver=300.200.200.18, rootserver=300.200.200.18, rootpath=           
VFS: Unable to mount root fs via NFS, trying floppy.                           
VFS: Cannot open root device "nfs" or unknown-block(2,0)

 

Later, I get the following error:

Kernel panic - not syncing VFS: Unable to mount root fs on unknown-block(2,0)

 

I know my Ethernet port is working or else I would not be able to download the image in the 1st place.  I have my PC directly connected to my board.  I'm using static IP addresses.  I've verified my NFS serer is running correctly by attaching two PC's together and seeing if I could mount the targetfs.  It worked fine.

 

My nfsroot is defined as 300.200.200.18:/home/BullFrog/targetfs

 

I'm not sure what I'm doing wrong.

  • This is confusing, your ip address looks out of range, the address is beyond what the mask supports.  How is the IP address being set? Please post the kernel command or u-boot env parameters too. Can you ping the address you have listed 300.200.200.18 from u-boot?

  • Yes 300.200.200.18 is invalid, but I am guessing that it probably shows up as 0.200.200.18.

    At any rate, just focusing on the root nfs issue, it looks like you might be missing the following bootargs

    'rootdelay=3".

    Add it to your bootargs and see if you are able to boot successfully.

     

    Benoit

     

    P.S. If this response helps answer your question please mark this post as verified - Thanks!

  •  

    Sorry, the 300.200.200.18 is something plugged into the post for privacy.  I the address that I used is valid.  I can ping from both sides when I boot directly from the SD card.

     

    My  minicom script

    send "setenv bootargs console=ttyO0,115200n8 rootwait rw mem=256M earlyprintk \c"

    send "notifyk.vpssm3_sva=0xBF900000 vram=50M \c"
    send "ti814xfb.vram=0:16M,1:16M,2:6M \c"

    send "root=/dev/nfs nfsroot=300.200.200.18:/home/BullFrog/targetfs \c"
    send "ip=300.200.200.19:300.200.200.18:300.200.200.1:255.255.255.0:BullFrog:eth0"

    setenv "autoload no"

    send "setenv serverip 300.200.200.18"

    send "setenv bootfile uImage-dm814x-evm.bin"

    send "setenv bootcmd 'setenv serverip 300.200.200.18;tftpboot;bootm'"

    send "saveenv"

     

    I the minicom script was generated by the EZ sdk setup.  I think the file is suspect.  There were several obvious flaws in the file that I fixed by hand.  However, the fixes were not enough.

     

     

     

  • OK so in your boot config if you replace "rootwait" with "rootdelay=3", does it boot successfully with nfs?

     

    Benoit

  • It's fine now.  The rootdelay fixed it.  Thanks!