[meta-ti] pandaboard not booting

Gary Thomas gary at mlbassoc.com
Wed Sep 26 05:54:24 PDT 2012


On 2012-09-26 06:42, Radu Moisan wrote:
>
> On 09/26/2012 01:49 PM, Gary Thomas wrote:
>> On 2012-09-26 04:44, Radu Moisan wrote:
>>> Hi Enrico,
>>> I'm not sure what are you reffering to when you say bootloader env, but here's what I get on my console:
>>>
>>> U-Boot SPL 2011.12-dirty (Sep 24 2012 - 17:18:42)
>>> Texas Instruments OMAP4430 ES2.3
>>> Bypassing DPLL failed 4a008180
>>> OMAP SD/MMC: 0
>>> reading u-boot.img
>>> reading u-boot.img
>>>
>>>
>>> U-Boot 2011.12-dirty (Sep 24 2012 - 17:18:42)
>>>
>>> CPU  : OMAP4430 ES2.3
>>> Board: OMAP4 Panda
>>> I2C:   ready
>>> DRAM:  1 GiB
>>> MMC:   OMAP SD/MMC: 0
>>> Using default environment
>>>
>>> In:    serial
>>> Out:   serial
>>> Err:   serial
>>> Hit any key to stop autoboot:  0
>>> reading boot.scr
>>>
>>> ** Unable to read "boot.scr" from mmc 0:1 **
>>> reading uImage
>>>
>>> 4176612 bytes read
>>> Booting from mmc0 ...
>>> ## Booting kernel from Legacy Image at 82000000 ...
>>>     Image Name:   Linux-3.1.0
>>>     Image Type:   ARM Linux Kernel Image (uncompressed)
>>>     Data Size:    4176548 Bytes = 4 MiB
>>>     Load Address: 80008000
>>>     Entry Point:  80008000
>>>     Verifying Checksum ... OK
>>>     Loading Kernel Image ... OK
>>> OK
>>>
>>> Starting kernel ...
>>>
>>> Uncompressing Linux... done, booting the kernel.
>>>
>>> All I did to build it, was to add meta-ti to my bblayers.conf and try bitbake with MACHINE=pandaboard. The build was screaming about some QA errors, which I had to disable to get
>>> the build finish. I'm assuming those are the reason for my failure. However, I did not investigate further into these.
>>
>> Break into U-Boot during the boot process and show us what you get from
>> the 'printenv' command.  This will show the default value of 'bootargs'
>> which is what is being used since you don't have a 'boot.scr' script
>>
> Panda # printenv
> baudrate=115200
> bootcmd=if mmc rescan ${mmcdev}; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; fi; fi; fi
> bootdelay=3
> bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
> console=ttyO2,115200n8
> loadaddr=0x82000000
> loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr
> loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage
> mmcargs=setenv bootargs console=${console} vram=${vram} root=${mmcroot} rootfstype=${mmcrootfstype}
> mmcboot=echo Booting from mmc${mmcdev} ...; run mmcargs; bootm ${loadaddr}
> mmcdev=0
> mmcroot=/dev/mmcblk0p2 ro
> mmcrootfstype=ext4 rootwait
> usbtty=cdc_acm
> vram=16M
>
> Environment size: 686/131068 bytes

This looks correct - the important bit is that console=ttyO2

Diagnosing why this doesn't come up may be a bit trickier.  One thing that you
can do is to look at the kernel messages (which are not being printed!).  Thankfully,
those are kept buffered in memory and you should be able to print them manually.

Give these steps a go:
   * Boot as you have been, letting it hang after starting the kernel
   * Press the RESET button on the PandaBoard
   * Break into U-Boot
   * Dump the kernel messages via:
       U-Boot> md LOG_BUF_ADDRESS
     This will display 256 bytes at LOG_BUF_ADDRESS.  If you just press return, you'll
     get to see the next 256 bytes, etc.  Keep doing this until the messages stop...

To find the LOG_BUF_ADDRESS, search for __log_buf in the System.map which was created
when you built your kernel.  This will be in your Yocto build tree .../tmp/work/pandaboard*/linux*/git
(I think - I don't have a build for this machine handy)  You'll see something like this:
    $ grep __log_buf tmp/work/panda*/linux*/git/System.map
    c06d66e9 b __log_buf
That's a virtual address which corresponds to 0x806d66e9 in physical RAM.  Truncate
the address to a longword value, i.e. 0x806d66e8 - that's LOG_BUF_ADDRESS

See what you get, it may provide a clue where the kernel is crashing.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------



More information about the meta-ti mailing list