No one likes being in this position - the Linux kernel crashes or hangs without any output on the console. Which is why you should check out the early printk page. This will enable you to see normal crash messages even before the kernel/serial device is set up all the way… Even if you are booting on the wrong machine type (booting a 537 image on a 548), you will get something printed on the next reset of the bootloader.
If you are unable to enable early_printk, there are still things to do. The first thing to attempt to get more information in such a situation is a dump of the log buffer - often the Linux kernel has already collected useful information in its console I/O buffer which just does not get printed because the kernel does not run until successful initialization of the console port.
Follow the below steps:
rgetz@test:~/checkouts/kernel/uClinux-dist> grep __log_buf ./linux-2.6.x/System.map 00144d80 b __log_buf
bfin> set bootargs $(bootargs) panic=3 bfin> set bootcmd
The addition of
panic=3 tells the kernel to reboot on panic, and clearing
bootcmd will ensure that a new kernel does not boot on a reset.
stringscommand (if you don't have
stringscommand, just use memory dump
bfin> strings 0x00144d80 <5>Linux version18.104.22.168-ADI-2006R1 (rgetz@test) (gcc version3.4.5 (ADI cvs)) #1 Mon Aug 7 10:55:44 EDT 2006 <6>Blackfin support (C) 2004-2006 Analog Devices, Inc <6>Compiled for ADSP-BF537 Rev. 0.2 <6>Blackfin uClinux support by http://blackfin.uclinux.org/ <6>Processor Speed: 500 MHz core clock and 100 Mhz System Clock .....
rgetz@test:~/checkouts/kernel/uClinux-dist> grep _log_start ./linux-2.6.x/System.map 00144cf0 b _log_start
This tells us the start/end of the circular buffer is pointed to by the value in
bfin> md.l 144cf0 0x1 00144cf0: 00000b92 ....
This tells us that
0x0b92 is the offset of the buffer.
0x0b92 + 0x144d80to see the last message that prints out.
bfin> md.w 0145912 0x100 00145912: 303c 523e 7365 6174 7472 6e69 2067 7973 <0>Restarting sy 00145922: 7473 6d65 0a2e 343c 2e3e 000a 0000 0000 stem..<4>....... 00145932: 0000 0000 0000 0000 0000 0000 0000 0000 ................