Debugging early kernel hangs on i.MX6

cancel
Showing results for 
Search instead for 
Did you mean: 

Debugging early kernel hangs on i.MX6

1,151 Views
cblack
Contributor I

I have an issue where sometimes I get the dreaded hang at "Starting kernel..."  This only happens on certain builds of the kernel itself, and seems to be triggered by nothing more than adding some dummy lines of code.  At first, this seemed like some kind of alignment/padding or size issue.  However, I can not think of any reason this would occur.

Now, I am trying to enable early_printk but having no success.  I have enabled CONFIG_DEBUG_LL and EARLY_PRINTK, with CONFIG_DEBUG_IMX_UART_PORT=1 (ttymxc0), which is the console.  I have also tried to add early_printk to the bootargs in uboot.

Note, I have restored the kernel to a state that fully boots, and still I see no additional debug at boot time.

Any ideas?

Kernel:  Freescale 3.10.17_ga

Board: Custom based on i.MX6 SABRESD

Media: NAND boot

Console: ttymxc0

Labels (4)
0 Kudos
3 Replies

661 Views
mrigendra_chaub
Contributor III

Keep

console=ttymxc0, 115200

in kernel boot arguments.

On sabresd add these in your imx_v7_android_defconfig,

CONFIG_DEBUG_LL=y
CONFIG_DEBUG_LL_INCLUDE="mach/imx.S"
CONFIG_DEBUG_IMX6Q_UART=y
CONFIG_DEBUG_IMX_UART_PORT=1

This will enable

printascii(const char *);

So this much should come on console,

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

0 Kudos

661 Views
b36401
NXP TechSupport
NXP TechSupport

Please make sure that CONFIG_DEBUG_IMX_UART_PORT option is configured to right port.

Have a great day,
Victor

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

661 Views
cblack
Contributor I
with CONFIG_DEBUG_IMX_UART_PORT=1 (ttymxc0), which is the console

I also tried setting this to each of 1-5

0 Kudos