Hello. I use BeagleBone like hardware. I cant load Linux kernel (3.2 from TI) I see this (with earlyprintk)
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Linux version 3.2.0 (frog@pushkin-pc) (gcc version 4.7.3 (Sourcery CodeBench Lite 20133
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: am335xevm
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] AM335X ES1.0 (neon )
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: at kernel/mutex.c:314 __mutex_unlock_slowpath+0x108/0x140()
[ 0.000000] Modules linked in:
[ 0.000000] [<c0019a38>] (unwind_backtrace+0x0/0x138) from [<c0040f50>] (warn_slowpath_common+0x54)
[ 0.000000] [<c0040f50>] (warn_slowpath_common+0x54/0x64) from [<c0040f7c>] (warn_slowpath_null+0x)
[ 0.000000] [<c0040f7c>] (warn_slowpath_null+0x1c/0x24) from [<c02e6970>] (__mutex_unlock_slowpath)
[ 0.000000] [<c02e6970>] (__mutex_unlock_slowpath+0x108/0x140) from [<c04840a0>] (am33xx_clk_init+)
[ 0.000000] [<c04840a0>] (am33xx_clk_init+0x74/0xa4) from [<c0483de8>] (omap3xxx_clk_init+0xf0/0x3)
[ 0.000000] [<c0483de8>] (omap3xxx_clk_init+0xf0/0x334) from [<c047a8f0>] (setup_arch+0x800/0x84c)
[ 0.000000] [<c047a8f0>] (setup_arch+0x800/0x84c) from [<c0478530>] (start_kernel+0x88/0x2a0)
[ 0.000000] [<c0478530>] (start_kernel+0x88/0x2a0) from [<80008040>] (0x80008040)
[ 0.000000] ---[ end trace 1b75b31a2719ed1c ]---
[ 0.000000] Unable to handle kernel paging request at virtual address 600004e7
[ 0.000000] pgd = c0004000
[ 0.000000] [600004e7] *pgd=00000000
[ 0.000000] Internal error: Oops: 5 [#1]
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 Tainted: G W (3.2.0 #3)
[ 0.000000] PC is at do_raw_spin_trylock+0x8/0x58
[ 0.000000] LR is at _raw_spin_lock_irqsave+0x50/0x84
[ 0.000000] pc : [<c016dc94>] lr : [<c02e7864>] psr: 60000193
[ 0.000000] sp : c04b3f08 ip : c04b7ec0 fp : c04b3f54
[ 0.000000] r10: 80000200 r9 : 00000000 r8 : 600004e7
[ 0.000000] r7 : a0000193 r6 : 600004f7 r5 : 600004e7 r4 : c0038480
[ 0.000000] r3 : c04b7ec0 r2 : 00000000 r1 : 00000000 r0 : 600004e7
[ 0.000000] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 0.000000] Control: 10c5387d Table: 80004019 DAC: 00000015
[ 0.000000] Process swapper (pid: 0, stack limit = 0xc04b22f0)
[ 0.000000] Stack: (0xc04b3f08 to 0xc04b4000)
[ 0.000000] 3f00: c0038480 c02e7864 00000002 00000000 c0038480 c0040f54
[ 0.000000] 3f20: c03fa754 0000000f c04b3f38 60000193 c04840a0 c0038480 c04b3f38 c04b3f38
[ 0.000000] 3f40: 60000193 c03eb6ac c04b9ac8 80000200 c04b9ac8 c02e6918 00004000 c04c7134
[ 0.000000] 3f60: c04c81cc c04b3f38 c0bc8f64 c04840a0 c0678c18 00003517 c0db1840 c0483de8
[ 0.000000] 3f80: c0bc8f64 063eb6ac c04b9ac8 c049b5d8 c0db1840 c04c7138 c0bc8f64 c047a8f0
[ 0.000000] 3fa0: 00000000 10c53c7d 413fc082 c049c3f4 00000000 c0678980 00000001 ffffffff
[ 0.000000] 3fc0: c04b99fc 80004059 413fc082 00000000 00000000 c0478530 00000000 00000000
[ 0.000000] 3fe0: 00000000 c049c82c 10c53c7d c04b40c8 c049c828 80008040 00000000 00000000
[ 0.000000] [<c016dc94>] (do_raw_spin_trylock+0x8/0x58) from [<c02e7864>] (_raw_spin_lock_irqsave+)
[ 0.000000] [<c02e7864>] (_raw_spin_lock_irqsave+0x50/0x84) from [<c0038480>] (try_to_wake_up+0x20)
[ 0.000000] [<c0038480>] (try_to_wake_up+0x20/0x190) from [<c02e6918>] (__mutex_unlock_slowpath+0x)
[ 0.000000] [<c02e6918>] (__mutex_unlock_slowpath+0xb0/0x140) from [<c04840a0>] (am33xx_clk_init+0)
[ 0.000000] [<c04840a0>] (am33xx_clk_init+0x74/0xa4) from [<c0483de8>] (omap3xxx_clk_init+0xf0/0x3)
[ 0.000000] [<c0483de8>] (omap3xxx_clk_init+0xf0/0x334) from [<c047a8f0>] (setup_arch+0x800/0x84c)
[ 0.000000] [<c047a8f0>] (setup_arch+0x800/0x84c) from [<c0478530>] (start_kernel+0x88/0x2a0)
[ 0.000000] [<c0478530>] (start_kernel+0x88/0x2a0) from [<80008040>] (0x80008040)
[ 0.000000] Code: eb05d839 eaffffc2 e92d4010 e3a02000 (e5901000)
[ 0.000000] ---[ end trace 1b75b31a2719ed1d ]---
[ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
[ 0.000000] [<c0019a38>] (unwind_backtrace+0x0/0x138) from [<c02e14ac>] (panic+0x68/0x1a0)
[ 0.000000] [<c02e14ac>] (panic+0x68/0x1a0) from [<c00447b0>] (do_exit+0x684/0x688)
[ 0.000000] [<c00447b0>] (do_exit+0x684/0x688) from [<c0017918>] (die+0x130/0x2dc)
[ 0.000000] [<c0017918>] (die+0x130/0x2dc) from [<c02e1308>] (__do_kernel_fault.part.4+0x64/0x74)
[ 0.000000] [<c02e1308>] (__do_kernel_fault.part.4+0x64/0x74) from [<c001b0d0>] (do_page_fault+0x2)
[ 0.000000] [<c001b0d0>] (do_page_fault+0x204/0x214) from [<c000856c>] (do_DataAbort+0x38/0x98)
[ 0.000000] [<c000856c>] (do_DataAbort+0x38/0x98) from [<c0013e1c>] (__dabt_svc+0x3c/0x60)
[ 0.000000] Exception stack(0xc04b3ec0 to 0xc04b3f08)
[ 0.000000] 3ec0: 600004e7 00000000 00000000 c04b7ec0 c0038480 600004e7 600004f7 a0000193
[ 0.000000] 3ee0: 600004e7 00000000 80000200 c04b3f54 c04b7ec0 c04b3f08 c02e7864 c016dc94
[ 0.000000] 3f00: 60000193 ffffffff
[ 0.000000] [<c0013e1c>] (__dabt_svc+0x3c/0x60) from [<c016dc94>] (do_raw_spin_trylock+0x8/0x58)
[ 0.000000] [<c016dc94>] (do_raw_spin_trylock+0x8/0x58) from [<c02e7864>] (_raw_spin_lock_irqsave+)
[ 0.000000] [<c02e7864>] (_raw_spin_lock_irqsave+0x50/0x84) from [<c0038480>] (try_to_wake_up+0x20)
[ 0.000000] [<c0038480>] (try_to_wake_up+0x20/0x190) from [<c02e6918>] (__mutex_unlock_slowpath+0x)
[ 0.000000] [<c02e6918>] (__mutex_unlock_slowpath+0xb0/0x140) from [<c04840a0>] (am33xx_clk_init+0)
[ 0.000000] [<c04840a0>] (am33xx_clk_init+0x74/0xa4) from [<c0483de8>] (omap3xxx_clk_init+0xf0/0x3)
[ 0.000000] [<c0483de8>] (omap3xxx_clk_init+0xf0/0x334) from [<c047a8f0>] (setup_arch+0x800/0x84c)
[ 0.000000] [<c047a8f0>] (setup_arch+0x800/0x84c) from [<c0478530>] (start_kernel+0x88/0x2a0)
[ 0.000000] [<c0478530>] (start_kernel+0x88/0x2a0) from [<80008040>] (0x80008040)
My board specific init is:
static void __init am335x_evm_init(void)
{
am33xx_cpuidle_init();
am33xx_mux_init(board_mux);
omap_serial_init();
omap_sdrc_init(NULL, NULL);
omap_board_config = am335x_evm_config;
omap_board_config_size = ARRAY_SIZE(am335x_evm_config);
/* Create an alias for icss clock */
if (clk_add_alias("pruss", NULL, "pruss_uart_gclk", NULL))
pr_warn("failed to create an alias: icss_uart_gclk --> pruss\n");
/* Create an alias for gfx/sgx clock */
if (clk_add_alias("sgx_ck", NULL, "gfx_fclk", NULL))
pr_warn("failed to create an alias: gfx_fclk --> sgx_ck\n");
}
How can I fix this problem?