文档详情

根文件系统内核移植出错误笔记.pdf

发布:2018-08-01约5.15千字共11页下载文档
文本预览下载声明
错误共享文档 首先谢谢群里帮助过我的同学,谢谢你们的支持,谢谢东哥的大力支持…是你们让我走 度了一个又一个难关…………… 此文档我把它共享在群里,希望对刚入门内核移植的同学有所帮助,它不是 什么秘籍,也不是什么经典的思维,更是不是什么神秘的技术,它只是记录我们 在学习中遇到的问题,帮助您减少在学习内核移植时的压力,少走弯路; 同时也希望您在内核移植时,把所遇到的问题也共享在此文档上,如果在文 档记录中发现有笔误或者出错的地方,请您修改一下,共同学习,共同进步!! 如果有愿意分享在内核移植时出现的错误而后得到解决的同学,希望您用图 文并茂的形式追加在后面,以方便后来者纠错。我在此代表以后在此文档中得帮 助的同学们先给您(们)说声谢谢……… 问题一: 通过nfs 挂载根文件系统,出现如下类似 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0),如图: 这种情况,表示用 nfs 挂载成功,并且网卡驱动也是正常的。但是为什么还有后面这句话 呢(Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0))? 原因是这样的: 由 于 我 在 uboot 下 写 入 ( setenv bootargs root=/dev/nfs rw nfsroot=:/home/jh/File/first_fsip=:::255.255.255. 0::eth0:off init=/linuxrc console=ttySAC0,115200 )参数;这表示直接挂载的,出现错误的原因是 因为指定的目录(/home/jh/File/first_fs)没有找到; 解决方法: 1. 查看指定的目录是否存在,没有就用 mkdir 建立这个系统目录; 2. 查看是否具有执行权限,没有,就用 (chmod 777 first_fs)命令改变权限; 3. 查看文件系统目录下dev/inittab , 用ls – l 命令查看是否有mtdblock2,若有再看一 下它是否是(mtdblock2 b 2 0)要与上图中最后的提示一致才行,不然无法挂 接;若没,有用 (mknod b 2 0)建立。以上问题就可以解决了 (这三种情况我都遇到过,所以……) 问题二: 挂接文件目录后的出现,如图: 程序在这里停止不前,说明我构建的文件系统有问题,那么问题在哪里,我看了 N 遍后依 然没有发现问题,最后我在一个网站上看到有一个人和我遇到的问题一样, 于是细看得到解决。 解决方法: “问题得到解决,重新制作了文件系统 1.构建dev 目录时,把静态创建设备文件改为使用mdev 创建设备文件 2.注意etc/inittab 文件中 s3c2440_serial0::askfirst:-/bin/sh 串口名要和内核中的名称一致” 而我的是console::askfirst:-/bin/sh (恍然大悟,这里原来我没有注意到) 很高兴,内核移植我弄了4 天,功夫不负有心人,nfs 挂载成功,终于得到解决。哈哈,现在 凌晨一点了,可以睡了………………… 问题三: 为什么我的系统文件用nfs 能挂载成功, 可通过mkyaffs2image 编译之后,下载到内 核后却不能正常运行,并且出现连续坏块 如图: 我用了三天几乎看光了所有网上类似错误的解决办法,也请教了群里不少的同学,失望的是 没有一个方法能行得通,于是在别人的指导下逐一地排除。 1. 在uboot 下用printenv 来查看参数,如图: 参数正常 2. 于是再查看内核启动信息中的分区是否与uboot 中的分区一样,并且分区的内存容量也 要相等;如图: 与uboot 中的分区一致,正常:这些都正常为什么运行不起来呢?根文件系 统也是正常的呀;我开始有点丈二和尚摸不着头脑了,告诉自己会有办法 的, 耐心点。 3. 想想编译内核的工具和编译busybox 的工具是不是同一个,如果不是同一个也不 能正常运行,并且还要保证系统目录下lib 库的文件也
显示全部
相似文档