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.

OMAPL138 : nothing after "Uncompressing Linux... done, booting the kernel"

Other Parts Discussed in Thread: OMAPL138, OMAP-L138

I am trying to use an evaluation board with an OMAPL138 and Arago linux. I use the environment variable MACHINE "da850-omapl138-evm" to build Arago.

Then, I start my system with FileSystem and Kernel in two differents partitions on SD Card.

If I use the uImage provided with the evaluation board, the kernel boots correctly and the system starts. But If I use the uImage that I have built, the system stops after the message "Uncompressing Linux... done, booting the kernel".

I use the following U-Boot parameters:

bootdelay=3
baudrate=115200
bootfile="uImage"
ethaddr=00:08:ee:04:9c:55
bootcmd=if mmc rescan 0; then if fatload mmc 0 0xc0600000 boot.scr; then source 0xc0600000; else fatload mmc 0 0xc0700000 uImage; bootm c0700000; fi; else sf probe 0; sf read 0xc0700000 0x80000 0x220000; bootm 0xc0700000; fi
bootargs=mem=28M console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 2009.11 (Jan 13 2011 - 01:05:37)

 

The bootcmd seems to work because the default uImage run. I tried to change console with ttyS0, ttyS1, tty02,.. but nothing change.

I also tryed to boot with the kernel in NOR flash, but nothing change..

Can someone help me please ??

  • Assuming the serial port selection is correct and it is configured, the U-Boot and Linux images must have the same machine number. I believe a "da850-omapl138-evm" is for a LogicPD EVM. Which board are you using?

    Some U-Boot images will print out their board number via the "bdinfo" command. U-Boot has to be compiled to do so though. Some files to check if you have source to both U-Boot and the kernel.

    -----------U-Boot---------
    File: board/.../yourboard.c
    gd->bd->bi_arch_number = MACH_TYPE_YOURBOARD

    include/mach-types.h
    #define MACH_TYPE_YOURBOARD nnnn <-- note this number

    --------Linux--------------
    File: include/linux/autoconf.h
    #define CONFIG_MACH_YOURBOARD

    File: include/asm-arm/mach-types.h
    #define MACH_TYPE_YOURBOARD nnnn <-- this number is same as u-boot's

    File: arch/arm/configs/yourboard_defconfig
    CONFIG_MACH_YOURBOARD=y

    File: .config
    CONFIG_MACH_YOURBOARD=y

     

  • Thank you for your reply Norman.

    ndeed I use a LogicPD board : TMDSEVML138 (development kit).

    I checked that MACH_TYPE_DAVINCI_EVM = 901 in all files you listed above.

    The "bdinfo" command print :
    arch_number = 0x0000086D
    env_t       = 0x00000000
    boot_params = 0xC0000100
    DRAM bank   = 0x00000000
    -> start    = 0xC0000000
    -> size     = 0x04000000
    ethaddr     = 00:08:ee:04:9c:55
    ip_addr     = 0.0.0.0
    baudrate    = 115200 bps

    The arch_number matches with "DAVINCI_DA850", which seems to be ok.

    Have you another idea ?

  • Hi Robert CHOLAY,

    From which source did you you build the uImage.??


    Best Regards,
    Prabhakar Lad

  • Hi,

    I use bitbake in order to build an Arago (Arago is based on Open Embeded).

    The kernel version is "Arago/2.6.32+2.6.33-rc4-psp03.2"

  • You should unverify the posts until your problem is solved. A unverified thread will draw more attention.

    Your U-boot reports an arch_number = 0x0000086D = 2157, which is MACH_TYPE_DAVINCI_DA850_EVM=2157 in mach-types. But your kernel is configured with MACH_TYPE_DAVINCI_EVM =901. You need to get your kernel to have a mach number of 2157.

    I've never used bitbake. I can't say how to configure an individual build within it's many builds. The key command line in the kernel build will be something like this:

    make da850_omapl138_defconfig ARCH=arm CROSS_COMPILER=<your_cross_compiler>

    You might be able to manually build the kernel within the bitbake framework.

  • Hi,

    What are your U-Boot environment variables (i.e. printenv)?Usually when you get to this point that the kernel was uncompressed and is being booted but you don't see anything it implies there is something wrong with your bootargs (such as no console=ttyS0,115200n8).

    Instead of ttyS0 the bootargs should have ttyO0 (thats an O as in OMAP).

     

    Best Regards
    Prabhakar Lad

     

  • Hi,

    could you tell me how to change the MACH_TYPE (or arch_number in U-Boot) ?

    I only found these files in the tmp folder...

    Thanks

  • I don't think u-boot needs it mach-type changed. Your kernel should be configured for MACH_TYPE_DAVINCI_DA850_EVM. I am pretty sure that is the correct mach type for a Logic PD OMAP-L138 EVM. Using the kernel default config file da850_omapl138_defconfig will set the mach number appropriately. Maybe look into the bitbake config to see if you can change the default kernel config file.

  • Hi,

    I checked the variable used used well MACH_TYPE_DAVINCI_DA850_EVM. Moreover, I flashed the U-Boot generated and used the kernel provided with the pakage TMDSEVML138 : the kernel boots.

    If the problem was the MACH_TYPE_DAVINCI_DA850_EVM, the U-Boot generated would not work ?

  • You got me there. Double check the mach number on the generated U-boot with "bdinfo". Perhaps you should check which board.c got compiled toa board.o in U-Boot and in kernel.

    u-boot prebuilt + kernel prebuilt = works
    u-boot prebuilt + kernel generated = doesn't work
    u-boot generated+ kernel prebuilt = works!
    u-boot generated+ kernel generated = ?

    You probably to need to enable "early printk" in the kernel to try to force the kernel to emit something before the console is up. It might already be enabled. Never done that myself but there are plenty of threads that talk about "early printk" in dealing with this exact problem.

  • Here is what I get with the command "md 0xc043f3b4"  after the crash :

    <5>Linux version 2.6.33-rc4 (omap@TRAGICOMIX) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202)) #1 PREEMPT Fri Aug 12 17:06:15 CEST 2011.
    <4>CPU: ARM926EJ-S [41069265] revision5 (ARMv5TEJ),cr=00053177.
    <4>CPU: VIVT data cache, VIVT instruction cache.
    <4>Machine: DaVinciDA850/OMAP-L138/AM18xx EVM.
    <4>Memory policy: ECC disabled, Datacachewriteback.

    <7>On node 0 totalpages: 8192.
    <7>free_area_init_node: node 0, pgdat c043d920, node_mem_map c0460000.
    <7>  DMA zone: 64 pages used for memmap.
    <7> DMA zone: 0pages reserved.
    <7> DMA zone: 8128pages, LIFO batch:0.
    <3>Unknown DaVinci JTAG ID 0x1b7d102f...................notsyncing: davinci_common_init: SoC Initializationfailed.<0>.
    <4>Backtrace: .
    <4>[<c00306bc>] (dump_backtrace+0x0/0x110)
    from [<c0316790>] (dump_stack+0x18/0x1c).
    <4> r6:00000000 r5:c0411f50 r4:c043eab8......................6778>] (dump_stack+0x0/0x1c)
    from [<c03167f4>] (panic+0x60/0x134)...............................34)
    from [<c000e7d8>] (davinci_common_init+0x114/0x124).........0000000.........................r0:c03aecf4.....................inci_common_init+0x0/0x124)
    from [<c000e9a8>] (da850_init+0x8c/0x144)...........................0...............................0/0x144)
    from [<c000f40c>] (da850_evm_map_io+0x10/0x14).........0411f50.........................c>](da850_evm_map_io+0x0/0x14)
    from [<c000d2f4>] (paging_init+0x560/0x618).....................ing_init+0x0/0x618)
    from [<c000b9d0>] (setup_arch+0x368/0x5d4)..4>[<c000b668>] (setup_arch+0x0/0x5d4)
    from [<c00087c4>](start_kernel+0x7c/0x2e8)...............] (start_kernel+0x0/0x2e8)
    from [<c0008034>] (__enable_mmu+0x0/0x2c)................................................................................................................................................................................

     

    ==> Now I'm trying to fix the JTAG ID problem.