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