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.

Omap-l137 cannot boot by nfs filesys

Other Parts Discussed in Thread: DA8XX

I set up nfs and test it.Ip of pc workstation is 192.168.0.77. 

#mount  192.168.0.77:/home/xjtu/workdir/filesys /mnt.

I can find filesys in /mnt.

EVM information:

U-Boot > printenv

bootcmd=
bootdelay=3
baudrate=115200
ethaddr=00:0e:99:02:f3:c2
nfshost=192.168.0.77
bootargs=console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock mem=32M
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 1.3.3 (Nov 14 2008 - 15:07:10)
bootfile=uImage
filesize=1E42C0
fileaddr=C0700000
netmask=255.255.255.0
ipaddr=192.168.0.10
serverip=192.168.0.77
dnsip=192.168.0.1
rootpath=/home/xjtu/workdir/filesys

Environment size: 447/16380 bytes

When i use boot command, The EVM have no reaction.DHCP and tftp are ok,And the kernel can boot when i use bootm command.

U-Boot > dhcp

BOOTP broadcast 1
DHCP client bound to address 192.168.0.10
TFTP from server 192.168.0.77; our IP address is 192.168.0.10
Filename 'uImage'.
Load address: 0xc0700000
Loading: #################################################################
  #################################################################
  #################################################################
  #################################################################
  #################################################################
  ###############################################################
done
Bytes transferred = 1983168 (1e42c0 hex)
U-Boot > boot

U-Boot > bootm

## Booting kernel from Legacy Image at c0700000 ...
   Image Name:   Linux-2.6.18_pro500
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1983104 Bytes =  1.9 MB
   Load Address: c0008000
   Entry Point:  c0008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux................................................................................................................................... done, booting the kernel.
Linux version 2.6.18_pro500 (root@dengyongchao) (gcc 鐗堟湰 4.2.0 20070126 (prerelease) (MontaVista 4.2.0-3.0.0.0702771 2007-03-10)) #1 PREEMPT Mon Dec 29 21:42:01 CST 2008
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: DaVinci DA8XX EVM
Memory policy: ECC disabled, Data cache writethrough
DaVinci DA0800 variant 0x0
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
Built 1 zonelists.  Total pages: 8192
Kernel command line: console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock mem=32M
PID hash table entries: 256 (order: 8, 1024 bytes)
Clock event device timer0_0 configured with caps set: 03
Console: colour dummy device 80x30
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 32MB = 32MB total
Memory: 28176KB available (3437K code, 646K data, 156K 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: 128 gpio irqs
Generic PHY: Registered new driver
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
NET: Registered protocol family 2
IP route cache hash table entries: 256 (order: -2, 1024 bytes)
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: -1, 2048 bytes)
TCP: Hash tables configured (established 1024 bind 512)
TCP reno registered
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
NTFS driver 2.1.27 [Flags: R/W].
JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
yaffs Dec 29 2008 21:31:42 Installing.
JFS: nTxBlock = 220, nTxLock = 1762
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
DAVINCI-WDT: DaVinci Watchdog Timer: heartbeat 60 sec
Serial: 8250/16550 driver $Revision: 1.90 $ 3 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO map 0x1c42000 mem 0xfec42000 (irq = 25) is a 16550A
serial8250.0: ttyS1 at MMIO map 0x1c20400 mem 0xfed0c000 (irq = 53) is a 16550A
serial8250.0: ttyS2 at MMIO map 0x1d0d000 mem 0xfed0d000 (irq = 61) is a 16550A
RAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksize
netconsole: not configured, aborting
Davinci EMAC MII Bus: probed
MAC address is 00:0e:99:02:f3:c2
TI DaVinci EMAC Linux version updated 4.0
i2c /dev entries driver
physmap platform flash device: 01000000 at 60000000
physmap-flash physmap-flash.0: map_probe failed
nand_davinci nand_davinci.0: Using 4-bit hardware ECC
No NAND device found!!!
nand_davinci nand_davinci.0: no nand device detected
SPI FLASH Manufacture code 15 not supported<4>spi_flash: probe of spi0.0 failed with error -1
dm_spi.0: davinci SPI Controller driver at 0xfec41000 (irq = 20) use_dma=1
dm_spi.1: davinci SPI Controller driver at 0xfee12000 (irq = 56) use_dma=1
ohci ohci.0: DA8xx OHCI
ohci ohci.0: new USB bus registered, assigned bus number 1
ohci ohci.0: irq 59, io mem 0x01e25000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver libusual
musb_hdrc: version 6.0, cppi4.1-dma, host, debug=0
Waiting for PHY clock good...
musb_hdrc: USB Host mode controller at c28a0000 using DMA, IRQ 58
musb_hdrc musb_hdrc: MUSB HDRC host driver
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 2
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
mice: PS/2 mouse device common for all mice
rtc-da8xx rtc-da8xx.0: rtc intf: proc
rtc-da8xx rtc-da8xx.0: rtc intf: dev (254:0)
rtc-da8xx rtc-da8xx.0: rtc core: registered rtc-da8xx as rtc0
rtc-da8xx rtc-da8xx.0: TI DA8xx Real Time Clock driver.
IPv4 over IPv4 tunneling driver
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
rtc-da8xx rtc-da8xx.0: setting the system clock to 2000-01-08 19:02:58 (947358178)
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
Sending DHCP requests .., OK
IP-Config: Got DHCP answer from 192.168.0.77, my address is 192.168.0.10
IP-Config: Complete:
      device=eth0, addr=192.168.0.10, mask=255.255.255.0, gw=192.168.0.1,
     host=192.168.0.10, domain=cy.com, nis-domain=(none),
     bootserver=192.168.0.77, rootserver=192.168.0.77, rootpath=/var/lib/tftpboot/
Looking up port of RPC 100003/2 on 192.168.0.77
Looking up port of RPC 100005/1 on 192.168.0.77
Root-NFS: Server returned error -13 while mounting /tftpboot/$(nfshost):$(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
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
 ******************************************************************************************

Except that,I cannot find there is  /dev/nfs in my fedora 9 system.

  • YongchaoDeng said:

    U-Boot > printenv

    bootcmd=
    bootdelay=3
    baudrate=115200
    ethaddr=00:0e:99:02:f3:c2
    nfshost=192.168.0.77
    bootargs=console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock mem=32M
    stdin=serial
    stdout=serial
    stderr=serial
    ver=U-Boot 1.3.3 (Nov 14 2008 - 15:07:10)
    bootfile=uImage
    filesize=1E42C0
    fileaddr=C0700000
    netmask=255.255.255.0
    ipaddr=192.168.0.10
    serverip=192.168.0.77
    dnsip=192.168.0.1
    rootpath=/home/xjtu/workdir/filesys

    Environment size: 447/16380 bytes

    When i use boot command, The EVM have no reaction.DHCP and tftp are ok,And the kernel can boot when i use bootm command.

    For background information, I would suggest reviewing the u-boot documentation which can be found at http://www.denx.de/wiki/DULG/Manual.
    If you look at the boot default category, it indicates the use of 'boot' will simply execute the environment variable bootcmd.

    Above, you do not have bootcmd set to anything.  Therefore, I suspect this is why you do not see any reaction when typing 'boot' on the u-boot command line.

     

    YongchaoDeng said:

    Root-NFS: Server returned error -13 while mounting /tftpboot/$(nfshost):$(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
    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

    Regarding the console output, this is caused by the bootargs environment variable in u-boot actually being the following:

    bootargs=console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock mem=32M

    u-boot has actually passed to the linux kernel literally $(nfshost) and $(rootpath) and not the value represented by those u-boot environment variables.

     

    You really want bootargs, in your example, to be the following:

    bootargs=console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.168.0.77:/home/xjtu/workdir/filesys,nolock mem=32M

     

    I believe you may have done something like the following:

    u-boot prompt> setenv bootargs console=ttyS2,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=\$(nfshost):\$(rootpath),nolock mem=32M

     

    This type of thing can be used to create u-boot environment variables like bootargs_nfs, bootargs_ramdisk, etc.  Then to quickly switch back and forth between boot options, you can simply perform:

    u-boot prompt> run bootargs_nfs

     

    This will expand the $(nfshost) and $(rootpath) the actual values.

  • Thank you for your help!