Chinaunix首页 | 论坛 | 博客
  • 博客访问: 93598
  • 博文数量: 24
  • 博客积分: 1066
  • 博客等级: 少尉
  • 技术积分: 277
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-02 21:07
文章分类
文章存档

2012年(1)

2011年(19)

2010年(4)

我的朋友

分类:

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-s3c2440/mach-smdk2440.c中做如下修改

       static void __init smdk2440_map_io(void)

{

       ……

                           //s3c24xx_init_clocks(16934400); 

s3c24xx_init_clocks(12000000); //12MHz,根据实际硬件修改时钟参数

......

}

 

3cramfs文件系统加载错误

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:

1f00        128 mtdblock0 (driver?)

1f01         64 mtdblock1 (driver?)

1f02       2880 mtdblock2 (driver?)

1f03      13312 mtdblock3 (driver?)

1f04      32768 mtdblock4 (driver?)

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  (2.6.27.5mjp #5)

PC is at yaffs_FindObjectByName+0x100/0x138

LR is at yaffs_FindObjectByName+0x68/0x138

pc : [015609c>]    lr : []    psr: 60000013

sp : c3819c60  ip : 00000000  fp : c3819d8c

r10: c3819e10  r9 : 00000bcd  r8 : c340856c

r7 : c39adf7c  r6 : c39adfe4  r5 : 00000000  r4 : 00000000

r3 : 00000000  r2 : 00000008  r1 : 00000008  r0 : 00000bcd

Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel

Control: c000717f  Table: 30004000  DAC: 00000017

Process swapper (pid: 1, stack limit = 0xc3818268)

Stack: (0xc3819c60 to 0xc381a000)

Backtrace:

[0155f9c>] (yaffs_FindObjectByName+0x0/0x138) from [] (yaffs_lookup+

0x50/0xfc)

[] (yaffs_lookup+0x0/0xfc) from [39c>] (do_lookup+0xcc/0x198)

 r7:c3819ef0 r6:c340992c r5:c3408514 r4:00000000

[] (do_lookup+0x0/0x198) from [] (__link_path_walk+0x874/0xd

24)

[] (__link_path_walk+0x0/0xd24) from [008f410>] (path_walk+0x50/0x9c

)

[008f3c0>] (path_walk+0x0/0x9c) from [008f584>] (do_path_lookup+0xe0/0x108)

 r7:c38ec000 r6:c38ec000 r5:c3819ef0 r4:00000001

[008f4a4>] (do_path_lookup+0x0/0x108) from [008f628>] (__path_lookup_intent_

open+0x54/0x90)

 r7:00000001 r6:c38ec000 r5:ffffff9c r4:c3819ef0

[008f5d4>] (__path_lookup_intent_open+0x0/0x90) from [008f688>] (path_lookup

_open+0x24/0x2c)

 r7:00000000 r6:ffffff9c r5:00000000 r4:00000002

[008f664>] (path_lookup_open+0x0/0x2c) from [] (do_filp_open+0x80/0x

6cc)

[] (do_filp_open+0x0/0x6cc) from [0083a78>] (do_sys_open+0x5c/0xec)

[0083a1c>] (do_sys_open+0x0/0xec) from [] (sys_open+0x24/0x28)

 r8:00000000 r7:00000000 r6:00000000 r5:00000000 r4:c04084e0

[1c>] (sys_open+0x0/0x28) from [002a438>] (init_post+0x2c/0xf8)

[002a40c>] (init_post+0x0/0xf8) from [] (kernel_init+0xc8/0xf0)

 r5:00000000 r4:c04084e0

[000853c>] (kernel_init+0x0/0xf0) from [] (do_exit+0x0/0x6bc)

 r4:00000000

Code: e3a020ff eb008efe e3500000 0a000003 (e5955000)

---[ end trace 58341908cdc6eff5 ]---

Kernel panic - not syncing: Attempted to kill init!

【原因】:一般是NAND ECC校验错误:内核编译启用了MTDECC,文件系统制作过程禁用了的ECC

【解决】:禁用内核编译时的MTDECC

        drivers/mtd/nand/s3c2410.c

              chip->ecc.mode = NAND_ECC_SOFT;

        改为 chip->ecc.mode = NAND_ECC_NONE;

 

Yaffs2文件系统存储文件丢失

Mount YAFFS2 Filesystem...
 yaffs: dev is 32505859 name is "mtdblock3"

yaffs: Attempting MTD mount on 31.3, "mtdblock3"

Partially written block 3 detected

yaffs_read_super: isCheckpointed 0

【原因】:不详

【解决】:得解决

 

4、挂载根文件系统时出现如下错误:

INFO: task mount:273 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
mount         D c022b7d0     0   273    270 0x00000000
Backtrace:
[] (schedule+0x0/0x308) from [] (schedule_timeout+0x20/0x180)
[] (schedule_timeout+0x0/0x180) from [] (wait_for_common+0xfc/0x180)
 r6:c3a33e38 r5:7fffffff r4:c3a33e00
[] (wait_for_common+0x0/0x180) from [] (wait_for_completion+0x18/0x1c)
 r7:00000001 r6:c3a33e38 r5:00000000 r4:c3910320
[] (wait_for_completion+0x0/0x1c) from [] (call_usermodehelper_exec+0x98/0xb4)
[] (call_usermodehelper_exec+0x0/0xb4) from [] (__request_module+0x120/0x164)
 r7:c02eb934 r6:00000001 r5:c0306e74 r4:00000001
[] (__request_module+0x0/0x164) from [] (get_fs_type+0x58/0xa4)
 r3:c392f7c0 r2:00000006 r1:c02ab620
 r7:00000000 r6:c392f7c0 r5:00000006 r4:00000000
[] (get_fs_type+0x0/0xa4) from [] (do_kern_mount+0x20/0xe4)
 r7:c392f7c0 r6:c3a35000 r5:c392f7a0 r4:00008000
[] (do_kern_mount+0x0/0xe4) from [] (do_mount+0x624/0x660)
 r8:c3884000 r7:00000000 r6:00000020 r5:00008000 r4:c392f7a0
[] (do_mount+0x0/0x660) from [] (sys_mount+0x98/0xd8)
[] (sys_mount+0x0/0xd8) from [] (ret_fast_syscall+0x0/0x28)
 r7:00000015 r6:becf4f70 r5:becf4f7e r4:001b32f8

【原因】:不详

【解决】:得解决

 

5can't open /dev/s3c2440_serial0: No such file or directory

【原因】:内核驱动中使用的驱动设备名跟inittab中的名字匹配不上;

【解决】:修改inittab中的s3c2440_serial0::askfirst:-/bin/sh 使之与驱动代码/driver/serial/ samsung.c中的一致:

          static struct uart_driver s3c24xx_uart_drv = {

                   .owner           = THIS_MODULE,

                   .dev_name      = "s3c2410_serial",

                   .nr          = 3,

                   .cons              = S3C24XX_SERIAL_CONSOLE,

                   .driver_name  = S3C24XX_SERIAL_NAME,

                   .major            = S3C24XX_SERIAL_MAJOR,

                   .minor            = S3C24XX_SERIAL_MINOR,

};

阅读(2582) | 评论(1) | 转发(0) |
1

上一篇:电路

下一篇:Linux脚本参数之if fi

给主人留下些什么吧!~~

zanget2011-12-21 15:43:05

INFO: task mount:273 blocked for more than 120 seconds.
请问博主,你的问题解决了没有呀
我也碰到一样的问题,没找到解决办法。。。、