Forums

Booting of kernel stops at "Starting Kernel..." after handover from u-boot

Started by "haider.raja" December 4, 2009
I have build an angstrom kernel distribution for my at91sam9260ek platform. I want to change my console output to USART2 and hence I modified the at91sam9260ek-angstrom-linux-gnueabi/linux-2.6.28-r12/linux-2.6.28/arch/arm/mach-at91/board-sam9260ek.c as follows:

static void __init ek_map_io(void)
{
/* Initialize processor: 18.432 MHz crystal */
at91sam9260_initialize(18432000);

/* DGBU on ttyS0. (Rx & Tx only) */
at91_register_uart(0, 0, 0);

/* USART2 on ttyS2. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
at91_register_uart(AT91SAM9260_ID_US2, 2, ATMEL_UART_CTS | ATMEL_UART_RTS
| ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
| ATMEL_UART_RI);

/* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
//at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS
// | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
// | ATMEL_UART_RI);

/* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */
//at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS);

/* set serial console to ttyS0 (ie, DBGU) */
at91_set_serial_console(2);
}

I then use bitbake -b command to compile by uImage again. However, when booting the image, after the u-boot verifies the linux image and hand over to Kernel, the kernel stops at Starting Kernel...

Here is more information from u-boot...
U-Boot> printenv
ethaddr::1f:34:08:54:54
bootdelay=3
baudrate5200
bootargs=mem2M console=ttyS2,115200 root=/dev/mtdblock1 rw rootfstype=jffs2
bootcmd=nand read 0x21500000 0x00100000 0x0018EEC0; bootm 0x21500000
stdin=serial
stdout=serial
stderr=serial
ethact=macb0

Environment size: 255/131067 bytes
U-Boot> boot

NAND read: device 0 offset 0x100000, size 0x18eec0
1633984 bytes read: OK
## Booting kernel from Legacy Image at 21500000 ...
Image Name: Angstrom/2.6.28/at91sam9260ek
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1633920 Bytes = 1.6 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...

Can anyone please tell point me what might be going wrong here. I tried googling for this problem a lot but nothing seem to suggest a problem here.

Hi,

Connect the console cable on the USART and then set the bootargs with the
console as ttyS2.

Regards
TVRPrasad

On Fri, Dec 4, 2009 at 11:18 AM, haider.raja wrote:

> I have build an angstrom kernel distribution for my at91sam9260ek platform.
> I want to change my console output to USART2 and hence I modified the
> at91sam9260ek-angstrom-linux-gnueabi/linux-2.6.28-r12/linux-2.6.28/arch/arm/mach-at91/board-sam9260ek.c
> as follows:
>
> static void __init ek_map_io(void)
> {
> /* Initialize processor: 18.432 MHz crystal */
> at91sam9260_initialize(18432000);
>
> /* DGBU on ttyS0. (Rx & Tx only) */
> at91_register_uart(0, 0, 0);
>
> /* USART2 on ttyS2. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
> at91_register_uart(AT91SAM9260_ID_US2, 2, ATMEL_UART_CTS | ATMEL_UART_RTS
> | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
> | ATMEL_UART_RI);
>
> /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
> //at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS
> // | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
> // | ATMEL_UART_RI);
>
> /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */
> //at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS |
> ATMEL_UART_RTS);
>
> /* set serial console to ttyS0 (ie, DBGU) */
> at91_set_serial_console(2);
> }
>
> I then use bitbake -b command to compile by uImage again. However, when
> booting the image, after the u-boot verifies the linux image and hand over
> to Kernel, the kernel stops at Starting Kernel...
>
> Here is more information from u-boot...
> U-Boot> printenv
> ethaddr::1f:34:08:54:54
> bootdelay=3
> baudrate5200
> bootargs=mem2M console=ttyS2,115200 root=/dev/mtdblock1 rw
> rootfstype=jffs2
> bootcmd=nand read 0x21500000 0x00100000 0x0018EEC0; bootm 0x21500000
> stdin=serial
> stdout=serial
> stderr=serial
> ethact=macb0
>
> Environment size: 255/131067 bytes
> U-Boot> boot
>
> NAND read: device 0 offset 0x100000, size 0x18eec0
> 1633984 bytes read: OK
> ## Booting kernel from Legacy Image at 21500000 ...
> Image Name: Angstrom/2.6.28/at91sam9260ek
> Image Type: ARM Linux Kernel Image (uncompressed)
> Data Size: 1633920 Bytes = 1.6 MB
> Load Address: 20008000
> Entry Point: 20008000
> Verifying Checksum ... OK
> Loading Kernel Image ... OK
> OK
>
> Starting kernel ...
>
> Can anyone please tell point me what might be going wrong here. I tried
> googling for this problem a lot but nothing seem to suggest a problem here.
>
>
>