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.

NFS error while booting

Other Parts Discussed in Thread: CSD

EVM6446

My boot options are:

bootcmd=bootm 0x2050000
bootdelay=3
baudrate=115200
bootfile="uImage"
nfshost=192.168.11.100
rootpath=/home/Lorry/workdir/filesys
bootargs=console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.168.11.100:/home/Lorry/workdir/filesys,nolock mem=120M
stdin=serial
stdout=serial
stderr=serial
videostd=pal

 

The error message is:

Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.11.102
IP-Config: Complete:
      device=eth0, addr=192.168.11.102, mask=255.255.255.0, gw=192.168.11.26,
     host=192.168.11.102, domain=, nis-domain=(none),
     bootserver=0.0.0.0, rootserver=192.168.11.100, rootpath=
Looking up port of RPC 100003/2 on 192.168.11.100
Looking up port of RPC 100005/1 on 192.168.11.100
RPC: garbage, exit EIO
Root-NFS: Server returned error -5 while mounting /home/Lorry/workdir/filesys

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)

 

I think that the device of '/dev/nfs' can not be connected, but it is not related with access permission ( if it is a permission error, the error number should be 13, but now it is -5).

what  does "-5" represents in NFS? How to resolve it? 

Thanks.

  • Lorry,

    I am not sure what the "-5" represents, but I usually follow the list of steps below to ensure I can NFS mount

    1) ping host from EVM; this step tells me my hardware (e.g. router, cables,... ) is working properly

    2) try to tftp uImage from host; you can do this by simply typing 'dhcp' (I believe 'tftp' works also) at the u-boot prompt.  This tells you that your Linux host has firewall disabled (we get many customer issues due to this), which is required per GSG.

    3) if you made it thru first 2 steps, then NFS mount should be as simple as making sure the directory listed in your bootargs matches the one defined in your host's /etc/exports directory and making sure NFS service in enabled (per GSG).

    I hope this helps.

  • Thanks Juan,

              Unfortunately,  I've checked all of the three steps, I do not find any errors on nfs.  I also try to check NFS Troubleshooting , I do not find any errors yet.  So I try to change to another folder using NFS by revising /etc/exports and running /usr/sbin/exportfs -ra .   It does not work.

              So, I reinstall Fedora in my PC(host), the nfs error do not been resolved. 

             After checking above all, I'm sure that:

            1. Network(physical): Well

             2.NFS running(host):Well

            3.To check NFS status from client(evm6446): Well

           

     I guess I need to check the next two parts:

    1)Are there any errors in EVM6446 curcuit? I think that one or more chips on the board do not works.

    2)I should find a referece about "Error Number of NFS server" and to find out that what "-5" represents.

         

  • After refering sources from web, I learn that most of the error messages describe the reason: for example:

    Looking up port of RPC 100003/2 on 192.168.1.100
    rpcbind: server 192.168.1.100 not responding, timed out
    Root-NFS: Unable to get nfsd port number from server, using default

    Looking up port of RPC 100005/1 on 192.168.1.100

    rpcbind: server 192.168.1.100 not responding, timed out
    Root-NFS: Unable to get mountd port number from server, using default
    mount: server 192.168.1.100 not responding, timed out
    Root-NFS: Server returned error -5 while mounting /nfs/rootfs/

    but my error message does not has any tips, and I'm sure that I did not revise any boot options, I just debugged a codec on DSP, and then I rebooted EVM, this error occured.

     

    I set "root" from "/dev/hda1": I can log in montavista using this root type. So I can get some rpc informations from host and client.

    Here is rpc information from Linux(PC host):

    # rpcinfo -p
       program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        100024    1   udp  41433  status
        100024    1   tcp  36267  status
        100011    1   udp    875  rquotad
        100011    2   udp    875  rquotad
        100011    1   tcp    875  rquotad
        100011    2   tcp    875  rquotad
        100003    2   udp   2049  nfs
        100003    3   udp   2049  nfs
        100003    4   udp   2049  nfs
        100021    1   udp  40312  nlockmgr
        100021    3   udp  40312  nlockmgr
        100021    4   udp  40312  nlockmgr
        100003    2   tcp   2049  nfs
        100003    3   tcp   2049  nfs
        100003    4   tcp   2049  nfs
        100021    1   tcp  57375  nlockmgr
        100021    3   tcp  57375  nlockmgr
        100021    4   tcp  57375  nlockmgr
        100005    1   udp  47147  mountd
        100005    1   tcp  40247  mountd
        100005    2   udp  47147  mountd
        100005    2   tcp  40247  mountd
        100005    3   udp  47147  mountd
        100005    3   tcp  40247  mountd

    And this below is rpc from client (EVM6446):

    :~# rpcinfo -p 192.168.11.100
       program vers proto   port
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        100024    1   udp  41433  status
        100024    1   tcp  36267  status
        100011    1   udp    875  rquotad
        100011    2   udp    875  rquotad
        100011    1   tcp    875  rquotad
        100011    2   tcp    875  rquotad
        100003    2   udp   2049  nfs
        100003    3   udp   2049  nfs
        100003    4   udp   2049  nfs
        100021    1   udp  40312  nlockmgr
        100021    3   udp  40312  nlockmgr
        100021    4   udp  40312  nlockmgr
        100003    2   tcp   2049  nfs
        100003    3   tcp   2049  nfs
        100003    4   tcp   2049  nfs
        100021    1   tcp  57375  nlockmgr
        100021    3   tcp  57375  nlockmgr
        100021    4   tcp  57375  nlockmgr
        100005    1   udp  47147  mountd
        100005    1   tcp  40247  mountd
        100005    2   udp  47147  mountd
        100005    2   tcp  40247  mountd
        100005    3   udp  47147  mountd
        100005    3   tcp  40247  mountd

     

    From above, I think this nfs does not have any error, and this error should not be related with "Linux firewall", because I have closed it. So how do I resolve it?

    Thanks.

     

     

  • lorry,

    please print you /etc/exports here. And tell use which nfs soft you are using.

    You know if you are using nfs-user-server or something like. root is not allowed to mount, and could not be mount as root(/) fs.

  • I write to /etc/exports by refering SPRUE66C, that is :

    [edit] /home/Lorry/workdir/filesys *(rw,no_root_squash,no_all_squash,sync)

     

    I'm sure that I have already typed "/usr/sbin/exportfs -ra" after changing this file.

     

    I've also checked /etc/hosts.deny, it does not list any devices.

     

    and I add some rpc information in my last post, please help me.

    Thanks.</

  • As I could remind, the UG mentioned is exportfs -pa but not -ra.

     

    As I used exportfs -a, is ok.

    And what's you host operating system? RHEL or Redhat 9, or just something else.

    If RHEL or Redhat 9. You should check the services list have been enable. 

    When using "chkconfig -l 12345 nfs on", RHEL or RH9 will turn net-fs on, but not nfs. Thus you have to check with the gui edtion of tools to set the service or edit the control file.

    If other os used, let me know. 

  • Thanks David,

    I use Fedora 10 in PC host.  In the client, I use montavista linux.  

    I'll try "exportfs -a" in terminal.Everytime I begin my nfs service, I use "/sbin/service nfs restart". I think this should work.

  • Hi  Lorry,

    Maybe you should try ubuntu804.
    With this edtion, much easier to setup everything.  
    Every kind of soft can have only one edition installed. While RHEL, RH, Fedora can have nfs and net-fs run parallel.
    David Chan (blacksword.david)

  • Hi  Lorry,

    Maybe you should try ubuntu804.
    With this edtion, much easier to setup everything.  
    Every kind of soft can have only one edition installed. While RHEL, RH, Fedora can have nfs and net-fs run parallel.
    David Chan (blacksword.david)

     

  • Thank you for your help, David.

    Actually, from the beginning of using Fedora 10, everything is ok, it includes nfs running in host and client. But I really really do not know why the error occurs from last Sunday.  Before that day, everything was ok, and I just debugged a codec in DSP. And now , I do not remember I revise any boot options.

     

  • Are you absolutely certain that your firewall is disabled on your host PC? Though I could not say exactly what the -5 error means off hand, I can say that it has come up several times in the past and was fixed by disabling the host firewall.

    Try running 'etc/init.d/iptables stop' on the host, 'etc/init.d/iptables status' should tell you of the firewall's activity.

    If the firewall is surely disabled than you may want to look into your physical network, it may be worth directly connecting the host to the target with static IPs in the case that something in between on the network is firewalling you.

  • Yes Bernie, I've stopped iptables.

    ===================================

    # /etc/init.d/iptables status
    Table: filter
    Chain INPUT (policy ACCEPT)
    num  target     prot opt source               destination        

    Chain FORWARD (policy ACCEPT)
    num  target     prot opt source               destination        

    Chain OUTPUT (policy ACCEPT)
    num  target     prot opt source               destination        

    ==================================

    But it also does not work,

     

    ===================================

    Uncompressing Linux........................................................................................ done, booting the.Linux version 2.6.10_mvl401-dav7
    CPU: ARM926EJ-Sid(wb) [41069265] revision 5 (ARMv5TEJ)
    CPU0: D VIVT write-back cache
    CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
    CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
    Machine: DaVinci EVM
    Memory policy: ECC disabled, Data cache writeback
    Built 1 zonelists
    Kernel command line: console=ttyS0,115200n8=noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.168.11.100:/home/Lorry/workdir/filesys,nolock mem=120M
    PID hash table entries: 512 (order: 9, 8192 bytes)
    Console: colour dummy device 80x30
    Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
    Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
    Memory: 120MB = 120MB total
    Memory: 118784KB available (2318K code, 490K data, 136K init)
    Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
    CPU: Testing write buffer coherency: ok
    spawn_desched_task(00000000)
    desched cpu_callback 3/00000000
    ksoftirqd started up.
    desched cpu_callback 2/00000000
    desched thread 0 started up.
    NET: Registered protocol family 16
    Registering platform device 'nor_davinci.0'. Parent at platform
    Registering platform device 'nand_davinci.0'. Parent at platform
    Registering platform device 'musb_hdrc'. Parent at platform
    DaVinci I2C DEBUG: 11:30:53 Sep 28 2007
    Registering platform device 'i2c'. Parent at platform
    usbcore: registered new driver usbfs
    usbcore: registered new driver hub
    JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
    yaffs Sep 28 2007 11:30:09 Installing.
    Registering platform device 'davincifb.0'. Parent at platform
    Console: switching to colour frame buffer device 90x30
    Registering platform device 'davinci_resizer.2'. Parent at platform
    Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
    Registering platform device 'serial8250'. Parent at platform
    ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
    io scheduler noop registered
    io scheduler anticipatory registered
    RAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksize
    Registering platform device 'ti_davinci_emac'. Parent at platform
    TI DaVinci EMAC Linux version updated 4.0
    TI DaVinci EMAC: Installed 1 instances.
    netconsole: not configured, aborting
    i2c /dev entries driver
    Linux video capture interface: v1.00
    Registering platform device 'vpfe.1'. Parent at platform
    DaVinci v4l2 capture driver V1.0 loaded
    Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
    ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
    hda: CSD CAV040H, ATA DISK drive
    elevator: using anticipatory as default io scheduler
    ide0 at 0xe10661f0-0xe10661f7,0xe10663f6 on irq 22
    hda: max request size: 128KiB
    hda: 78140160 sectors (40007 MB) w/8192KiB Cache, CHS=65535/16/63
     hda: hda1 hda2
        ide0: BM-DMA at 0xe1066000-0xe1066007, BIOS settings: hda:pio, hdb:pio
    mice: PS/2 mouse device common for all mice
    musb_hdrc: version 2.2a/db-0.4.8 [pio] [host] [debug=0]
    musb_hdrc: USB Host mode controller at c8060000 using PIO, IRQ 12
    musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    Registering platform device 'davinci-audio.0'. Parent at platform
    NET: Registered protocol family 2
    IP: routing cache hash table of 512 buckets, 4Kbytes
    TCP: Hash tables configured (established 8192 bind 16384)
    NET: Registered protocol family 1
    NET: Registered protocol family 17
    Sending DHCP requests ., OK
    IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.11.102
    IP-Config: Complete:
          device=eth0, addr=192.168.11.102, mask=255.255.255.0, gw=192.168.11.26,
         host=192.168.11.102, domain=, nis-domain=(none),
         bootserver=0.0.0.0, rootserver=192.168.11.100, rootpath=
    Looking up port of RPC 100003/2 on 192.168.11.100
    Looking up port of RPC 100005/1 on 192.168.11.100
    RPC: garbage, exit EIO
    Root-NFS: Server returned error -5 while mounting /home/Lorry/workdir/filesys

    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)

    ===================================

    After showing "Looking up port of RPC 100005/1 on 192.168.11.100",  minicom will stop for a while, I think it wants to connect nfs but failed.

     

    Are there something wrong with my router? I think it is deserved to be suspected.

  • LorryAstra said:
    Are there something wrong with my router? I think it is deserved to be suspected.

    That would be a reasonable conclusion, as in the past the -5 error was traced to having the firewall enabled it would follow that -5 is indicating some sort of failiure to connect which could be in the router if the host is not blocking it. It may be worth connecting your host directly to the target and using static IPs to remove the router from the equation, if that still does not work it may be worth trying to mount the NFS on another PC if possible.

  • Lorry,

    FYI, there is an App Note that guides you towards using static IPs to connec to EVM. (link below)

    http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&familyId=1302&abstractName=spraaq0

     

  • Thanks.  I've resolved this problem.

    Analysis:

    This problem leads by "nfs permission denied", this maybe a feature of new Linux kernel or NFS utils in Linux(PC host). Although in previous version NFS has it's own way to control access authority, the new version maybe take even strick measures to control it. So,it is not related with router or EVM.

    I don't know whether my analysis above is right or not, that is just what I guess. Because I notice that I update all of features in Fedora 10 after installing every time.  So I try to reinstall Fedora 10 and ban the update system, everything is recovered.

    So if other people has the same error when using Fedora 10, I suggest that you can try the lower version of Linux kernel or NFS.

     

  • I am glad to hear you resolved the issue and I thank you for posting the results, this gives us a second potential cause for the -5 error. It is unfortunate that the update breaks the NFS service, I suspect there is some configuration that can be done to allow the updated version to work though, but for now disabling the updates seems like a reasonable work around. I still use Red Hat Enterprise Linux v4 so though I am a bit out dated I have not run into these sorts of issues.

  • I had the same problem as LorryAstra described.

    All configs, parameters were right and NFS didn't work.

    Searching on linux forums, I found that I needed to add a 'tcp' option to the nfsroot parameter in the bootargs envar, so it forced to use TCP, not try UDP:

     

    setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=<evm_ip> root=/dev/nfs nfsroot=<nfsserv_ip>:/home/rtovo/workdir/filesys,tcp,nolock mem=120M davincihd_capture.channel0_numbuffers=4

     

  • Hi  R Tovo,

         What Linux do you use in your host PC?  RH or Fedora or....      .  Do you update your Linux?     When does the question occur (After installing Linux in your host or updating all of the latest componets.)?  Because I still do not have a clue about my question.

    Thanks.

  • Hello LorryAstra

    I use Fedora Core 10, fresh install (no updates).

    Did you try disabling the firewall on the host?

     

     

     

  • Yes, I've been disabled firewall. Actually, I found that if I did not update Fedora 10, every thing was ok, but if I installed all of the new components of Fedora 10, an NFS error would occur.  I always want to find out which component leads to this NFS problem,   but till today, I do not find it.

    So, if you use Fedora 10, I suggest that you do not update your system if it is not necessary.

  • Hello Mr. Gonzales,

     

    I would like to do the same thing i.e. using static IPs to connect to EVM.

    the link that you gave  - http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&familyId=1302&abstractName=spraaq0 does not seem to work. Could you please help me to find the application note?

    thanks!

  • Samarth Brahmbhatt said:

    I would like to do the same thing i.e. using static IPs to connect to EVM.

    the link that you gave  - http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&familyId=1302&abstractName=spraaq0 does not seem to work. Could you please help me to find the application note?

    Take a look at the http://processor.wiki.ti.com site, as it has quite a few articles that may be useful.  Searching there for "static ip" brought the following article up which provides some information on using Static IP addresses in the setup.

    http://processors.wiki.ti.com/index.php/Alternate_Boot_Methods_for_OMAP-L137/DA830

     

  • Brandon,

    many thanks, I booted the kit using static IPs, going by the procedure in an app note published by TI! works beautifully!