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.

8168 pcie endpoint boot from RC error

Hi all,

      The environment is dvr rdk 3.5.0.5, RC is running openSuse 11.4

      The step which I follow is from http://processors.wiki.ti.com/index.php/TI81XX_PSP_U-Boot_PCIe_Boot_User_Guide

      I use spi boot  mode, the uboot is built with "make ti8168_evm_min_pcie_32"

      insmod ti81xx_pcie_boot.ko is ok, after I run "./saBootApp.o boot.scr uImage initrd_pe2k.image"

      Linux is booting, but  stopped  and printed:

RAMDISK: Couldn't find valid RAM disk image starting at 0.
List of all partitions:
No filesystem could mount root, tried: ext3 ext2 vfat msdos iso9660
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
Backtrace:
[<c004fbdc>] (dump_backtrace+0x0/0x110) from [<c03ab1c0>] (dump_stack+0x18/0x1c)
r7:c4814000 r6:00000000 r5:c002fa94 r4:c0536b90
[<c03ab1a8>] (dump_stack+0x0/0x1c) from [<c03ab224>] (panic+0x60/0x17c)
[<c03ab1c4>] (panic+0x0/0x17c) from [<c00092b4>] (mount_block_root+0x1e0/0x220)
r3:00000000 r2:00000020 r1:c4825f58 r0:c04699cc
[<c00090d4>] (mount_block_root+0x0/0x220) from [<c00093a0>] (mount_root+0xac/0xcc)
[<c00092f4>] (mount_root+0x0/0xcc) from [<c0009530>] (prepare_namespace+0x170/0x1d4)
r4:c0535fe4
[<c00093c0>] (prepare_namespace+0x0/0x1d4) from [<c00087c4>] (kernel_init+0x114/0x154)
r5:c00086b0 r4:c0535f80
[<c00086b0>] (kernel_init+0x0/0x154) from [<c0078c98>] (do_exit+0x0/0x5e4)
r5:c00086b0 r4:00000000

     initrd_pe2k.image is about 20M, I modify the saBootApp.c to let it work right. 

     the content of boot.scr is 

setenv bootargs 'console=ttyO2,115200n8 root=/dev/ram initrd=0x81000000,20M rw mem=128M'

bootm 0x80900000 0x81000000

     How do I solve this problem?

Thanks

Jack

  • The full log of linux booting is 

    Setting up for pcie boot...
    PCIe link UP, waiting for boot from HOST...
    U-Boot 2010.06-dirty (Mar 27 2013 - 13:50:00)
    
    TI8168-GP rev 2.0
    
    ARM clk: 987MHz
    DDR clk: 796MHz
    
    DRAM:  1 GiB
    Using default environment
    
    
    Setting up for pcie boot...
    PCIe link UP, waiting for boot from HOST...
    
    
    U-Boot 2010.06-dirty (Mar 27 2013 - 13:50:00)
    
    TI8168-GP rev 2.0
    
    ARM clk: 987MHz
    DDR clk: 796MHz
    
    DRAM:  1 GiB
    Using default environment
    
    
    Setting up for pcie boot...
    PCIe link UP, waiting for boot from HOST...
            ---> boot command received, proceed to auto boot...
    Hit any key to stop autoboot:  0 
    ## Executing script at 80400000
    ## Booting kernel from Legacy Image at 80900000 ...
       Image Name:   Linux-2.6.37
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2595028 Bytes = 2.5 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
    ## Loading init Ramdisk from Legacy Image at 81000000 ...
       Image Name:   rootfs
       Image Type:   ARM Linux RAMDisk Image (uncompressed)
       Data Size:    20518270 Bytes = 19.6 MiB
       Load Address: 81000000
       Entry Point:  81000040
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    Linux version 2.6.37 (root@root) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #158 Tue Mar 26 14:59:22 CST 2013
    CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine: ud8168_dvr
    ti81xx_reserve: ### Reserved DDR region @87f00000
    reserved size = 52428800 at 0x0
    FB: Reserving 52428800 bytes SDRAM for VRAM
    Memory policy: ECC disabled, Data cache writeback
    OMAP chip is TI8168 2.0
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 19456
    Kernel command line: console=ttyO2,115200n8 root=/dev/ram initrd=0x81000000,20M rw mem=128M
    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: 76MB 1MB = 77MB total
    Memory: 51504k/51504k available, 79568k 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)
        pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
        modules : 0xbf000000 - 0xbfe00000   (  14 MB)
          .init : 0xc0008000 - 0xc0041000   ( 228 kB)
          .text : 0xc0041000 - 0xc04eb000   (4776 kB)
          .data : 0xc04ec000 - 0xc0535f80   ( 296 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
    TI81XX: Map 0x87f00000 to 0xfe500000 for dram barrier
    TI81XX: Map 0x40300000 to 0xfe600000 for sram barrier
    omap_voltage_early_init: voltage driver support not added
    regulator: core version 0.5
    regulator: dummy: 
    NET: Registered protocol family 16
    omap_voltage_domain_lookup: Voltage driver init not yet happened.Faulting!
    omap_voltage_add_dev: VDD specified does not exist!
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    ti81xx_mux_init 
    omap_mux_init: Add partition: #1: core, flags: 0
    3-wired eeprom init done. (H/W ver:00)
    _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
    ti816x_nand_partitions_bs128
    registered ti816x_sr device
    Cannot clk_get ck_32
    pm_dbg_init: only OMAP3 supported
    registered ti81xx_vpss device
    registered ti81xx_vidout device
    registered ti81xx on-chip HDMI device
    registered ti81xx_fb device
    bio: create slab <bio-0> at 0
    vgaarb: loaded
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    USBSS revision 4ea20809
    registerd cppi-dma Intr @ IRQ 17
    Cppi41 Init Done
    omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
    pmbus 1-0038: no platform data supplied
    pmbus: probe of 1-0038 failed with error -5
    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 controller-0 revision 4ea20800
    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 c881e000 using DMA, IRQ 18
    musb-hdrc musb-hdrc.1: dma type: dma-cppi41
    MUSB controller-1 revision 4ea20800
    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 c8828800 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.
    Trying to unpack rootfs image as initramfs...
    rootfs image is not initramfs (junk in compressed archive); looks like an initrd
    Freeing initrd memory: 20480K
    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
    JFFS2 version 2.2. (NAND) ? 2001-2006 Red Hat, Inc.
    msgmni has been set to 140
    io scheduler noop registered
    io scheduler deadline registered
    io scheduler cfq registered (default)
    version_init:MAJOR(dev):253
    kernel version:2.9.0
    env_dev_init begin
    env_dev_init over
    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
    brd: module loaded
    loop: module loaded
    ahci probe: devid name is ahci
    ahci CAP register dump =0x6726ff81
    Modified ahci CAP register dump =0x6f26ff81
    ahci ahci.0: forcing PORTS_IMPL to 0x3
    ahci: SSS flag set, parallel bus scan disabled
    ahci ahci.0: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3 impl platform mode
    ahci ahci.0: flags: ncq sntf stag 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
    omap2-nand driver initializing
    No NAND device found.
    No NAND device found.
    davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    davinci_mdio davinci_mdio.0: no live phy, scanning all
    davinci_mdio: probe of davinci_mdio.0 failed with error -5
    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-ds1307: probe of 1-0068 failed with error -5
    omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
    i2c /dev entries driver
    Linux video capture interface: v2.00
    sii9134_p0_probe
    sii9134_p0 2-003b: chip found @ 0x76 (OMAP I2C adapter)
    sii9134_p1_probe
    sii9134_p1 2-003f: chip found @ 0x7e (OMAP I2C adapter)
    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
    usbcore: registered new interface driver snd-usb-audio
    aic3x_i2c_probe 2012.12.04
    1:aic3x_i2c_probe 2012.12.04 aic3x->gpio_reset:-1
    Registered tvp5158 audio codec
    davinci_mcasp_probe pdev->name:davinci-mcasp
    davinci_mcasp_probe 1
    davinci_mcasp_probe 2
    davinci_mcasp_probe 3
    clk_rate:172032000
    davinci_mcasp_probe pdev->name:davinci-mcasp
    davinci_mcasp_probe 1
    davinci_mcasp_probe 2
    davinci_mcasp_probe 3
    clk_rate:172032000
    asoc: tvp5158-hifi <-> davinci-mcasp.0 mapping ok
    aic3x_init wm8978_gpio 2013-02-28
    wm8978_gpio
    wm8978_gpio_i2c
    Failed to add route HPLOUT->Headphone Jack
    dapm: tlv320aic3x-codec.1-0018: configuring unknown pin MONO_LOUT
    dapm: tlv320aic3x-codec.1-0018: configuring unknown pin HPLCOM
    dapm: tlv320aic3x-codec.1-0018: configuring unknown pin HPRCOM
    asoc: tlv320aic3x-hifi <-> davinci-mcasp.2 mapping ok
    asoc: HDMI-DAI-CODEC <-> hdmi-dai mapping ok
    ALSA device list:
      #0: TI81XX_DVR_CARD0
      #1: TI81XX_DVR_CARD1
    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.
    smartreflex smartreflex: Driver initialized
    davinci_emac_probe: using random MAC addr: be:22:f9:a6:c9:ae
    davinci_emac_probe: using random MAC addr: 62:6e:38:5d:b7:20
    omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
    ata1: SATA link down (SStatus 0 SControl 300)
    ata2: SATA link down (SStatus 0 SControl 300)
    RAMDISK: Couldn't find valid RAM disk image starting at 0.
    List of all partitions:
    No filesystem could mount root, tried:  ext3 ext2 vfat msdos iso9660
    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
    Backtrace: 
    [<c004fbdc>] (dump_backtrace+0x0/0x110) from [<c03ab1c0>] (dump_stack+0x18/0x1c)
     r7:c4814000 r6:00000000 r5:c002fa94 r4:c0536b90
    [<c03ab1a8>] (dump_stack+0x0/0x1c) from [<c03ab224>] (panic+0x60/0x17c)
    [<c03ab1c4>] (panic+0x0/0x17c) from [<c00092b4>] (mount_block_root+0x1e0/0x220)
     r3:00000000 r2:00000020 r1:c4825f58 r0:c04699cc
    [<c00090d4>] (mount_block_root+0x0/0x220) from [<c00093a0>] (mount_root+0xac/0xcc)
    [<c00092f4>] (mount_root+0x0/0xcc) from [<c0009530>] (prepare_namespace+0x170/0x1d4)
     r4:c0535fe4
    [<c00093c0>] (prepare_namespace+0x0/0x1d4) from [<c00087c4>] (kernel_init+0x114/0x154)
     r5:c00086b0 r4:c0535f80
    [<c00086b0>] (kernel_init+0x0/0x154) from [<c0078c98>] (do_exit+0x0/0x5e4)
     r5:c00086b0 r4:00000000
    

  • the problem is solved.

    FOR YOUR IMFORMATION:

    the reason is the step for creating ramdisk file, there is no need to do mkimage.