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 root mount problem on AM3517

Other Parts Discussed in Thread: AM3517, TCA6416, TSC2004

Greetings,

I've got an AM3517 boards based on EVM and I try to bring it up.

I've set up NFS server on development host (Mint Linux `uname -vsmpio' outputs "Linux #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux").

I have verified NFS setup by mounting exported filesystem with local NFS client:

-----------------------------------

$ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:ac:6f:c5:ee:d9  
          inet addr:192.168.10.100  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::baac:6fff:fec5:eed9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28435 errors:8 dropped:0 overruns:0 frame:9
          TX packets:27307 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3974628 (3.9 MB)  TX bytes:31890716 (31.8 MB)
          Interrupt:18

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:921 errors:0 dropped:0 overruns:0 frame:0
          TX packets:921 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5025604 (5.0 MB)  TX bytes:5025604 (5.0 MB)

$ ls -l /mnt/nfs
total 0
$ sudo mount -t nfs 192.168.10.100:/export/nfs-root /mnt/nfs
 $ ls -l /mnt/nfs
total 2400

-rw-r--r--  1 root root     584 2012-05-07 17:38 bbb.txt
drwxr-sr-x  2 root root    4096 2011-12-16 18:34 bin
drwxr-xr-x  2 root root    4096 2012-05-03 17:01 boot
drwxr-sr-x  3 root root    4096 2011-12-16 02:26 dev
drwxr-xr-x 23 root root    4096 2012-05-03 14:52 etc
drwxr-sr-x  3 root root    4096 2011-12-16 18:34 home
drwxr-sr-x  4 root root    4096 2011-12-16 18:34 lib
lrwxrwxrwx  1 root root      12 2012-04-04 16:29 linuxrc -> /bin/busybox
drwxr-sr-x 10 root root    4096 2011-12-16 18:34 media
drwxr-sr-x  3 root root    4096 2011-12-16 18:34 mnt
drwxr-sr-x  2 root root    4096 2011-12-16 02:26 proc
drwxr-sr-x  2 root root    4096 2012-05-03 14:52 sbin
drwxr-sr-x  3 root root    4096 2011-12-16 18:34 srv
drwxr-sr-x  2 root root    4096 2011-12-16 02:26 sys
lrwxrwxrwx  1 root root       8 2012-05-03 14:52 tmp -> /var/tmp
-rw-r--r--  1 root root 2394228 2012-05-08 13:01 uImage
drwxr-sr-x 10 root root    4096 2011-12-16 02:14 usr
drwxr-sr-x  7 root root    4096 2011-12-15 23:47 var
$


-----------------------------------

Besides, as additional verification I use "nfs" instead of "tftpboot" for downloading uImage to taget board:

-----------------------------------

AM3517_EVM # nfs 0x82000000 192.168.10.100:/export/nfs-root/uImage
Using DaVinci-EMAC device
File transfer via NFS from server 192.168.10.100; our IP address is 192.168.10.101
Filename '/export/nfs-root/uImage'.
Load address: 0x82000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #############T T *** ERROR: Cannot umount
AM3517_EVM #
-----------------------------------

After all that the kernel boot fails with error "VFS: Cannot open root device "nfs" or unknown-block(2,0)".

What may go wrong?

-----------------------------------

AM3517_EVM # printenv
baudrate=115200
bootargs=console=ttyO2,115200n8 rw noinitrd root=/dev/nfs nfsroot=192.168.10.100:/export/nfs-root,nolock ip=192.168.10.101 rootdelay=3
bootargs_defaults=setenv bootargs console=${console} ${optargs}
bootcmd=tftpboot ${fileaddr} ${bootfile};bootm ${fileaddr}
bootdelay=3
bootenv=uEnv.txt
bootfile=uImage
bootscript=echo Running bootscript from mmc ...; source ${loadaddr}
console=ttyO2,115200n8
dieid#=0118000100000000016b3bc702010009
ethact=DaVinci-EMAC
ethaddr=5c:6b:32:d1:a9:cb
fileaddr=82000000
filesize=250
importbootenv=echo Importing environment from mmc ...; env import -t $loadaddr $filesize
ipaddr=192.168.10.101
kloadaddr=0x80007fc0
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmc_dev} ${loadaddr} ${bootenv}
loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr
loaduimage=fatload mmc ${mmcdev} ${kloadaddr} uImage
mmcargs=run bootargs_defaults; setenv bootargs ${bootargs} root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait
mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${kloadaddr};
mmcdev=0
nandargs=run bootargs_defaults; setenv bootargs ${bootargs} root=/dev/mtdblock4 rw rootfstype=jffs2
nandboot=echo Booting from nand ...; run nandargs; nand read ${kloadaddr} 280000 400000; bootm ${kloadaddr};
netmask=255.255.255.0
serverip=192.168.10.100
stderr=serial
stdin=serial
stdout=serial

Environment size: 1541/131068 bytes
AM3517_EVM # bootm
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux-2.6.37
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2394164 Bytes = 2.3 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Linux version 2.6.37 (daniel@iliabosis-Latitude-E5520) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #7 Tue May 8 13:01:03 IDT 2012
[    0.000000] CPU: ARMv7 Processor [411fc087] revision 7 (ARMv7), cr=10c53c7f
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] Machine: OMAP3517/AM3517 EVM
[    0.000000] Reserving 4194304 bytes SDRAM for VRAM
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] AM3517 ES1.1 (l2cache iva sgx neon isp )
[    0.000000] SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x10000
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64000
[    0.000000] Kernel command line: console=ttyO2,115200n8 rw noinitrd root=/dev/nfs nfsroot=192.168.10.100:/export/nfs-root,nolock ip=192.168.10.101 rootdelay=3
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 252MB = 252MB total
[    0.000000] Memory: 243824k/243824k available, 18320k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
[    0.000000]     vmalloc : 0xd0800000 - 0xf8000000   ( 632 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .init : 0xc0008000 - 0xc0035000   ( 180 kB)
[    0.000000]       .text : 0xc0035000 - 0xc046c9b0   (4319 kB)
[    0.000000]       .data : 0xc046e000 - 0xc0612900   (1683 kB)
[    0.000000] NR_IRQS:375
[    0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/600 MHz
[    0.000000] omap_hwmod: i2c1: softreset failed (waited 10000 usec)
[    0.000000] omap_hwmod: i2c2: softreset failed (waited 10000 usec)
[    0.000000] omap_hwmod: i2c3: softreset failed (waited 10000 usec)
[    0.000000] Reprogramming SDRC clock to 332000000 Hz
[    0.000000] dpll3_m2_clk rate change failed: -22
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts
[    0.000000] Total of 96 interrupts on 1 active controller
[    0.000000] GPMC revision 5.0
[    0.000000] Trying to install interrupt handler for IRQ368
[    0.000000] Trying to install interrupt handler for IRQ369
[    0.000000] Trying to install interrupt handler for IRQ370
[    0.000000] Trying to install interrupt handler for IRQ371
[    0.000000] Trying to install interrupt handler for IRQ372
[    0.000000] Trying to install interrupt handler for IRQ373
[    0.000000] Trying to install interrupt handler for IRQ374
[    0.000000] Trying to install type control for IRQ375
[    0.000000] Trying to set irq flags for IRQ375
[    0.000000] OMAP clockevent source: GPTIMER1 at 32768 Hz
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     16384
[    0.000000] ... MAX_LOCKDEP_CHAINS:      32768
[    0.000000] ... CHAINHASH_SIZE:          16384
[    0.000000]  memory used by lock dependency info: 3951 kB
[    0.000000]  per task-struct memory footprint: 2304 bytes
[    0.000000] Calibrating delay loop... 597.64 BogoMIPS (lpj=2334720)
[    0.000000] pid_max: default: 32768 minimum: 301
[    0.000000] Security Framework initialized
[    0.000000] Mount-cache hash table entries: 512
[    0.000000] CPU: Testing write buffer coherency: ok
[    0.000000] regulator: core version 0.5
[    0.000000] regulator: dummy:
[    0.000000] NET: Registered protocol family 16
[    0.000000] ------------[ cut here ]------------
[    0.000000] WARNING: at arch/arm/mach-omap2/pm.c:94 _init_omap_device+0x7c/0x9c()
[    0.000000] _init_omap_device: could not find omap_hwmod for iva
[    0.000000] Modules linked in:
[    0.000000] [<c0044690>] (unwind_backtrace+0x0/0xe0) from [<c006a2c4>] (warn_slowpath_common+0x4c/0x64)
[    0.000000] [<c006a2c4>] (warn_slowpath_common+0x4c/0x64) from [<c006a35c>] (warn_slowpath_fmt+0x2c/0x3c)
[    0.000000] [<c006a35c>] (warn_slowpath_fmt+0x2c/0x3c) from [<c004bc80>] (_init_omap_device+0x7c/0x9c)
[    0.000000] [<c004bc80>] (_init_omap_device+0x7c/0x9c) from [<c000fc84>] (omap2_common_pm_init+0x30/0x104)
[    0.000000] [<c000fc84>] (omap2_common_pm_init+0x30/0x104) from [<c0035470>] (do_one_initcall+0xb0/0x188)
[    0.000000] [<c0035470>] (do_one_initcall+0xb0/0x188) from [<c0008c2c>] (kernel_init+0x98/0x14c)
[    0.000000] [<c0008c2c>] (kernel_init+0x98/0x14c) from [<c003fad4>] (kernel_thread_exit+0x0/0x8)
[    0.000000] ---[ end trace 1b75b31a2719ed1c ]---
[    0.000000] OMAP GPIO hardware version 2.5
[    0.000000] OMAP GPIO hardware version 2.5
[    0.000000] OMAP GPIO hardware version 2.5
[    0.000000] OMAP GPIO hardware version 2.5
[    0.000000] OMAP GPIO hardware version 2.5
[    0.000000] OMAP GPIO hardware version 2.5
[    0.000000] omap_mux_init: Add partition: #1: core, flags: 0
[    0.000000] Display initialized successfully
[    0.000000] Found NOR on CS1
[    0.000000] Registering NOR on CS1
[    0.000000] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.000000] OMAP DMA hardware revision 4.0
[    0.059844] bio: create slab <bio-0> at 0
[    0.068237] SCSI subsystem initialized
[    0.074462] omap_device: omap_i2c.1: new worst case activate latency 0: 30517
[    0.074676] omap_i2c omap_i2c.1: bus 1 rev3.12 at 400 kHz
[    0.080139] omap_i2c omap_i2c.2: bus 2 rev3.12 at 400 kHz
[    0.084381] pca953x 2-0021: failed reading register
[    0.084564] pca953x: probe of 2-0021 failed with error -121
[    0.084716] omap_device: omap_i2c.2: new worst case deactivate latency 0: 30517
[    0.097045] omap_i2c omap_i2c.3: bus 3 rev3.12 at 400 kHz
[    0.100006] tca6416-keypad 3-0020: tca6416_read_reg failed, reg: 1, error: -121
[    0.100097] tca6416-keypad: probe of 3-0020 failed with error -121
[    0.101593] pca953x 3-0021: failed reading register
[    0.101654] pca953x: probe of 3-0021 failed with error -121
[    0.108612] Switching to clocksource 32k_counter
[    0.257629] NET: Registered protocol family 2
[    0.258392] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.260498] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.260925] TCP bind hash table entries: 8192 (order: 6, 360448 bytes)
[    0.265625] TCP: Hash tables configured (established 8192 bind 8192)
[    0.265716] TCP reno registered
[    0.265777] UDP hash table entries: 128 (order: 1, 12288 bytes)
[    0.266113] UDP-Lite hash table entries: 128 (order: 1, 12288 bytes)
[    0.267303] NET: Registered protocol family 1
[    0.269012] RPC: Registered udp transport module.
[    0.269042] RPC: Registered tcp transport module.
[    0.269073] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.270294] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.273193] omap_init_opp_table: no hwmod or odev for iva, [9] cannot add OPPs.
[    0.276275] AM3517  Linux PSP version 04.02.00.07 (AM3517EVM)
[    0.402282] VFS: Disk quotas dquot_6.5.2
[    0.402465] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.407562] JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.408813] msgmni has been set to 476
[    0.413909] io scheduler noop registered
[    0.413940] io scheduler deadline registered
[    0.414154] io scheduler cfq registered (default)
[    0.476287] OMAP DSS rev 2.0
[    0.476409] omapdss supply vdds_dsi not found, using dummy regulator
[    0.476959] OMAP DISPC rev 3.0
[    0.476989] omapdss supply vdda_dac not found, using dummy regulator
[    0.477111] OMAP VENC rev 2
[    0.478576] OMAP DSI rev 1.0
[    0.806945] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.816650] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a OMAP UART0
[    0.818786] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a OMAP UART1
[    0.820556] omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a OMAP UART2
[    1.602325] console [ttyO2] enabled
[    1.657592] brd: module loaded
[    1.685729] loop: module loaded
[    1.696533] mtdoops: mtd device (mtddev=name/number) must be supplied
[    1.703796] physmap platform flash device: 08000000 at 08000000
[    1.716674] physmap-flash physmap-flash.0: map_probe failed
[    1.730926] omap2-nand driver initializing
[    1.736145] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xcc (Micron )
[    1.743286] Creating 5 MTD partitions on "omap2-nand.0":
[    1.748870] 0x000000000000-0x000000080000 : "xloader-nand"
[    1.765472] 0x000000080000-0x000000240000 : "uboot-nand"
[    1.779357] 0x000000240000-0x000000280000 : "params-nand"
[    1.792205] 0x000000280000-0x000000780000 : "linux-nand"
[    1.807434] 0x000000780000-0x000020000000 : "jffs2-nand"
[    2.132293] davinci_mdio davinci_mdio: davinci mdio revision 1.5
[    2.138580] davinci_mdio davinci_mdio: detected phy mask fffffffd
[    2.148345] davinci_mdio: probed
[    2.151733] davinci_mdio davinci_mdio: phy[1]: device ffffffff:01, driver Micrel KS8051
[    2.165649] mice: PS/2 mouse device common for all mice
[    2.177276] input: TSC2004 Touchscreen as /devices/virtual/input/input0
[    2.189910] i2c /dev entries driver
[    2.200592] omap_device: omap_wdt.-1: new worst case activate latency 0: 30517
[    2.210296] OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec
[    2.216766] omap_device: omap_wdt.-1: new worst case deactivate latency 0: 30517
[    2.225402] oprofile: hardware counters not available
[    2.230773] oprofile: using timer interrupt.
[    2.235931] TCP cubic registered
[    2.239318] Initializing XFRM netlink socket
[    2.244079] NET: Registered protocol family 17
[    2.248931] NET: Registered protocol family 15
[    2.254333] Registering the dns_resolver key type
[    2.260009] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1
[    2.269866] ThumbEE CPU extension supported.
[    2.289245] Power Management for TI OMAP3.
[    2.340942] clock: disabling unused clocks to save power
[    2.427185] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    2.943725] net eth0: attached PHY driver [Micrel KS8051] (mii_bus:phy_addr=ffffffff:01, id=221556)
[    3.937835] davinci_mdio davinci_mdio: resetting idled controller
[    3.960418] IP-Config: Guessing netmask 255.255.255.0
[    3.966308] IP-Config: Complete:
[    3.969573]      device=eth0, addr=192.168.10.101, mask=255.255.255.0, gw=255.255.255.255,
[    3.978240]      host=192.168.10.101, domain=, nis-domain=(none),
[    3.984710]      bootserver=255.255.255.255, rootserver=192.168.10.100, rootpath=
[    3.996124] Waiting 3sec before mounting root device...
[    5.945404] PHY: ffffffff:01 - Link is Up - 100/Full
[   10.018859] VFS: Unable to mount root fs via NFS, trying floppy.
[   10.027282] VFS: Cannot open root device "nfs" or unknown-block(2,0)
[   10.034057] Please append a correct "root=" boot option; here are the available partitions:
[   10.043029] 1f00             512 mtdblock0  (driver?)
[   10.048431] 1f01            1792 mtdblock1  (driver?)
[   10.053802] 1f02             256 mtdblock2  (driver?)
[   10.059143] 1f03            5120 mtdblock3  (driver?)
[   10.064514] 1f04          516608 mtdblock4  (driver?)
[   10.069885] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[   10.078674] [<c0044690>] (unwind_backtrace+0x0/0xe0) from [<c032cdf0>] (panic+0x50/0x178)
[   10.087341] [<c032cdf0>] (panic+0x50/0x178) from [<c0009048>] (mount_block_root+0x1bc/0x1fc)
[   10.096282] [<c0009048>] (mount_block_root+0x1bc/0x1fc) from [<c0009210>] (mount_root+0xa0/0xbc)
[   10.105560] [<c0009210>] (mount_root+0xa0/0xbc) from [<c000938c>] (prepare_namespace+0x160/0x1b4)
[   10.115325] [<c000938c>] (prepare_namespace+0x160/0x1b4) from [<c0008ca0>] (kernel_init+0x10c/0x14c)
[   10.125030] [<c0008ca0>] (kernel_init+0x10c/0x14c) from [<c003fad4>] (kernel_thread_exit+0x0/0x8)
-----------------------------------

Thanks,

Daniel

  • Hi Daniel,

    You can use any one of these two boot options?

    DHCP:-
    1. setenv bootargs 'console=ttyO2,115200n8 root=/dev/nfs nfsroot=192.168.10.100:/export/nfs-root,nolock rw mem=128M ip=dhcp earlyprintk rootdelay=10'
    2. setenv bootcmd 'dhcp;tftp 81000000 uImage;bootm'
    3. set the serverip (tftp server ip address) for getting the uImage from tftp server
    4. setenv ipaddr
    5. boot

    Static ip:-
    1. setenv bootargs 'console=ttyO2,115200n8 root=/dev/nfs nfsroot=192.168.10.100:/export/nfs-root,nolock rw mem=128M earlyprintk rootdelay=4'
    "set all the variables in below command before running"
    2. setenv addip 'setenv bootargs ${bootargs} ip=${ipaddr}:${nfsserver}:${gatewayip}:${netmask}:${hostname}:eth0:off'
    3. setenv bootcmd 'run addip;tftp 81000000 uImage;bootm'
    4. set the serverip (tftp server ip address) for getting the uImage from tftp server
    5. boot

    Regards

    AnilKumar

    Please mark this Forum post as answered via the Verify Answer button below if it helps answer your question.  Thanks!

  • Hi Anil,

    thank you for your reply. I tried your suggestion, but it fails in the same way with no apparent difference.

    Below is a dump of Linux kernel boot.

    --------------------------------------------------------------------------------------------------------

    AM3517_EVM # boot
    Using DaVinci-EMAC device
    TFTP from server 192.168.10.100; our IP address is 192.168.10.107
    Filename 'uImage'.
    Load address: 0x81000000
    Loading: #################################################################
    #################################################################
    ######################################
    done
    Bytes transferred = 2460332 (258aac hex)
    ## Booting kernel from Legacy Image at 81000000 ...
    Image Name: Linux-2.6.37
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 2460268 Bytes = 2.3 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    [ 0.000000] Linux version 2.6.37 (alex@ubuntu) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 Thu May 3 12:15:08 IDT 2012
    [ 0.000000] CPU: ARMv7 Processor [411fc087] revision 7 (ARMv7), cr=10c53c7f
    [ 0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
    [ 0.000000] Machine: OMAP3517/AM3517 EVM
    [ 0.000000] Reserving 4194304 bytes SDRAM for VRAM
    [ 0.000000] Memory policy: ECC disabled, Data cache writeback
    [ 0.000000] AM3517 ES1.1 (l2cache iva sgx neon isp )
    [ 0.000000] SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x10000
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 31488
    [ 0.000000] Kernel command line: console=ttyO2,115200n8 root=/dev/nfs nfsroot=192.168.10.100:/export/nfs-root,nolock rw mem=128M earlyprintk rootdelay=4 ip=192.168.10.107:192.168.10.100:192.168.10.100:255.255.255.0:stargazerhost:eth0:off
    [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
    [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
    [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
    [ 0.000000] Memory: 124MB = 124MB total
    [ 0.000000] Memory: 113744k/113744k available, 17328k reserved, 0K highmem
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
    [ 0.000000] DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
    [ 0.000000] vmalloc : 0xc8800000 - 0xf8000000 ( 760 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
    [ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
    [ 0.000000] .init : 0xc0008000 - 0xc0035000 ( 180 kB)
    [ 0.000000] .text : 0xc0035000 - 0xc048e6ec (4454 kB)
    [ 0.000000] .data : 0xc0490000 - 0xc0635b80 (1687 kB)
    [ 0.000000] NR_IRQS:375
    [ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/600 MHz
    [ 0.000000] omap_hwmod: i2c1: softreset failed (waited 10000 usec)
    [ 0.000000] omap_hwmod: i2c2: softreset failed (waited 10000 usec)
    [ 0.000000] omap_hwmod: i2c3: softreset failed (waited 10000 usec)
    [ 0.000000] Reprogramming SDRC clock to 332000000 Hz
    [ 0.000000] dpll3_m2_clk rate change failed: -22
    [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts
    [ 0.000000] Total of 96 interrupts on 1 active controller
    [ 0.000000] GPMC revision 5.0
    [ 0.000000] Trying to install interrupt handler for IRQ368
    [ 0.000000] Trying to install interrupt handler for IRQ369
    [ 0.000000] Trying to install interrupt handler for IRQ370
    [ 0.000000] Trying to install interrupt handler for IRQ371
    [ 0.000000] Trying to install interrupt handler for IRQ372
    [ 0.000000] Trying to install interrupt handler for IRQ373
    [ 0.000000] Trying to install interrupt handler for IRQ374
    [ 0.000000] Trying to install type control for IRQ375
    [ 0.000000] Trying to set irq flags for IRQ375
    [ 0.000000] OMAP clockevent source: GPTIMER1 at 32768 Hz
    [ 0.000000] Console: colour dummy device 80x30
    [ 0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
    [ 0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8
    [ 0.000000] ... MAX_LOCK_DEPTH: 48
    [ 0.000000] ... MAX_LOCKDEP_KEYS: 8191
    [ 0.000000] ... CLASSHASH_SIZE: 4096
    [ 0.000000] ... MAX_LOCKDEP_ENTRIES: 16384
    [ 0.000000] ... MAX_LOCKDEP_CHAINS: 32768
    [ 0.000000] ... CHAINHASH_SIZE: 16384
    [ 0.000000] memory used by lock dependency info: 3951 kB
    [ 0.000000] per task-struct memory footprint: 2304 bytes
    [ 0.000000] Calibrating delay loop... 597.64 BogoMIPS (lpj=2334720)
    [ 0.000000] pid_max: default: 32768 minimum: 301
    [ 0.000000] Security Framework initialized
    [ 0.000000] Mount-cache hash table entries: 512
    [ 0.000000] CPU: Testing write buffer coherency: ok
    [ 0.000000] regulator: core version 0.5
    [ 0.000000] regulator: dummy:
    [ 0.000000] NET: Registered protocol family 16
    [ 0.000000] ------------[ cut here ]------------
    [ 0.000000] WARNING: at arch/arm/mach-omap2/pm.c:94 _init_omap_device+0x7c/0x9c()
    [ 0.000000] _init_omap_device: could not find omap_hwmod for iva
    [ 0.000000] Modules linked in:
    [ 0.000000] [<c0044690>] (unwind_backtrace+0x0/0xe0) from [<c006a2c4>] (warn_slowpath_common+0x4c/0x64)
    [ 0.000000] [<c006a2c4>] (warn_slowpath_common+0x4c/0x64) from [<c006a35c>] (warn_slowpath_fmt+0x2c/0x3c)
    [ 0.000000] [<c006a35c>] (warn_slowpath_fmt+0x2c/0x3c) from [<c004bc80>] (_init_omap_device+0x7c/0x9c)
    [ 0.000000] [<c004bc80>] (_init_omap_device+0x7c/0x9c) from [<c000fc84>] (omap2_common_pm_init+0x30/0x104)
    [ 0.000000] [<c000fc84>] (omap2_common_pm_init+0x30/0x104) from [<c0035470>] (do_one_initcall+0xb0/0x188)
    [ 0.000000] [<c0035470>] (do_one_initcall+0xb0/0x188) from [<c0008c2c>] (kernel_init+0x98/0x14c)
    [ 0.000000] [<c0008c2c>] (kernel_init+0x98/0x14c) from [<c003fad4>] (kernel_thread_exit+0x0/0x8)
    [ 0.000000] ---[ end trace 1b75b31a2719ed1c ]---
    [ 0.000000] OMAP GPIO hardware version 2.5
    [ 0.000000] OMAP GPIO hardware version 2.5
    [ 0.000000] OMAP GPIO hardware version 2.5
    [ 0.000000] OMAP GPIO hardware version 2.5
    [ 0.000000] OMAP GPIO hardware version 2.5
    [ 0.000000] OMAP GPIO hardware version 2.5
    [ 0.000000] omap_mux_init: Add partition: #1: core, flags: 0
    [ 0.000000] Display initialized successfully
    [ 0.000000] Found NOR on CS1
    [ 0.000000] Registering NOR on CS1
    [ 0.000000] hw-breakpoint: debug architecture 0x4 unsupported.
    [ 0.000000] OMAP DMA hardware revision 4.0
    [ 0.061737] bio: create slab <bio-0> at 0
    [ 0.070312] SCSI subsystem initialized
    [ 0.076538] omap_device: omap_i2c.1: new worst case activate latency 0: 30517
    [ 0.076782] omap_i2c omap_i2c.1: bus 1 rev3.12 at 400 kHz
    [ 0.082153] omap_device: omap_i2c.1: new worst case deactivate latency 0: 30517
    [ 0.095947] omap_i2c omap_i2c.2: bus 2 rev3.12 at 400 kHz
    [ 0.100250] pca953x 2-0021: failed reading register
    [ 0.100433] pca953x: probe of 2-0021 failed with error -121
    [ 0.111389] omap_i2c omap_i2c.3: bus 3 rev3.12 at 400 kHz
    [ 0.114318] tca6416-keypad 3-0020: tca6416_read_reg failed, reg: 1, error: -121
    [ 0.114410] tca6416-keypad: probe of 3-0020 failed with error -121
    [ 0.115905] pca953x 3-0021: failed reading register
    [ 0.115966] pca953x: probe of 3-0021 failed with error -121
    [ 0.123077] Switching to clocksource 32k_counter
    [ 0.273223] NET: Registered protocol family 2
    [ 0.273986] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.276062] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
    [ 0.276397] TCP bind hash table entries: 4096 (order: 5, 180224 bytes)
    [ 0.278717] TCP: Hash tables configured (established 4096 bind 4096)
    [ 0.278808] TCP reno registered
    [ 0.278839] UDP hash table entries: 64 (order: 0, 6144 bytes)
    [ 0.279174] UDP-Lite hash table entries: 64 (order: 0, 6144 bytes)
    [ 0.280487] NET: Registered protocol family 1
    [ 0.282226] RPC: Registered udp transport module.
    [ 0.282257] RPC: Registered tcp transport module.
    [ 0.282257] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.283508] NetWinder Floating Point Emulator V0.97 (double precision)
    [ 0.286285] omap_init_opp_table: no hwmod or odev for iva, [9] cannot add OPPs.
    [ 0.289489] AM3517 Linux PSP version 04.02.00.07 (AM3517EVM)
    [ 0.417968] VFS: Disk quotas dquot_6.5.2
    [ 0.418121] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [ 0.421264] JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
    [ 0.422454] msgmni has been set to 222
    [ 0.427368] io scheduler noop registered
    [ 0.427398] io scheduler deadline registered
    [ 0.427581] io scheduler cfq registered (default)
    [ 0.490722] OMAP DSS rev 2.0
    [ 0.490844] omapdss supply vdds_dsi not found, using dummy regulator
    [ 0.491394] OMAP DISPC rev 3.0
    [ 0.491455] omapdss supply vdda_dac not found, using dummy regulator
    [ 0.491577] OMAP VENC rev 2
    [ 0.493133] OMAP DSI rev 1.0
    [ 0.821380] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [ 0.831268] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a OMAP UART0
    [ 0.833435] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a OMAP UART1
    [ 0.835174] omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a OMAP UART2
    [ 1.621978] console [ttyO2] enabled
    [ 1.678070] brd: module loaded
    [ 1.706542] loop: module loaded
    [ 1.717407] mtdoops: mtd device (mtddev=name/number) must be supplied
    [ 1.724548] physmap platform flash device: 08000000 at 08000000
    [ 1.737487] physmap-flash physmap-flash.0: map_probe failed
    [ 1.752410] omap2-nand driver initializing
    [ 1.757446] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xcc (Micron )
    [ 1.764587] Creating 5 MTD partitions on "omap2-nand.0":
    [ 1.770172] 0x000000000000-0x000000080000 : "xloader-nand"
    [ 1.786621] 0x000000080000-0x000000240000 : "uboot-nand"
    [ 1.800384] 0x000000240000-0x000000280000 : "params-nand"
    [ 1.813293] 0x000000280000-0x000000780000 : "linux-nand"
    [ 1.828704] 0x000000780000-0x000020000000 : "jffs2-nand"
    [ 2.146789] davinci_mdio davinci_mdio: davinci mdio revision 1.5
    [ 2.153106] davinci_mdio davinci_mdio: detected phy mask fffffffd
    [ 2.162841] davinci_mdio: probed
    [ 2.166259] davinci_mdio davinci_mdio: phy[1]: device ffffffff:01, driver Micrel KS8051
    [ 2.180267] mice: PS/2 mouse device common for all mice
    [ 2.189025] omap_device: omap_i2c.1: new worst case activate latency 0: 61035
    [ 2.199615] input: TSC2004 Touchscreen as /devices/virtual/input/input0
    [ 2.212249] i2c /dev entries driver
    [ 2.223022] omap_device: omap_wdt.-1: new worst case activate latency 0: 30517
    [ 2.232788] OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec
    [ 2.239166] omap_device: omap_wdt.-1: new worst case deactivate latency 0: 30517
    [ 2.247802] oprofile: hardware counters not available
    [ 2.253173] oprofile: using timer interrupt.
    [ 2.258361] TCP cubic registered
    [ 2.261749] Initializing XFRM netlink socket
    [ 2.266540] NET: Registered protocol family 17
    [ 2.271362] NET: Registered protocol family 15
    [ 2.276763] Registering the dns_resolver key type
    [ 2.282470] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1
    [ 2.292327] ThumbEE CPU extension supported.
    [ 2.311645] Power Management for TI OMAP3.
    [ 2.362976] clock: disabling unused clocks to save power
    [ 2.449554] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
    [ 2.965881] net eth0: attached PHY driver [Micrel KS8051] (mii_bus:phy_addr=ffffffff:01, id=221556)
    [ 3.960083] davinci_mdio davinci_mdio: resetting idled controller
    [ 3.983367] IP-Config: Complete:
    [ 3.986572] device=eth0, addr=192.168.10.107, mask=255.255.255.0, gw=192.168.10.100,
    [ 3.995178] host=stargazerhost, domain=, nis-domain=(none),
    [ 4.001525] bootserver=192.168.10.100, rootserver=192.168.10.100, rootpath=
    [ 4.012847] Waiting 4sec before mounting root device...
    [ 5.967681] PHY: ffffffff:01 - Link is Up - 100/Full
    [ 11.033447] VFS: Unable to mount root fs via NFS, trying floppy.
    [ 11.041870] VFS: Cannot open root device "nfs" or unknown-block(2,0)
    [ 11.048614] Please append a correct "root=" boot option; here are the available partitions:
    [ 11.057586] 1f00 512 mtdblock0 (driver?)
    [ 11.062988] 1f01 1792 mtdblock1 (driver?)
    [ 11.068298] 1f02 256 mtdblock2 (driver?)
    [ 11.073699] 1f03 5120 mtdblock3 (driver?)
    [ 11.079071] 1f04 516608 mtdblock4 (driver?)
    [ 11.084472] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
    [ 11.093231] [<c0044690>] (unwind_backtrace+0x0/0xe0) from [<c0348950>] (panic+0x50/0x178)
    [ 11.101898] [<c0348950>] (panic+0x50/0x178) from [<c0009048>] (mount_block_root+0x1bc/0x1fc)
    [ 11.110809] [<c0009048>] (mount_block_root+0x1bc/0x1fc) from [<c0009210>] (mount_root+0xa0/0xbc)
    [ 11.120117] [<c0009210>] (mount_root+0xa0/0xbc) from [<c000938c>] (prepare_namespace+0x160/0x1b4)
    [ 11.129486] [<c000938c>] (prepare_namespace+0x160/0x1b4) from [<c0008ca0>] (kernel_init+0x10c/0x14c)
    [ 11.139160] [<c0008ca0>] (kernel_init+0x10c/0x14c) from [<c003fad4>] (kernel_thread_exit+0x0/0x8)

    --------------------------------------------------------------------------------------------------------

    I connected network sniffer to the development host (where also nfs and tftp servers run), and found a strange thing. While u-boot's session traffic looks OK, when Linux boots and tries to mount NFS, the host doesn't answer already its ARP requests. So actually what happens during those failed boots is Linux on board trying to resolve 192.168.10.100, but the host doesn't answer. The booting kernel tries ARP 4 times, then panics with that diagnostic.

    So I put filesystem on SD card and successfully booted the board. Now when the board is running, I have full network access to it, telnet and http are working. It looks like the network problem occurs only during initial root NFS mount. I looked at ARP request packets that the booting kernel sends and found nothing unusual. Requests look correct and actually defined part of ARP packets sent by u-boot and Linux kernel is identical. However the packet is longer, and the rest of ARP packet sent by booting Linux kernel is zeroed, while the rest of packet sent by u-boot is not.

    Did you encounter such an issue? May it be that Linux host finds that zeroed remainder of ARP packet suspicios? My host is Linux Mint (Ubuntu flavor). I can send the dumped ARP packets it that helps.

    Thanks,

    Daniel

  • I finally solved the puzzle. After I succeeded booting with SD card and got a net connect, I also took a sniff of first ARP packets on host from the board. As expected, the ARP packets sent by Linux kernel were also zeroed out in their extraneous part (and it's perfectly correct to ARP specs to have anything in the rest of ethernet frame. So the packets were the same, but during boot the system panic'ed and after SD boot it worked - and together with your suggestion to add "rootdelay=10" I got the "click".

    The problem was with me connecting the dev. board to host with an ethernet cross cable. So whenever EMAC on AM3517 was reset, the net interface on host also went down. But contrary to EMAC, when the wire was up again, the host interface didn't get up itself, I had to bring it up manually. And the delay between resetting EMAC by booting kernel and its attempt to send ARPs was too short for me to run 'ifconfig eth0 192.168.10.100 up' on host.

    I resolved that for now by appending "rootdelay=30" and bringing up interface on host during that time. Of course, I'll get myself a normal net switch later today :-)

    Thanks!

    Daniel