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.

DM8168 Boot with NFS filesystem

Other Parts Discussed in Thread: PMP

Hi folks,

I am a beginner with the DaVinci DM8168 and in this forum.

We are using a DM8168  platform with software ezsdk_5_03_01_15. Our development platform is a Ubuntu 10.04 running in Vmware.

At the moment we do the first steps with this device.

I compiled the Linux kernel  success and loaded the kernel via Tftp right.

But when Boot with NFS,we get a error.We have a NFS server (nfs-kernel-server) running on our host.

Here is the log, the Uboot settings:

TI8168_EVM#printenv
bootdelay=3
baudrate=115200
verify=yes
ramdisk_file=ramdisk.gz
loadaddr=0x81000000
script_addr=0x80900000
boot_env=boot.scr
run_dvr=boot_dvr.scr
loadbootscript=fatload mmc 0 ${script_addr} ${boot_env}
bootscript= echo Running bootscript from MMC/SD to set the ENV...; source ${script_addr}
ethaddr=40:5f:c2:1e:18:62
ethact=DaVinci EMAC
bootfile=uImage
bootcmd=if mmc rescan 0; then if run loadbootscript; then run bootscript; else echo In case ENV on MMC/SD is required; echo Please put a valid script named boot.scr on the card; echo Refer to the User Guide on how to generate the image; fi; else echo Please set bootargs and bootcmd before booting the kernel; echo If that has already been done please ignore this message; fi
autoload=no
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 2010.06 (Feb 24 2012 - 11:40:15)
filesize=27229C
fileaddr=81000000
ipaddr=192.168.15.21
serverip=192.168.15.80
bootargs=console=ttyO2,115200n8 rootwait=10 rw mem=120M earlyprintk notifyk.vpssm3_sva=0xBF900000 vram=50M ti816xfb.vram=0:16M,1:16M,2:6M root=/dev/nfs nfsroot=192.168.15.200:/opt/ti-ezsdk_dm816x-evm_5_03_01_15/filesystem ip=dhcp ip=192.168.15.24:192.168.15.200:192.168.15.1:255.255.255.0:192.168.15.1:eth0:off

Environment size: 1214/8188 bytes

Next is boot log:

TI8168_EVM#tftpboot
Using DaVinci EMAC device
TFTP from server 192.168.15.80; our IP address is 192.168.15.21
Filename 'uImage'.
Load address: 0x81000000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##############################################
done
Bytes transferred = 2564764 (27229c hex)
TI8168_EVM#bootm
## Booting kernel from Legacy Image at 81000000 ...
   Image Name:   Linux-2.6.37
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2564700 Bytes = 2.4 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 2.6.37 (root@ipanda-desktop) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #7 Thu Jun 28 08:26:26 CST 2012
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: ti8168evm
bootconsole [earlycon0] enabled
vram size = 52428800 at 0x0
reserved size = 52428800 at 0x0
FB: Reserving 52428800 bytes SDRAM for VRAM
Memory policy: ECC disabled, Data cache writeback
OMAP chip is TI8168 1.1
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 17680
Kernel command line: console=ttyO2,115200n8 rootwait=10 rw mem=120M earlyprintk notifyk.vpssm3_sva=0xBF900000 vram=50M ti816xfb.vram=0:16M,1:16M,2:6M root=/dev/nfs nfsroot=192.168.15.200:/opt/ti-ezsdk_dm816x-evm_5_03_01_15/filesystem ip=dhcp ip=192.168.15.24:192.168.15.200:192.168.15.1:255.255.255.0:192.168.15.1:eth0:off
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 70MB = 70MB total
Memory: 65060k/65060k available, 57820k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xc8000000 - 0xf8000000   ( 768 MB)
    lowmem  : 0xc0000000 - 0xc7800000   ( 120 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .init : 0xc0008000 - 0xc003a000   ( 200 kB)
      .text : 0xc003a000 - 0xc04e0000   (4760 kB)
      .data : 0xc04e0000 - 0xc05289c0   ( 291 kB)
SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:407
IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
Total of 128 interrupts on 1 active controller
GPMC revision 6.0
Trying to install interrupt handler for IRQ400
Trying to install interrupt handler for IRQ401
Trying to install interrupt handler for IRQ402
Trying to install interrupt handler for IRQ403
Trying to install interrupt handler for IRQ404
Trying to install interrupt handler for IRQ405
Trying to install interrupt handler for IRQ406
Trying to install type control for IRQ407
Trying to set irq flags for IRQ407
OMAP clockevent source: GPTIMER1 at 27000000 Hz
Console: colour dummy device 80x30
Calibrating delay loop... 986.31 BogoMIPS (lpj=4931584)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
omap_voltage_early_init: voltage driver support not added
regulator: core version 0.5
regulator: dummy:
NET: Registered protocol family 16
OMAP GPIO hardware version 0.1
OMAP GPIO hardware version 0.1
omap_mux_init: Add partition: #1: core, flags: 0
_omap_mux_get_by_name: Could not find signal i2c2_scl.i2c2_scl
_omap_mux_get_by_name: Could not find signal i2c2_sda.i2c2_sda
NOR: Can't request GPMC CS
registered ti816x_vpss device
registered ti816x_gpio_vr device
registered TI816x on-chip HDMI device
registered ti81xx_vidout device
pm_dbg_init: only OMAP3 supported
ti81xx_pcie: Invoking PCI BIOS...
ti81xx_pcie: Setting up Host Controller...
ti81xx_pcie: Register base mapped @0xc8020000
ti81xx_pcie: Starting PCI scan...
PCI: bus0: Fast back to back transfers enabled
bio: create slab <bio-0> at 0
regulator: VFB: 800 <--> 1025 mV at 920 mV
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
registerd cppi-dma Intr @ IRQ 17
Cppi41 Init Done
omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
omap_i2c omap_i2c.2: bus 2 rev4.0 at 100 kHz
Advanced Linux Sound Architecture Driver Version 1.0.23.
Switching to clocksource gp timer
musb-hdrc: version 6.0, host, debug=0
musb-hdrc musb-hdrc.0: dma type: dma-cppi41
musb-hdrc: kernel must blacklist external hubs
musb-hdrc musb-hdrc.0: MUSB HDRC host driver
musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: MUSB HDRC host driver
usb usb1: Manufacturer: Linux 2.6.37 musb-hcd
usb usb1: SerialNumber: musb-hdrc.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
musb-hdrc musb-hdrc.0: USB Host mode controller at c801e000 using DMA, IRQ 18
musb-hdrc musb-hdrc.1: dma type: dma-cppi41
musb-hdrc: kernel must blacklist external hubs
musb-hdrc musb-hdrc.1: MUSB HDRC host driver
musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: MUSB HDRC host driver
usb usb2: Manufacturer: Linux 2.6.37 musb-hcd
usb usb2: SerialNumber: musb-hdrc.1
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
musb-hdrc musb-hdrc.1: USB Host mode controller at c8026800 using DMA, IRQ 19
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
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (double precision)
PMU: registered new PMU device of type 0
omap-iommu omap-iommu.0: ducati registered
omap-iommu omap-iommu.1: sys registered
Registering the id_resolver key type
nfs4filelayout_init: NFSv4 File Layout Driver Registering...
JFFS2 version 2.2. (NAND) 漏 2001-2006 Red Hat, Inc.
msgmni has been set to 127
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
console [ttyO2] enabled, bootconsole disabled
console [ttyO2] enabled, bootconsole disabled
brd: module loaded
loop: module loaded
ahci ahci.0: forcing PORTS_IMPL to 0x3
ahci ahci.0: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3 impl platform mode
ahci ahci.0: flags: ncq sntf pm led clo only pmp pio slum part ccc
scsi0 : ahci_platform
scsi1 : ahci_platform
ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x100 irq 16
ata2: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x180 irq 16
m25p80 spi1.0: w25x32 (4096 Kbytes)
Creating 4 MTD partitions on "spi_flash":
0x000000000000-0x000000040000 : "U-Boot"
0x000000040000-0x000000042000 : "U-Boot Env"
0x000000042000-0x0000002c2000 : "Kernel"
0x0000002c2000-0x000000400000 : "File System"
omap2-nand driver initializing
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron )
Creating 5 MTD partitions on "omap2-nand.0":
0x000000000000-0x000000260000 : "U-Boot"
0x000000260000-0x000000280000 : "U-Boot Env"
0x000000280000-0x0000006c0000 : "Kernel"
0x0000006c0000-0x00000cee0000 : "File System"
0x00000cee0000-0x000010000000 : "Reserved"
davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
davinci_mdio davinci_mdio.0: detected phy mask fffffffd
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver dm9601
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
i2c /dev entries driver
Linux video capture interface: v2.00
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v1.0.0)
OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
notify_init : notify drivercreated  for  remote proc id 2 at physical Address 0xbf900000
usbcore: registered new interface driver snd-usb-audio
asoc: tlv320aic3x-hifi <-> davinci-mcasp.2 mapping ok
ALSA device list:
  #0: TI8168 EVM
TCP cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
omap_voltage_late_init: Voltage driver support not added
Power Management for TI81XX.
regulator_init_complete: disabling VFB
omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
ata2: SATA link down (SStatus 0 SControl 300)
ata1: SATA link down (SStatus 0 SControl 300)
davinci_mdio davinci_mdio.0: resetting idled controller
net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, id=282f013)
IP-Config: Complete:
     device=eth0, addr=192.168.15.24, mask=255.255.255.0, gw=192.168.15.1,
     host=192, domain=, nis-domain=168.15.1,
     bootserver=192.168.15.200, rootserver=192.168.15.200, rootpath=
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; here are the available partitions:
1f00             256 mtdblock0  (driver?)
1f01               8 mtdblock1  (driver?)
1f02            2560 mtdblock2  (driver?)
1f03            1272 mtdblock3  (driver?)
1f04            2432 mtdblock4  (driver?)
1f05             128 mtdblock5  (driver?)
1f06            4352 mtdblock6  (driver?)
1f07          204928 mtdblock7  (driver?)
1f08           50304 mtdblock8  (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
Backtrace:
[<c0048b58>] (dump_backtrace+0x0/0x110) from [<c03a0614>] (dump_stack+0x18/0x1c)
 r7:c4348000 r6:00000000 r5:c002d854 r4:c0529190
[<c03a05fc>] (dump_stack+0x0/0x1c) from [<c03a0678>] (panic+0x60/0x17c)
[<c03a0618>] (panic+0x0/0x17c) from [<c0009258>] (mount_block_root+0x1e0/0x220)
 r3:00000000 r2:00000000 r1:c4025f58 r0:c0461a0c
[<c0009078>] (mount_block_root+0x0/0x220) from [<c0009344>] (mount_root+0xac/0xcc)
[<c0009298>] (mount_root+0x0/0xcc) from [<c00094d4>] (prepare_namespace+0x170/0x1d4)
 r4:c0528a24
[<c0009364>] (prepare_namespace+0x0/0x1d4) from [<c0008784>] (kernel_init+0x114/0x154)
 r5:c0008670 r4:c05289c0
[<c0008670>] (kernel_init+0x0/0x154) from [<c006e9a0>] (do_exit+0x0/0x5e4)
 r5:c0008670 r4:00000000

this info 'VFS: Cannot open root device "nfs" or unknown-block(2,0)' show the linux kernel may not support nfs module,but i find the all nfs related option  selected, but i don't know why '/dev/nfs' don't exist

I need help! Thanks!

Best Regards!

  • i think you should start the DHCP and  NFS service at host and make sure it's config well.

  • dear zhou,thank you!

    NFS service is config well,Now, I use the same kernel,when read it from SD,it's work well.but when i boot from tftp,

    That error occurs.
    A strange phenomenon, if the kernel get by tftp,During system startup, Network connections will always break and then connect.
    But when it read from SD,This problem would not exist.
    My English is rather poor , thank you Reply

  • Can you post some information when network connection break and your english is better than me,lol.

  • Hi Shp,

    Similar issues were discussed, can you check this thread and see if it works for you?

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/180826/652860.aspx#652860

    Regards

    AnilKumar

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

  • Hi zhou:
    Now i connect to nfs successful.
    When booting the kernel,i don't know why the kernel reconfig the network card.
    and in u-boot command, when use 'ping' also cause network break,and the network card link up again
    the infomation show:
    TI8168_EVM#ping 192.168.15.200
    Using DaVinci EMAC device
    host 192.168.15.200 is alive
    TI8168_EVM#
    so, new bootargs param add 'rootdelay=4' ,wait the link up
    bootargs=console=ttyO2,115200n8  rw mem=120M earlyprintk notifyk.vpssm3_sva=0xBF
    900000 vram=50M ti816xfb.vram=0:16M,1:16M,2:6M root=/dev/nfs nfsroot=192.168.15.
    200:/opt/ti-ezsdk_dm816x-evm_5_03_01_15/filesystem ip=192.168.15.21:192.168.15.2
    00:192.168.15.1:255.255.255.0:ipanda:eth0:off rootdelay=4
    the kernel infomation is:
    net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, id=282f013)
    IP-Config: Complete:
         device=eth0, addr=192.168.15.21, mask=255.255.255.0, gw=192.168.15.1,
         host=ipanda, domain=, nis-domain=(none),
         bootserver=192.168.15.200, rootserver=192.168.15.200, rootpath=
    Waiting 4sec before mounting root device...
    PHY: 0:01 - Link is Up - 1000/Full
    VFS: Mounted root (nfs filesystem) on device 0:14.
    devtmpfs: mounted
  • thank you,the problem has been resolved!