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.

Help with NFS

Hi all,

 

I am new to the forums and to TI Davinci. I am having some problems booting to the NFS from my device. Maybe someone can help point me in the right direction?

 

I have Windows running my TFTP server (IP 192.168.0.2). This works fine. I have a VM (Ubuntu 11.04) with the NFS, I can mount the NFS and it goes well from Linux (IP 192.168.0.50). All packages (DVSDK, C6X, etc) are fresh downloads and builds. I have followed the directions in the Gettings Started Guide, but I cannot seem to boot the NFS for some reason. My EVM is 192.168.0.100 and can ping both the TFTP and the Linux VM. TFTP goes well and starts the Linux boot, but then fails when it gets to mounting the NFS. Firewall is off, NFS is running. When I look at a wireshark capture, the EVM doesn't seem to even try to go out on the network and connect to the NFS. Anyone seen this before or could help point me in the right direction I would be greatly appreciative! I have been working on this and surfing the net for help for 3 days. Below is the following output from the boot process.

 

printenv
bootdelay=3
baudrate=115200
ethaddr=00:0e:99:02:51:54
bootfile=uImage
nfhost=192.168.1.99
videostd=ntsc
rootpath=/home/user/workdir/filesys
ipgateway=192.168.0.1
nfshost=192.168.0.50
autoload=no
filesize=1ec0b0
fileaddr=80700000
gatewayip=192.168.0.1
netmask=255.255.255.0
ipaddr=192.168.0.100
serverip=192.168.0.2
bootargs=console=ttyS0,115200n8 noinitrd rw ip=192.168.0.100:102.168.0.50:192.168.0.1:255
.255.255.0:::off eth=00:0e:99:02:51:54 root=/dev/nfs nfsroot=192.168.0.50:/home/user/work
dir/filesys,nolock mem=120M
bootcmd=tftpboot 0x80700000 uImage;bootm
stdin=serial
stdout=serial
stderr=serial

Environment size: 603/131068 bytes
Ruiva-Dm6446-0012# ping 192.168.0.2
host 192.168.0.2 is alive
Ruiva-Dm6446-0012# ping 192.168.0.50
host 192.168.0.50 is alive
Ruiva-Dm6446-0012# boot
TFTP from server 192.168.0.2; our IP address is 192.168.0.100
Filename 'uImage'.
Load address: 0x80700000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #####
done
Bytes transferred = 2017372 (1ec85c hex)
## Booting image at 80700000 ...
   Image Name:   Linux-2.6.18_pro500-davinci_evm-
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2017308 Bytes =  1.9 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux......................................................................
............................................................... done, booting the kernel.
Linux version 2.6.18_pro500-davinci_evm-arm_v5t_le (user@ubuntu) (gcc version 4.2.0 (Mont
aVista 4.2.0-16.0.32.0801914 2008-08-30)) #1 PREEMPT Fri Nov 25 01:32:23 EST 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: DaVinci EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci DM6443 variant 0x1
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
Built 1 zonelists.  Total pages: 30720
Kernel command line: console=ttyS0,115200n8 noinitrd rw ip=192.168.0.100:102.168.0.50:192
.168.0.1:255.255.255.0:::off eth=00:0e:99:02:51:54 root=/dev/nfs nfsroot=192.168.0.50:/ho
me/user/workdir/filesys,nolock mem=120M
TI DaVinci EMAC: Kernel Boot params Eth address: 00:0e:99:02:51:54
PID hash table entries: 512 (order: 9, 2048 bytes)
Clock event device timer0_0 configured with caps set: 03
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: 117376KB available (3457K code, 689K data, 172K init)
Security Framework v1.0.0 initialized
Capability LSM initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
DaVinci: 71 gpio irqs
WARNING: both IDE and NOR flash are enabled, but share pins.
        Disable IDE for NOR support.
ch0 default output "COMPOSITE", mode "NTSC"
MUX: initialized LOEEN
MUX: initialized LFLDEN
VPBE Encoder Initialized
LogicPD encoder initialized
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 4096 bind 2048)
TCP reno registered
davinci_spi_board_init: NO spi support
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
squashfs: version 3.1 (2006/08/19) Phillip Lougher
JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
yaffs Nov 26 2011 23:31:37 Installing.
SGI XFS with no debug enabled
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
LTT : ltt-facilities init
LTT : ltt-facility-core init in kernel
davincifb davincifb: dm_osd0_fb: 720x480x16@0,0 with framebuffer size 675KB
davincifb davincifb: dm_vid0_fb: 0x0x16@0,0 with framebuffer size 1020KB
davincifb davincifb: dm_osd1_fb: 720x480x4@0,0 with framebuffer size 675KB
davincifb davincifb: dm_vid1_fb: 0x0x16@0,0 with framebuffer size 1020KB
davincifb davincifb.0: dm_osd0_fb: Failed to obtain ownership of OSD window.
DAVINCI-WDT: DaVinci Watchdog Timer: heartbeat 60 sec
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO map 0x1c20000 mem 0xfec20000 (irq = 40) is a 16550A
RAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksize
netconsole: not configured, aborting
TI DaVinci EMAC: MAC address is 57:c0:48:7d:57:c0
TI DaVinci EMAC Linux version updated 4.0
TI DaVinci EMAC: Installed 1 instances.
Linux video capture interface: v2.00
vpfe vpfe.1: DaVinci v4l2 capture driver V1.0 loaded
Trying to register davinci display video device.
layer=c7491600,layer->video_dev=c7491760
Trying to register davinci display video device.
layer=c7491400,layer->video_dev=c7491560
davinci_init:DaVinci V4L2 Display Driver V1.0 loaded

 Davici AEW Driver cannot be loaded
 VIDEO PORT is not enabledData Flow path from CCDC is disabled

 Davinci AF driver cannot be loaded
 VIDEO PORT is not enabled
 CCDC needs to be configured<6>i2c /dev entries driver
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
MUX: initialized HDIREN
MUX: initialized ATAEN
    ide0: MMIO-DMA , BIOS settings: hda:pio, hdb:pio
Palm Chip BK3710 IDE Register Fail
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
musb_hdrc: version 6.0, cppi-dma, host, debug=0
musb_hdrc musb_hdrc: No DMA interrupt line
musb_hdrc: USB Host mode controller at c805e000 using DMA, IRQ 12
musb_hdrc musb_hdrc: MUSB HDRC host driver
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
mice: PS/2 mouse device common for all mice
rtc_davinci_evm rtc_davinci_evm: rtc intf: proc
rtc_davinci_evm rtc_davinci_evm: rtc intf: dev (254:0)
rtc_davinci_evm rtc_davinci_evm: rtc core: registered rtc_davinci_evm as rtc0
rtc0: hours 12-23 are misreported as duplicate hours 00-11
davinci-mmc davinci-mmc.0: Supporting 4-bit mode
davinci-mmc davinci-mmc.0: Using DMA mode
Advanced Linux Sound Architecture Driver Version 1.0.12rc1 (Thu Jun 22 13:55:50 2006 UTC)
.
ASoC version 0.13.1
MUX: initialized MCBSP
AIC3X Audio Codec 0.1
asoc: aic3x <-> davinci-i2s mapping ok
ALSA device list:
  #0: DaVinci EVM (aic3x)
IPv4 over IPv4 tunneling driver
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
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
rtc_davinci_evm rtc_davinci_evm: hctosys: invalid date/time
usb 1-1: new high speed USB device using musb_hdrc and address 2
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 2 ports detected
IP-Config: Complete:
      device=eth0, addr=192.168.0.100, mask=255.255.255.0, gw=192.168.0.1,
     host=192.168.0.100, domain=, nis-domain=(none),
     bootserver=102.168.0.50, rootserver=192.168.0.50, rootpath=
Looking up port of RPC 100003/2 on 192.168.0.50
portmap: server 192.168.0.50 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.0.50
portmap: server 192.168.0.50 not responding, timed out
Root-NFS: Unable to get mountd port number from server, using default
mount: server 192.168.0.50 not responding, timed out
Root-NFS: Server returned error -5 while mounting /home/user/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)

 

Thanks for any help and pointing me in the right direction.

 

also, Maybe this is easier somehow if I can boot to a local filesystem stored in NAND? Anyone know how I might go about doing that?

 

Thanks

 

Tim

  • The usual first step is to add rootdelay=5 to the bootargs. But in your case, your network seems up and running. RPC errors usually mean firewall problems but the firewall is turned off. You have mounted the NFS drive..so implies all the permissions are good. Puzzling. Your ip bootarg has a server ip of 102.168.0.50, which is inconsistent with the nfsroot ip of 192.168.0.50. Maybe try 192 instead of 102. The RPC calls do report 192 but maybe some other part of Linux is looking at 102.

  • I made the changes to the NFS from 102 to 192, but still no go. I Just dont see any data across the network while the EVM is trying to get to the NFS. It downloads from the TFTP just fine and begins to boot. Is there a way to turn on some more verbose booting that may show what Linux is doing and why it is failing? Maybe I can catch an error that is not presenting itself. Any other thoughts would be great.

    Thanks

    Tim

  • Maybe try add rootdelay=5 to your bootargs. Easy thing to try before delving deeper into NFS config. My experience is with Fedora. On Fedora, there wasn't an obvious way to turn on NFS logging. A few Ubuntu links:

    http://www.ubuntugeek.com/nfs-server-and-client-configuration-in-ubuntu.html
    http://processors.wiki.ti.com/index.php/Linux_Host_Configuration_-_Ubuntu

    Double check your "/etc/exports". Should have a line like
      *(rw,no_root_squash,no_all_squash,sync)

    Your setup?
     192.168.0.2 - Windows/TFTP Server
     192.168.0.50 - VM (Ubuntu 11.04), NFS Server, WireShark here???
     192.168.0.100 - Linux/NFS Client, U-Boot/TFTP Client
     192.168.0.1 - Gateway
    All connected by a router?

  • Yes, The setup your describe is correct. The /etc/exports is correct. I have check it a few times to make sure. What does the rootdelay=5 do for me? How do you think this would help? Like I said, I am new so not sure what that does. Although I could turn on loging to the NFS, it doesn't seem that the EVM is even trying to connect to the NFS at all, so I am not sure I would even see anything of interest in the logs. Do you have problems posting to the forum. It keeps telling me "* Post must have some content in the body" at the bottom everytime I try to reply.

     

    Thanks

     

    Tim

  • The bootarg rootdelay=5 delays mounting root for 5 seconds.  Similarly, rootwait waits indefinitely for a device to come up before mounting. But it only works for "real"devices. There are a lot of cases on this forum where the kernel attempts to mount the file system before the file system is ready. Never quite sure about SW sniffers like WireShark. A lot of stuff can get in the way, like firewalls. Configing NFS is rather exacting. Miss a step and nothing works. That's all I got. Hopefully someone with Ubuntu NFS experience will step in with some debug commands.

    No problems posting to the forum so far. I'm using Vista, Firefox 3.0.19.

  • Thanks for the help. I am using Firefox now. IE doesn't seem to like this forum. So, I am gathering what you are saying is that the EVM is not totally up and running before it starts to try and mount the NFS? Putting this delay in will give it more time to get up and running before attempting mount the NFS? Maybe the Ethernet driver/PHY are not totally up and ready to try and connect? I will try this and let you know. BTW, where would I put the rootdelay at? In the bootcmd or just a variable in the u-Boot?

     

    Thanks

     

    Tim

  • The rootdelay=5 is added to the U-boot bootargs environment variable. Something like this

    setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=192.168.0.100:102.168.0.50:192.168.0.1:255.255.255.0:::off eth=00:0e:99:02:51:54 root=/dev/nfs nfsroot=192.168.0.50:/home/user/workdir/filesys,nolock mem=120M rootdelay=5

    Try out with setenv and boot first before using permanent saveenv. NFS problems are more Linux than DM64x problem. Maybe try in the Embedded Software->Linux forum. May get more eyes over there.

     

  • Just noticed something odd with the reported MAC addresses.

    TI DaVinci EMAC: Kernel Boot params Eth address: 00:0e:99:02:51:54
    TI DaVinci EMAC: MAC address is 57:c0:48:7d:57:c0

    I think the second one is the one being used. Your router might not like the MAC address changing like that. I cant' say if there is a patch for your kernel. There are so many versions and your kernel is quite old.