分类:
2011-07-29 14:09:04
1、 Kernel panic - not syncing: Attempted to kill init!
【原因】:内核和文件系统编译时选用的配置不一致:一般是文件系统启用了ARM EABI,但内核编译时,未打开此编译选项;
【解决】:make menuconfig
Kernel Features ---> [*] Use the ARM EABI to compile the kernel [*] Allow old ABI binaries to run with this kernel (EXPERIMENTA)
2、 Bootloader启动结束后,串口信息变成乱码。
【原因】:内核配置的系统时钟频率跟实际硬件不匹配;
【解决】:修改系统时钟:
« 在arch/arm/mach-s
static void __init smdk2440_map_io(void)
{
……
//s
s
......
}
3、cramfs文件系统加载错误
end_request: I/O error, dev mtdblock3, sector 24
Buffer I/O error on device mtdblock3, logical block 3
end_request: I/O error, dev mtdblock3, sector 0
FAT: unable to read boot sector
VFS: Cannot open root device "mtdblock3" or unknown-block(31,3)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)
Yaffs文件系统加载错误
yaffs tragedy: attempting to use non-directory as a directory in scan. Put in lo
st+found.
yaffs tragedy: attempting to use non-directory as a directory in scan. Put in lo
st+found.
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem).
Freeing init memory: 136K
tragedy: yaffs_FindObjectByName: non-directory
==>> yaffs bug: fs/yaffs2/yaffs_guts.c 7311
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in:
CPU: 0 Not tainted (
PC is at yaffs_FindObjectByName+0x100/0x138
LR is at yaffs_FindObjectByName+0x68/0x138
pc : [
sp : c
r10: c3819e10 r9 : 00000bcd r8 : c
r7 : c39adf
r3 : 00000000 r2 : 00000008 r1 : 00000008 r0 : 00000bcd
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: c
Process swapper (pid: 1, stack limit = 0xc3818268)
Stack: (0xc
Backtrace:
[
0x50/0xfc)
[
r7:c3819ef0 r6:c
[
24)
[
)
[
r7:c38ec000 r6:c38ec000 r5:c3819ef0 r4:00000001
[
open+0x54/0x90)
r7:00000001 r6:c38ec000 r5:ffffff
[
_open+0x24/0x
r7:00000000 r6:ffffff
[
6cc)
[
[
r8:00000000 r7:00000000 r6:00000000 r5:00000000 r4:c04084e0
[
[
r5:00000000 r4:c04084e0
[
r4:00000000
Code: e
---[ end trace 58341908cdc6eff5 ]---
Kernel panic - not syncing: Attempted to kill init!
【原因】:一般是NAND ECC校验错误:内核编译启用了MTD的ECC,文件系统制作过程禁用了的ECC;
【解决】:禁用内核编译时的MTD的ECC:
drivers/mtd/nand/s
将chip->ecc.mode = NAND_ECC_SOFT;
改为 chip->ecc.mode = NAND_ECC_NONE;
yaffs: dev is 32505859 name is "mtdblock3"
【解决】:得解决
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
mount D c022b7d0 0 273 270 0x00000000
Backtrace:
[
[
r6:c3a33e38 r5:7fffffff r4:c3a33e00
[
r7:00000001 r6:c3a33e38 r5:00000000 r4:c3910320
[
[
r7:c02eb934 r6:00000001 r5:c0306e74 r4:00000001
[
r3:c392f7c0 r2:00000006 r1:c02ab620
r7:00000000 r6:c392f7c0 r5:00000006 r4:00000000
[
r7:c392f7c0 r6:c3a35000 r5:c392f7a0 r4:00008000
[
r8:c3884000 r7:00000000 r6:00000020 r5:00008000 r4:c392f7a0
[
[
r7:00000015 r6:becf4f70 r5:becf4f7e r4:001b32f8
【解决】:得解决
5、can't open /dev/s
【原因】:内核驱动中使用的驱动设备名跟inittab中的名字匹配不上;
【解决】:修改inittab中的s
static struct uart_driver s
.owner = THIS_MODULE,
.dev_name = "s
.nr = 3,
.cons = S
.driver_name = S
.major = S
.minor = S
};