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.

Panda 4460 booting fails with * Starting load fallback graphics devices [fail]

Anybody experiences the same problem to run a customized kernel on Panda? Have been stuck for a long time......

  • Hi Terry,

    If you wish to boot the mainline kernel, you can try creating a very simple busybox file-system as describe here:

    http://processors.wiki.ti.com/index.php/Creating_a_Root_File_System_for_Linux_on_OMAP35x#Download_and_Build_BusyBox

    I recommend you use the latest stable version of busybox.

    Once you create the file-system on the host, you can then create a *.cpio archive by going to the directory where you create the file-system and executing the following command ...

    # find . | cpio -H newc -o > my-fs.cpio

    Then when you build the kernel you can build the file-system into the kernel by ...

    1. Running make menuconfig
    2. Go to "General Setup"
    3. Select "Initial RAM filesystem and RAM disk (initramfs/initrd) support"
    4. Enter path to your "my-fs.cpio" where is says " Initramfs source file(s)"
    5. Rebuild kernel

    You should be able to boot the kernel with minimal bootargs such as "console=ttyO2,115200n8 mem=1G".

    Cheers
    Jon

  • Dear Jon,

    Here are the steps I did to build a kernel with busybox. Please tell me what is wrong or missing:

    1. Download busybox from http://www.busybox.net/downloads/ I got busybox-1.20.2.tar.bz2.

    2. unzip and go to the directory busybox-1.20.2

    3. #export ARCH=arm

        #export CROSS_COMPILE=arm-linux-gnueabi-

        #make menuconfig then exit without changing any configuration

        #make

        #make CONFIG_PREFIX=/home/user/target install

    4. go to /home/user/target

    5. # mkdir dev

    # mknod dev/console c 5 1

    # ...... (some other mkdir)

    # mkdir var/log

    # mkdir debug

    6. go to home/user/target/etc

    7. # vi fstab

    # vi group

    # vi passwd

    # vi hosts

    # vi inittab

    8. # vi init.d/rcS

    # vi mdev.conf

    9. # find . | cpio -H newc -o > my-fs.cpio in /home/user/target, it gives something like:
    cpio: File ./my-fs.cpio grew, 34304 new bytes not copied
    1451 blocks

    10. Running make menuconfig
    Go to "General Setup"
    Select "Initial RAM filesystem and RAM disk (initramfs/initrd) support"
    Enter path /home/user/target/my-fs.cpio to your "my-fs.cpio" where is says " Initramfs source file(s)"
    Rebuild kernel
    The boot.src is:
    fatload mmc 0:1 0x80000000 uImage
    setenv bootargs console=ttyO2,115200n8 mem=1G
    bootm 0x80000000
    The booting error is:
    [ 1.993652] VUSB: incomplete constraints, leaving on
    [ 2.000854] twl_rtc twl_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    [ 2.011810] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
    [ 2.019714] Please append a correct "root=" boot option; here are the available partitions:
    [ 2.028594] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
    [ 2.037445] CPU1: stopping
  • Terry Wang1 said:

    9. # find . | cpio -H newc -o > my-fs.cpio in /home/user/target, it gives something like:

    cpio: File ./my-fs.cpio grew, 34304 new bytes not copied
    1451 blocks

    Hmmm ... I wonder if it is because your my-fs.cpio is in the directory where your file-system is. May be try ...

    # find . | cpio -H newc -o > /home/users/my-fs.cpio

    Cheers
    Jon

  • Thanks Jon, the cpio issue is fixed after applying your comments. But the booting error is still there. Did you find anything else wrong in the steps that I made?

    Terry

  • Can you try the attached cpio? Also please make sure you posted the complete boot log. Cheers Jon

    omap.cpio
  • Thank you Jon! By using your cpio, it looks much better! But it seems the console is not activated.

    *******************************************************************************

    U-Boot SPL 2011.12 (Apr 02 2012 - 18:12:06)
    Texas Instruments OMAP4460 ES1.1
    OMAP SD/MMC: 0
    reading u-boot.img
    reading u-boot.bin
    mkimage signature not found - ih_magic = ea000014
    Assuming u-boot.bin ..
    reading u-boot.bin
     
     
    U-Boot 2011.12 (Apr 02 2012 - 18:12:06)
     
    CPU  : OMAP4460 ES1.1
    Board: OMAP4 Panda
    I2C:   ready
    DRAM:  1 GiB
    WARNING: Caches not enabled
    MMC:   OMAP SD/MMC: 0
    Using default environment
     
    In:    serial
    Out:   serial
    Err:   serial
    Net:   No ethernet found.
    checking for preEnv.txt
    reading preEnv.txt
     
    ** Unable to read "preEnv.txt" from mmc 0:1 **
    Hit any key to stop autoboot:  3 2 1 0  
    reading uEnv.txt
     
    ** Unable to read "uEnv.txt" from mmc 0:1 **
    reading boot.scr
     
    181 bytes read
    Loaded script from boot.scr
    Running bootscript from mmc0 ...
    ## Executing script at 82000000
    reading uImage
     
    4834624 bytes read
    ## Booting kernel from Legacy Image at 80000000 ...
       Image Name:   Linux-3.5.0-rc7-00236-ge1d62c9e-
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    4834560 Bytes = 4.6 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] Booting Linux on physical CPU 0
    [    0.000000] Linux version 3.5.0-rc7-00236-ge1d62c9e-dirty (root@ubuntu) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #10 SMP Fri Jul 20 13:55:38 EDT 2012
    [    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine: OMAP4 Panda board
    [    0.000000] Memory policy: ECC disabled, Data cache writealloc
    [    0.000000] OMAP4460 ES1.1
    [    0.000000] PERCPU: Embedded 8 pages/cpu @c16ca000 s11520 r8192 d13056 u32768
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 259840
    [    0.000000] Kernel command line: console=ttyO2,115200n8 mem=1G rootdelay=2
    [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 759MB 264MB = 1023MB total
    [    0.000000] Memory: 1023368k/1023368k available, 25208k reserved, 270336K highmem
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc06632f0   (6509 kB)
    [    0.000000]       .init : 0xc0664000 - 0xc08c6d00   (2444 kB)
    [    0.000000]       .data : 0xc08c8000 - 0xc095e5a8   ( 602 kB)
    [    0.000000]        .bss : 0xc095e5cc - 0xc0eb7f08   (5479 kB)
    [    0.000000] Hierarchical RCU implementation.
    [    0.000000] NR_IRQS:474
    [    0.000000] OMAP clockevent source: GPTIMER1 at 32768 Hz
    [    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
    [    0.000000] OMAP clocksource: 32k_counter 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: 3695 kB
    [    0.000000]  per task-struct memory footprint: 1152 bytes
    [    0.000793] Calibrating delay loop... 1392.74 BogoMIPS (lpj=5439488)
    [    0.062469] pid_max: default: 32768 minimum: 301
    [    0.063049] Security Framework initialized
    [    0.063232] Mount-cache hash table entries: 512
    [    0.067230] CPU: Testing write buffer coherency: ok
    [    0.067962] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.068298] Setting up static identity map for 0x80494630 - 0x804946a0
    [    0.068359] L310 cache controller enabled
    [    0.068389] l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x7e470000, Cache size: 1048576 B
    [    0.070983] CPU1: Booted secondary processor
    [    0.138580] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.138641] CPU1: Unknown IPI message 0x1
    [    0.138824] Brought up 2 CPUs
    [    0.138854] SMP: Total of 2 processors activated (2792.83 BogoMIPS).
    [    0.153869] omap_hwmod: sl2if: cannot be enabled for reset (3)
    [    0.157745] omap_hwmod: mcpdm: cannot be enabled for reset (3)
    [    0.162994] dummy:  
    [    0.164306] NET: Registered protocol family 16
    [    0.164947] GPMC revision 6.0
    [    0.165039] gpmc: irq-52 could not claim: err -22
    [    0.171417] OMAP GPIO hardware version 0.1
    [    0.179473] omap_mux_init: Add partition: #1: core, flags: 2
    [    0.181274] omap_mux_init: Add partition: #2: wkup, flags: 2
    [    0.181427] error setting wl12xx data: -38
    [    0.185577] _omap_mux_get_by_name: Could not find signal uart1_rx.uart1_rx
    [    0.185577] _omap_mux_get_by_name: Could not find signal uart1_rx.uart1_rx
    [    0.256561] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    [    0.256561] hw-breakpoint: maximum watchpoint size is 4 bytes.
    [    0.266784] OMAP DMA hardware revision 0.0
    [    0.302215] bio: create slab <bio-0> at 0
    [    0.305084] vwl1271: 1800 mV  
    [    0.308197] SCSI subsystem initialized
    [    0.309570] usbcore: registered new interface driver usbfs
    [    0.309875] usbcore: registered new interface driver hub
    [    0.310241] usbcore: registered new device driver usb
    [    0.326293] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 400 kHz
    [    0.328918] Skipping twl internal clock init and using bootloader value (unknown osc rate)
    [    0.329986] twl 1-0048: PIH (irq 39) chaining IRQs 352..372
    [    0.331817] VUSB: 3300 mV normal standby
    [    0.332977] vdd_mpu: 500 <--> 1500 mV normal  
    [    0.334228] vdd_iva: 500 <--> 1500 mV normal  
    [    0.335357] vdd_core: 500 <--> 1500 mV normal  
    [    0.336761] V1V8: 1800 mV normal standby
    [    0.337829] V2V1: 2100 mV normal standby
    [    0.339050] VMMC: 1200 <--> 3000 mV at 3000 mV normal standby
    [    0.340454] VPP: 1800 <--> 2500 mV at 1900 mV normal standby
    [    0.342041] VCXIO: 1800 mV normal standby
    [    0.342132] VCXIO: supplied by V2V1
    [    0.344299] VDAC: 1800 mV normal standby
    [    0.344360] VDAC: supplied by V2V1
    [    0.346099] VAUX2_6030: 1200 <--> 2800 mV at 1800 mV normal standby
    [    0.347503] VAUX3_6030: 1000 <--> 3000 mV at 1200 mV normal standby
    [    0.348754] CLK32KG:  
    [    0.350036] VANA: 2100 mV normal standby
    [    0.365234] omap_i2c omap_i2c.2: bus 2 rev2.4.0 at 400 kHz
    [    0.380859] omap_i2c omap_i2c.3: bus 3 rev2.4.0 at 100 kHz
    [    0.396453] omap_i2c omap_i2c.4: bus 4 rev2.4.0 at 400 kHz
    [    0.401123] Switching to clocksource 32k_counter
    [    0.477722] NET: Registered protocol family 2
    [    0.478332] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.479858] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
    [    0.482818] TCP bind hash table entries: 65536 (order: 9, 2359296 bytes)
    [    0.504150] TCP: Hash tables configured (established 131072 bind 65536)
    [    0.504272] TCP: reno registered
    [    0.504302] UDP hash table entries: 512 (order: 3, 40960 bytes)
    [    0.504699] UDP-Lite hash table entries: 512 (order: 3, 40960 bytes)
    [    0.505554] NET: Registered protocol family 1
    [    0.506561] RPC: Registered named UNIX socket transport module.
    [    0.506561] RPC: Registered udp transport module.
    [    0.506591] RPC: Registered tcp transport module.
    [    0.506591] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.553039] NetWinder Floating Point Emulator V0.97 (double precision)
    [    0.724548] highmem bounce pool size: 64 pages
    [    0.725189] VFS: Disk quotas dquot_6.5.2
    [    0.725433] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.727416] NFS: Registering the id_resolver key type
    [    0.727722] Key type id_resolver registered
    [    0.728424] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
    [    0.729217] msgmni has been set to 1470
    [    0.731353] io scheduler noop registered
    [    0.731353] io scheduler deadline registered
    [    0.731506] io scheduler cfq registered (default)
    [    0.732849] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [    0.736663] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 104) is a OMAP UART0
    [    0.737823] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 105) is a OMAP UART1
    [    0.738616] omap_uart.2: ttyO2 at MMIO 0x48020000 (irq = 106) is a OMAP UART2
    [    1.457397] console [ttyO2] enabled
    [    1.461975] omap_uart.3: ttyO3 at MMIO 0x4806e000 (irq = 102) is a OMAP UART3
    [    1.489532] brd: module loaded
    [    1.504211] loop: module loaded
    [    1.511383] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.518737] OneNAND driver initializing
    [    1.530609] usbcore: registered new interface driver asix
    [    1.536834] usbcore: registered new interface driver cdc_ether
    [    1.543457] usbcore: registered new interface driver smsc95xx
    [    1.549774] usbcore: registered new interface driver net1080
    [    1.556213] usbcore: registered new interface driver cdc_subset
    [    1.562744] usbcore: registered new interface driver zaurus
    [    1.569061] usbcore: registered new interface driver cdc_ncm
    [    1.576263] usbcore: registered new interface driver cdc_wdm
    [    1.582214] Initializing USB Mass Storage driver...
    [    1.587677] usbcore: registered new interface driver usb-storage
    [    1.594085] USB Mass Storage support registered.
    [    1.599578] usbcore: registered new interface driver libusual
    [    1.606018] usbcore: registered new interface driver usbtest
    [    1.612884] mousedev: PS/2 mouse device common for all mice
    [    1.621551] twl_rtc twl_rtc: Power up reset detected.
    [    1.627624] twl_rtc twl_rtc: Enabling TWL-RTC
    [    1.635528] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
    [    1.642547] i2c /dev entries driver
    [    1.648651] Driver for 1-wire Dallas network protocol.
    [    1.656280] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    1.665679] omap_hsmmc omap_hsmmc.0: Failed to get debounce clk
    [    1.722045] omap_hsmmc omap_hsmmc.4: Failed to get debounce clk
    [    1.843719] usbcore: registered new interface driver usbhid
    [    1.849700] usbhid: USB HID core driver
    [    1.853729] oprofile: hardware counters not available
    [    1.853759] mmc1: card claims to support voltages below the defined range. These will be ignored.
    [    1.868377] oprofile: using timer interrupt.
    [    1.873413] TCP: cubic registered
    [    1.876922] Initializing XFRM netlink socket
    [    1.881530] NET: Registered protocol family 17
    [    1.886291] NET: Registered protocol family 15
    [    1.891204] Key type dns_resolver registered
    [    1.895782] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [    1.911254] omap_vc_i2c_init: I2C config for vdd_iva does not match other channels (0).
    [    1.919494] omap_vc_i2c_init: I2C config for vdd_mpu does not match other channels (0).[    1.928833] Power Management for TI OMAP4.
    [    1.933288] ThumbEE CPU extension supported.
    [    1.938293] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
    [    1.946166] mmc1: new SDIO card at address 0001
    [    1.959930] clock: disabling unused clocks to save power
    [    1.971069] VANA: incomplete constraints, leaving on
    [    1.976684] CLK32KG: incomplete constraints, leaving on
    [    1.983276] VDAC: incomplete constraints, leaving on
    [    1.989410] VUSB: incomplete constraints, leaving on
    [    1.996765] twl_rtc twl_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    [    2.009826] Freeing init memory: 2440K
     
    System initialization...
     
    Mounting /proc :[SUCCESS]
    Mounting /sys :[SUCCESS]
    Mounting /dev :[SUCCESS]
    Mounting /dev/pts :[SUCCESS]
    Mounting /sys/kernel/debug :[SUCCESS]
    Mounting other filesystems :[SUCCESS]
    Enabling hot-plug :[SUCCESS]
    Populating /dev :[    2.140899] mmc0: host does not support reading read-only switch. assuming write-enable.
    [    2.159332] mmc0: new high speed SDXC card at address e624
    [    2.168853] mmcblk0: mmc0:e624 SU64G 59.4 GiB  
    [    2.202789]  mmcblk0: p1 p2
    [SUCCESS]
    Starting syslogd :[SUCCESS]
    Starting telnetd :[SUCCESS]
     
    System initialization complete.
     
    Please press Enter to activate this console.

  • Dear Jon,

    OK. I think I will just use minicom in the host PC instead of directly connecting monitor and keyboard to the pandaboard.

    With your cpio, everything works well including the new built mainline kernel.  Though I still don't know what I did wrong to generate the cpio, I'll just use the working one.

    Now it's time to tune the PMU.

    Thank you so much!

    Terry

  • By the way, my latest PMU code can be found on the git tree below. Just clone the tree and checkout the dev-pmu branch.

    https://gitorious.org/linux-omap-dev/linux-omap-dev

    Cheers
    Jon

  • Great. I'll try it out.

    should I still use omap2plus_defconfig?

    Thanks,

    Terry

  • OMG! The PMU is working! I can run Perf and get  the numbers of hardware events!

    Many thanks to you Jon. Really really appreciate your help.

    Terry

  • Hi, Xueyang, it seems that you have the PMC ran properly on your system. Which version of Linux kernel you used?

    Besides the kernel source, what were your MLO and uboot source?

    Thank you!