I'm trying to boot a DM6446 board using TFTP/NFS. I'm successful in following the GSG in setting up the TFTP and NFS server and disable the firewall on my Fedora 10 based host computer using a (100/10T) ethernet card. My DM6446 board is able to load the Linux kernel via TFTP and initially mount my root filesystem using NFS. It appears that the board mounts the filesystem twice during the boot process, once when the following is outputted
VFS: Mounted root (nfs filesystem)
and a second when the following is outputted
Remounting root file system...
shortly after this stage the I get the following error message from the board
nfs: server 128.173.90.95 not responding, still trying
My current development setup is (Fedora PC (100/10T) -> Linksys 100/10 T Switch -> DM6446) I even connected the DM6446 to my PC directly via a crossover ethernet cable with no avail. I've been using Wireshark to capture packet tracings between the DM6446 board and my computer, I can see that the TFTP communication is going through just fine and the NFS packets are initially going through and the DM6446 is actually downloading some root filesystem files, with a system init file being the first one. The last part of my trace shows
From PC(100/10T) to DM6446 : "NFS V2 GET ATTR Reply" packet
From DM6446 to PC(100/10T) : "NFS V2 GET ATTR Call" packet
From PC(100/10T) to DM6446: "NFS V2 GET ATTR Reply" packet
My serial prompt shows that the board is trying to communicate with the PC twice showing the following message
nfs: server 128.173.90.95 not responding, still trying
nfs: server 128.173.90.95 not responding, still trying
but Wireshark doesn't show the two attempts as received since the last packet in the trace is from PC->DM6446 board.
The following is my U-Boot args. Thanks for your help and sorry for the long post !!
bootargs 'console=ttyS0,115200 noinitrd rw ip=128.173.90.91:128.173.90.95:128.173.88.1:255.255.252:0:::off root=/dev/nfs rootdelay=10 nfsroot=128.173.90.95:/home/afayez/workspace_fayez/filesystem,nolock mem=120M'
bootcmd=tftp;bootm
bootfile=uImage
the following is my board boot output
TFTP from server 128.173.90.95; our IP address is 128.173.90.91
Filename 'uImage'.
Load address: 0x80700000
Loading: *\0x08#################################################################
\0x09 #################################################################
\0x09 #################################################################
\0x09 #################################################################
\0x09 ###############
done
Bytes transferred = 1406420 (1575d4 hex)
## Booting image at 80700000 ...
Verifying Checksum ... OK
OK
Starting kernel ...
Uncompressing Linux............................................................................................ done, booting the kernel.
Linux version 2.6.27-davinci1 (afayez@localhost.localdomain) (gcc version 4.2.4) #1 PREEMPT Wed Sep 16 22:38:06 EDT 2009
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: DaVinci EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci DM6446 variant 0x0
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 in Zone order, mobility grouping on. Total pages: 30480
Kernel command line: console=ttyS0,115200 noinitrd rw ip=128.173.90.91:128.173.90.95:128.173.88.1:255.255.252:0:::off root=/dev/nfs rootdelay=10 nfsroot=128.173.90.95:/home/afayez/workspace_fayez/filesystem,nolock mem=120M
PID hash table entries: 512 (order: 9, 2048 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: 118640KB available (2612K code, 270K data, 112K init)
Calibrating delay loop... 46.89 BogoMIPS (lpj=234496)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 804 bytes
NET: Registered protocol family 16
WARNING: both IDE and NOR flash are enabled, but share pins.
\0x09 Disable IDE for NOR support.
DaVinci: 71 gpio irqs
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
NET: Registered protocol family 1
msgmni has been set to 232
io scheduler noop registered
io scheduler anticipatory registered (default)
Setting Up Clocks for DM420 OSD
Console: switching to colour frame buffer device 90x30
fb0: dm_osd0_fb frame buffer device
fb1: dm_vid0_fb frame buffer device
fb2: dm_osd1_fb frame buffer device
fb3: dm_vid1_fb frame buffer device
Serial: 8250/16550 driver2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
console [ttyS0] enabled
brd: module loaded
TI DaVinci EMAC Linux v6.0 driver initialized
console [netcon0] enabled
netconsole: network logging started
Linux video capture interface: v2.00
i2c /dev entries driver
at24 1-0050: 32768 byte 24c256 EEPROM (writable)
Read MAC addr from EEPROM: 00:0e:99:02:5c:3b
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
IP-Config: Complete:
device=eth0, addr=128.173.90.91, mask=255.255.252.0, gw=128.173.88.1,
host=0, domain=, nis-domain=(none),
bootserver=128.173.90.95, rootserver=128.173.90.95, rootpath=
Waiting 10sec before mounting root device...
Looking up port of RPC 100003/2 on 128.173.90.95
Looking up port of RPC 100005/1 on 128.173.90.95
VFS: Mounted root (nfs filesystem).
Freeing init memory: 112K
INIT: version 2.86 booting
Starting udev and populating dev cache
Remounting root file system...
root: mount: mount point /proc/bus/usb does not exist
ALSA: Restoring mixer settings...
Configuring network interfaces... /usr/sbin/alsactl: load_state:1616: No soundcards found...
nfs: server 128.173.90.95 not responding, still trying
nfs: server 128.173.90.95 not responding, still trying