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.

boot fail When NFS mounted filesystem is being used

Intellectual 970 points

Replies: 11

Views: 7962

according to user guide, board can boot when kernel image is in flash, filesystem can be in flash or mounted by NFS.
i boot my board with kernel image in flash, filesystem in flash, boot succeed.
i boot my board with kernel image in flash, filesystem mounted by NFS, boot fail.
any suggestion ? following are the booting message.
 
TI8148_IPNC#nand read.i 0x81000000 280000 500000
NAND read: device 0 offset 0x280000, size 0x500000
 5242880 bytes read: OK
TI8148_IPNC#setenv bootargs 'mem=128M console=ttyO0,115200n8 root=/dev/nfs nfsroot=10.2.1.10:/BoardNFS,nolock rw ip=10.2.1.9:10.2.1.10:10.2.1.254:255.255.255.0:dm812x_ipnc:eth0:off'
TI8148_IPNC#bootm 0x81000000
## Booting kernel from Legacy Image at 81000000 ...
   Image Name:   Linux-2.6.37
   Created:      2011-06-17   7:17:13 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2416160 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.
Linux version 2.6.37 (wenchi@localhost.localdomain) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1 Fri Jun 17 15:17:07 CST 2011
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: ti8148ipnc
reserved size = 0 at 0
Memory policy: ECC disabled, Data cache writeback
OMAP chip is TI8148
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
Kernel command line: mem=128M console=ttyO0,115200n8 root=/dev/nfs nfsroot=10.2.1.10:/BoardNFS,nolock rw ip=10.2.1.9:10.2.1.10:10.2.1.254:255.255.255.0:dm812x_ipnc: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: 128MB = 128MB total
Memory: 124780k/124780k available, 6292k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xc8800000 - 0xf8000000   ( 760 MB)
    lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .init : 0xc0008000 - 0xc0034000   ( 176 kB)
      .text : 0xc0034000 - 0xc048d000   (4452 kB)
      .data : 0xc048e000 - 0xc04cb9a0   ( 247 kB)
SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:375
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 IRQ368
Trying to install interrupt handler for IRQ369
Trying to install interrupt handler for IRQ370
Trying to install interrupt handler for IRQ371
Trying to install interrupt handler for IRQ372
Trying to install interrupt handler for IRQ373
Trying to install interrupt handler for IRQ374
Trying to install type control for IRQ375
Trying to set irq flags for IRQ375
OMAP clockevent source: GPTIMER1 at 20000000 Hz
Console: colour dummy device 80x30
Calibrating delay loop... 598.01 BogoMIPS (lpj=2990080)
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 GPIO hardware version 0.1
OMAP GPIO hardware version 0.1
registered ti814x_vpss device
pm_dbg_init: only OMAP3 supported
Registered ti81xx_fb device
PWM0 init success.
PWM1 init success.
Could not look up wd_timer-1 hwmod
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
omap_i2c omap_i2c.1: bus 1 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
registerd cppi-dma Intr @ IRQ 17
Cppi41 Init Done
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 c880c000 using DMA, IRQ 18
musb-hdrc musb-hdrc.1: dma type: dma-cppi41
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 c881e800 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)
omap-iommu omap-iommu.0: ducati registered
omap-iommu omap-iommu.1: sys registered
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 243
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
console [ttyO0] enabled
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
omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
brd: module loaded
loop: module loaded
ahci ahci.0: forcing PORTS_IMPL to 0x1
ahci ahci.0: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
ahci ahci.0: flags: ncq sntf pm led clo only pmp pio slum part ccc apst 
scsi0 : ahci_platform
ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x100 irq 16
omap2-nand driver initializing
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron )
Creating 6 MTD partitions on "omap2-nand.0":
0x000000000000-0x000000020000 : "U-Boot-min"
0x000000020000-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
rtc-tps65911 1-002d: rtc core: registered rtc-tps65911 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)
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usbcore: registered new interface driver snd-usb-audio
tlv320aic26-codec 1-0000: Probing AIC26 SoC CODEC driver
asoc: tlv320aic26-hifi <-> davinci-mcasp.2 mapping ok
ALSA device list:
  #0: TI8148 IPNC
TCP cubic registered
NET: Registered protocol family 17
Registering the dns_resolver key type
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
omap_voltage_late_init: Voltage driver support not added
Detected MACID=0:0:0:0:0:0
rtc-tps65911 1-002d: setting system clock to 2000-02-01 06:06:56 UTC (949385216)
ata1: SATA link down (SStatus 0 SControl 300)
CPSW phy found : id is : 0x282f014
IP-Config: Complete:
     device=eth0, addr=10.2.1.9, mask=255.255.255.0, gw=10.2.1.254,
     host=dm812x_ipnc, domain=, nis-domain=(none),
     bootserver=10.2.1.10, rootserver=10.2.1.10, rootpath=
PHY: 0:01 - Link is Up - 100/Full
VFS: Mounted root (nfs filesystem) on device 0:14.
devtmpfs: error mounting -2
Freeing init memory: 176K
Kernel panic - not syncing: No init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
Backtrace: 
[<c0042b44>] (dump_backtrace+0x0/0x110) from [<c0369ff4>] (dump_stack+0x18/0x1c)
 r7:00000013 r6:c0061258 r5:c0008670 r4:c04cc050
[<c0369fdc>] (dump_stack+0x0/0x1c) from [<c036a058>] (panic+0x60/0x17c)
[<c0369ff8>] (panic+0x0/0x17c) from [<c0034574>] (init_post+0xa4/0xc4)
 r3:c7a49a00 r2:00000000 r1:c05f7920 r0:c041afdd
[<c00344d0>] (init_post+0x0/0xc4) from [<c0008788>] (kernel_init+0x118/0x154)
 r5:c0008670 r4:c04cb9c0
[<c0008670>] (kernel_init+0x0/0x154) from [<c0061258>] (do_exit+0x0/0x5e4)
 r5:c0008670 r4:00000000

11 Replies

  • Hi,

    I know this info may not be helpful.

    I met a similar problem, and got stuck on it for 2 days.

    Then I just try anthoer Linux host B, the problem disappeared.

    After that, I reinstalled my Linux image on host A and updated it, and then the problem get solved.

    Jun

     

  • In reply to Jun_Zhang:

    Could you please share the bootargs with us?

     

  • In reply to Jun_Zhang:

    Huang,

    Are you able to run 'dhcp' at the u-boot prompt? Does it give you the correct ip address of your target & host?

    Are you using a direct connection between your EVM & PC?

    Make sure your host's "/etc/exports" has the correct NFS mount listed.

    Be sure to disable your host firewall.

     

    Thank You,
    Michael Risley
    Texas Instruments

  • In reply to Jun_Zhang:

    Jun Zhang73904

    Could you please share the bootargs with us?

     

     

    hi, Jun

    setenv bootargs 'mem=128M console=ttyO0,115200n8 root=/dev/nfs 

    nfsroot=10.2.1.10:/BoardNFS,nolock rw 

    ip=10.2.1.9:10.2.1.10:10.2.1.254:255.255.255.0:dm812x_ipnc:eth0:off'

  • In reply to Michael Risley:

    hi, Michael

    i didn't run 'dhcp' at the u-boot prompt, i use static ip only

    yes, EVM & PC is direct connection

    if i boot board use filesystem in flash, after boot successfully, i can mount host folder to board.

    must i boot under 'dhcp' when booting use filesystem by NFS ?

  • In reply to huang jack:

    Hi huang huang

     Please ensure your file system is under nfsroot=10.2.1.10:/BoardNFS and was set under nfs server.

     I use DM8168, and my EZSDK is 5_02_xx_xx,

     My  bootcmd is like this "bootcmd=dhcp;setenv serverip 172.16.1.62;tftpboot;bootm", and my board works well.

     Good luck.

    regards,

    lei

  • In reply to Lei Wong:

    hi, Lei

    the nfs filesystem is ok, since i can mount it after board boot successfully.

    i use static ip not 'dhcp'.

    would you try static ip for a test ?

  • In reply to huang jack:

    How did you populate the BoardNFS directory? That directory may not be "bootable"...as it may not have all the special files and permissions. It may also not be owned by root. Usually you would untar a rootfs image onto that directory. Since you can mount the NFS directory, you could tar up your target rootfs and untar onto your mounted NFS directory. A plain recursive copy usually doesn't copy special file properly.


  • In reply to huang jack:

    Hi huang huang,

     

      Sorry for the late reply. Have you fixed your problem?

      I tested my board using static ip, and it failed. 

      I set it just like this "setenv bootargs 'console=ttyO2,115200n8 rootwait rw mem=256M earlyprink notifyk.vpssm3_sva=0xBF900000 vram=50M ti816xfb.vram=0:16M,1:16M,2:6M root=/dev/nfs nfsroot=172.16.1.62:/home/xiaoxiao/targetfs2 ip=172.16.1.61:172.16.1.62:172.16.1.1:255.255.255.0:dm816x-evm:eth0:off'"

      The booting message shows as below.

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

    net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, id=282f013)

    IP-Config: Complete:

         device=eth0, addr=172.16.1.61, mask=255.255.255.0, gw=172.16.1.1,

         host=dm816x-evm, domain=, nis-domain=(none),

         bootserver=172.16.1.62, rootserver=172.16.1.62, rootpath=

    PHY: 0:01 - Link is Up - 1000/Full

    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:

    [<c0046b44>] (dump_backtrace+0x0/0x110) from [<c0364b48>] (dump_stack+0x18/0x1c)

     r7:cc813000 r6:00000000 r5:c002c014 r4:c04d9110

    [<c0364b30>] (dump_stack+0x0/0x1c) from [<c0364bac>] (panic+0x60/0x17c)

    [<c0364b4c>] (panic+0x0/0x17c) from [<c0009254>] (mount_block_root+0x1e0/0x220)

     r3:00000000 r2:00000000 r1:cc82bf58 r0:c041a9dc

    [<c0009074>] (mount_block_root+0x0/0x220) from [<c0009340>] (mount_root+0xac/0xc

    c)

    [<c0009294>] (mount_root+0x0/0xcc) from [<c00094d0>] (prepare_namespace+0x170/0x

    1d4)

     r4:c04d8a24

    [<c0009360>] (prepare_namespace+0x0/0x1d4) from [<c0008784>] (kernel_init+0x114/

    0x154)

     r5:c0008670 r4:c04d89c0

    [<c0008670>] (kernel_init+0x0/0x154) from [<c006aeec>] (do_exit+0x0/0x5e4)

     r5:c0008670 r4:00000000

    -------------------------------------------------------------------------------------------------------------------- it stoped here!
     Wish this will give you some help. :(
     Regards,
    lei

  • In reply to Lei Wong:

    Hi, Lei

    Sorry for the late reply, and thanks for your try. board still boot fail when using static IP. I'm waiting for the  corresponding release SDK for my board.

    Thanks! 

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.