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.

Booting Root FS via NFS

I opened a new DM365 evaluation board this morning and began following the instructions in the GSG:

http://processors.wiki.ti.com/index.php/GSG:_DM365_DVEVM_Software_Setup

I successfully installed the software on a Red Hat Enterprise 5 machine and exported the shared file system for target access.  My shared file system lives in:

/home/jharpe12/workdir/filesys

There's a whole root file system in that directory, as I expected.  I am able to mount this root file system on a Ubuntu system that is on the same IP subnet.  So, I know that the NFS export is working correctly.

My problem arises when I start following the instructions under "Testing the Shared File System".  In Step 4, there are three commands to type in the console window after aborting the boot sequence.  Obviously, they have to be modified for individual systems with IP addresses, etc.  Here's what I typed:

setenv nfshost 147.177.151.56
setenv /home/jharpe12/workdir/filesys
setenv bootargs 'console=ttyS0,115200n8 noinitrd rw ip=dhcp rootdelay=10 root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock mem=76M video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=4'

The last "setenv" is all on a single line, per the GSG instructions.  I added the rootdelay command per a post I saw somewhere else.  I did not save the configuration since I don't want to do anything at this point to change the board.  Instead, I typed "boot" at the console.

The kernel seems to come up.  However, I get a kernel panic because the board doesn't think there is an NFS server available.   Here are the last few lines of the start up output:

 

TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Time: timer0_1 clocksource has been installed.
Clock event device timer0_0 configured with caps set: 08
Switched to high resolution mode on CPU 0
Sending DHCP requests .., OK
IP-Config: Got DHCP answer from 255.255.255.255, my address is 147.177.151.22
IP-Config: Complete:
      device=eth0, addr=147.177.151.22, mask=255.255.255.0, gw=147.177.151.1,
     host=147.177.151.22, domain=cs.myharris.net, nis-domain=(none),
     bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=
Waiting 10sec before mounting root device...
Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

Any ideas would be appreciated.   Again, this board is new.  This is the first time its been powered on.

Thanks!

Jim

  • Hi Jim,

    I am moving your post into the Linux forum for correct audience to better help you.

    Thanks,

    Tai

  • Jim:

    Please try typing it this way:

    setenv nfshost 147.177.151.56
    setenv rootpath /home/jharpe12/workdir/filesys
    setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=dhcp rootdelay=10 root=/dev/nfs nfsroot=${nfshost}:${rootpath},nolock mem=76M video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=4

    rootpath was missing in your second setenv cmd (probably just a typo).  The main issue is to not use single quotes when typing your

    setenv bootargs command or it is taken literally and the nfshost and rootpath will not get expanded.

    Regards,

    Michael T

    PS: Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

     

     

  • That's it!  Thanks!  You might want to update the GSG so others don't make this mistake. :-)

    Jim

  • setenv nfshost 192.168.72.136

    setenv rootpath /home/dms365/workdir/filesys

    setenv bootargs 'console=ttyS0,115200n8 noinitrd rw ip=dhcp rootdelay=10 root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock mem=76M video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=4'

    boot


    Wrong Image Format for bootm command
    ERROR: can't get kernel image!

    how to clear the error?

    -Vs

  • VS:

    The enclosing single-quote causes rootpath and nfshost to not get expanded by u-boot parser, so remove them.

    Also, {} is preferred instead of () around variables.

    setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=dhcp rootdelay=10 root=/dev/nfs nfsroot=${nfshost}:${rootpath},nolock mem=76M video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=4

    Regards,

    Michael T

    PS: Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

     

     

  • thanx michael

    i will report u after writting as u have written

    kailash(vs)

  • michael

    what we r trying on evm board with dms365 is to get data from the sd card and xmitt it

    that is :

    we want to dump the code in the card

    and then after doing that

    we want the board should take data from the camera

    and then pass through our code

    and then send through ip networks

    please can u send the procedure for that because i am very new at board and i had surfed the net also but no related documents

    ................

     

    waiting for reply

    kailash

     

  • we tried that method changing the brackets to curly brace but quite didn't work

    can you suggest any alternatives?

     

  • Kailash:

    Can you send the printenv command output? (from u-boot prompt)   If you still see things like ${rootppath} in the bootcmd

    string, then the text expansion did not work like you intended.

    regards,

    Michael T