Chinaunix首页 | 论坛 | 博客
  • 博客访问: 108375
  • 博文数量: 24
  • 博客积分: 1584
  • 博客等级: 上尉
  • 技术积分: 215
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-16 08:59
文章分类
文章存档

2012年(1)

2011年(2)

2010年(21)

分类: LINUX

2010-07-22 10:47:16

-------------------------------------------
本文系本站原创,欢迎转载!
转载请注明出处:
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试试。后面还有驱动,过段时间再上。
阅读(2419) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~