-------------------------------------------
本文系本站原创,欢迎转载!
转载请注明出处:http://ymcheng.cublog.cn
------------------------------------------
1.Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
问题可能:
a MTD分区与bootloader不匹配
b 没有 devfs文件系统支持(你在内核中没有配置好支持fs选项,我的是yaffs2)
c ECC校验没有关闭
2. Failed to execute /linuxrc. Attempting defaults...
Kernel panic - not syncing: No init found. Try passing init= option to kernel.(/linuxrc初始化失败 )
问题可能:
a "Default kernel command string"设置有误,比如启动分区指定不对
b 可能是文件系统有问题
3.VFS: Mounted root (yaffs filesystem) readonly.可能是YAFFS配置问题(这个问题我至今还没找出来)
(更新:原来是因为nand flash问题,我烧写的是64MB的fs 而nanflash是256MB,因此要修改nand分区为256MB后下到板子上就行了,感谢这个提示:)
4.Kernel panic - not syncing: Attempted to kill init!
可能的问题就比较多了
a /dev/下面的设备节点有无正确创建
b busybox中的引导启动程序有无正确配置
c 引导启动参数有无正确配置
5
.,编译内核时,最后出现make 【.tmp_vmlinux1】 error 1,
若编译内核出现如下情况
LD .tmp_vmlinux1
arm-linux-ld:arch/arm/kernel/vmlinux.lds:1439: parse error
make: *** [.tmp_vmlinux1] Error 1
解决方法:修改arch/arm/kernel/vmlinux.lds
[root@localhost linux-2.6.14]$ vi arch/arm/kernel/vmlinux.lds
将文件尾2条的ASSERT注释掉
/* ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support") */
/* ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined") */
然后重新make即可
出现如下错误:
LD .tmp_vmlinux1
arch/arm/mach-s3c2410/built-in.o(.text+0x1fd4): In function `$a':
: undefined reference to `printascii'
make: *** [.tmp_vmlinux1] Error 1
printascii/printch/printhex/printhex2/printhex4/printhex8 定义于arch/arm/kernel/debug.S,这几个“函数”依赖于平台相关的几个“函数”:addruart senduart waituart busyuart (include/asm-arm/arch-s3c2410/debug-macro.S)来实现不依赖于 串口驱动的信息打印。
需要打开以下两个选项(实际上是后一个,其依赖前一个):
Kernel debugging (CONFIG_DEBUG_KERNEL=y)
Kernel low-level debugging functions (CONFIG_DEBUG_LL=y)
出错是在2410平台相关的目录中pm.c在定义了CONFIG_ S3C2410_PM_DEBUG 时要引用 printascii,但这个选项并没有自动打开上面的两个选项。(Bug:)
因此,最终解决方案是:
[1] 关闭PM调试选项:S3C2410 PM Suspend debug; 或
[2] 打开上面两个核心调试选项;或
[3]修改 arch/arm/mach-s3c2410/Kconfig 文件:
config S3C2410_PM_DEBUG
bool "S3C2410 PM Suspend debug"
depends on ARCH_S3C2410 && PM
+ select CONFIG_DEBUG_KERNEL CONFIG_DEBUG_LL
help
Say Y here if you want verbose debugging from the PM Suspend and
Resume code. See `Documentation/arm/Samsing-S3C24XX/Suspend.txt`
for more information.
或
config S3C2410_PM_DEBUG
bool "S3C2410 PM Suspend debug"
- depends on ARCH_S3C2410 && PM
+ depends on ARCH_S3C2410 && PM && CONFIG_DEBUG_LL
help
Say Y here if you want verbose debugging from the PM Suspend and
Resume code. See `Documentation/arm/Samsing-S3C24XX/Suspend.txt`
for more information.
我在移植2440时出现的问题也就根文件系统的问题,很多人建议用别人做好的fs试试。后面还有驱动,过段时间再上。
阅读(2518) | 评论(0) | 转发(0) |