arm linux not syncing,Kernel panic - not syncing: No init found(busybox制作根文件
1. 在正确的位置烧写正确的文件系统映象:
(a). 正确的位置
嵌入式开发中,常通过bootloader烧写文件系统映象,假设写在flash的地址A处。
内核启动时,显然要从地址A处读取文件系统,内核是怎么知道的呢?通过命令行参数,比如“root=/dev/mtdblock2
”。/dev/mtdblock2 又是怎么和地址A对应上的呢?内核将flash划分为
几个分区,这是在代码中固定的。/dev/mtdblock2是第3个分区,它的开始地址必须是A。
在内核启动时,可以看到这些分区的开始地址、结束地址,比如内核启动时会有类似下面的信息:
Creating 3 MTD partitions on "NAND 64MiB 3,3V
8-bit":
0x00000000-0x00030000 : "bootloader"
0x00050000-0x00250000 : "kernel"
0x00250000-0x03ffc000 : "root"
对于上面的内核信息,/dev/mtdblock2对应root分区,开始地址为0x00250000,使用bootloader写文件系统映象时,烧写的地址必须是0x00250000
所以,要保证3点:① bootloader烧到地址A,② 地址A是内核某个分区的开始地址,③
命令行参数“root=/dev/mtdblockXXX ”是这个分区
(b). 正确格式的文件系统映象
不同的bootloader支持的烧写的文件系统映象格式不同、使用的烧写命令也可能不同,请注意这点。
最后,请保证这个文件系统映象是“真的烧写了”,因为如果flash只是擦除而没有烧写,它也是“正确的、可以挂接的文件系统”
2. 内核支持这种文件系统格式
配置内核时选上要支持的文件系统格式
1、2这两个问题如果不能保证,内核启动时会出现类似如下错误:
VFS: Cannot open root device "mtdblock2" or
unknown-block(2,0)
Please append a correct "root=" boot option
如果1、2能保证,就可以挂接上文件系统,出现类似下面的字样时,革命已经成功了80%:
VFS: Mounted root (cramfs filesystem) readonly.
Freeing init memory: 116K
3. 文件系统的内容要完备
挂接文件系统后,内核就会读取、执行文件系统中的某个文件,通过它来启动应用程序。这个文件要么通过命令行参数“init=xxxx”来指定,要么取默认的文件。一般制作文件系统映象时,都是在一个目录(假设目录名为rootfs)下放好各种东西:bin/,sbin/,lib/等目录,etc/fstab等文件,然后将这个目录制作为文件系统映象。
这时会有类似以下的错误:
Failed to execute /linuxrc. Attempting
defaults...
Kernel panic - not syncing: No init found. Try
passing init= option to kernel.
它说得很明显,"Failed to execute /linuxrc"──执行/linuxrc失败:
它为什么要执行/linuxrc,还不是因为你在命令行中加入了“init=/linuxrc”这个参数。
原因有二:
一、你制作文件系统映象时,rootfs目录下有没有linuxrc这个文件
二、rootfs目录的linuxrc文件是否正确
arm linux not syncing,Kernel panic - not syncing: No init found(busybox制作根文件相关推荐
- linux 开机提示 Kernel panic - not syncing: Attempted to kill init! 解决方案
原因极可能是:"在设置selinux的时候,是不是位置写错了,应该修改SELINUX行,而不是SELINUXTYPE" 问题:开机提示"Kernel panic - no ...
- Linux启动提示Kernel panic - not syncing: Attempted to kill init解决办法
系统类型:CentOS 6.5(x64) 启动提示:Kernel panic - not syncing: Attempted to kill init 解决办法: 系统启动的时候,按下'e'键进入g ...
- arm linux not syncing,Linux系统启动中途停止,提示Kernel panic - not syncing: Attempted to kill init!...
严格按照教程上制作了ubifs文件系统.但启动到中途出现如下的错误信息.屏幕上只显示了一个企鹅.就停住了.终端上的信息如下. FAT: utf8 is not a recommended IO cha ...
- linux kernel panic not syncing 永久解决的方案
linux kernel panic not syncing 永久解决的方案 相信第一次使用Linux的朋友可能会遇到这样的问题,因为我就遇到了,直到学<Linux从入门到精通(微课视频版)&g ...
- linux升级失败无法启动应用程序,Ubuntu升级后无法启动 kernel panic - not syncing
Ubuntu ,无法启动 出错信息: kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,6) 修复 ...
- 【Linux】误删libc提示Kernel panic not syncing: Attempted to kill init解决办法
系统类型:CentOS 6.5(x64) 启动提示:Kernel panic - not syncing: Attempted to kill init 背景:因为误删了 libc.so.6 ...
- linux开发笔记:Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
我利用NFS加载虚拟机里的linux中的文件系统,结果板子端出现了以下错误,记得我的另一块板子也是出现了类似的错误 dm9000 dm9000.0: WARNING: no IRQ resource ...
- linux启动根文件失败报错:进程退出exitcode,Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
进程退出的 exitcode 错误信息 内核打印 1 Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b 分 ...
- NFS挂载失败(Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0))
写在前面: 我的博客已迁移至自建服务器:博客传送门,CSDN博客暂时停止,如有机器学习方面的兴趣,欢迎来看一看. 此外目前我在gitHub上准备一些李航的<统计学习方法>的实现算法,目标将 ...
最新文章
- 多视图立体匹配论文分享:BlendedMVS
- CComboBox 类详细说明
- yii2 windows 安装
- 请问:这里的空应怎么填呀?
- CentOS7下Hadoop集群搭建
- 装了Visual Studio 2005之后重装IIS的问题解决方法
- html怎么在图片上加文字_怎么把图片文字转换成word文档
- SLAM_VIO中的IMU模型
- linux bash脚本 坑,向大家分享一个shell脚本的坑
- LinkedIn领英帐号被封(被限制登录)的解决办法
- 水经注万能地图下载器下载的瓦片如何应用到web端的cesium中
- android设计计算等级程序,Android自定义View仿QQ等级天数进度
- 为什么要用以太网IO模块替代RS485远程IO模块
- 酒桌饭局上的那些事,男生必学,女生必看,非常有用
- EasyPoi 实现Word文档内容替换3种情况(正常文本替换、表格文本替换、图表替换)
- LED灯条亮度色温调节
- APP——功耗测试(耗电测试)——adb命令简单获取分析
- 图片Base64编码
- 深圳的山人送给大家的中秋祝福
- linux xunsou_Linux下的迅搜(xunsearch)安装使用教程,并设置成开机启动服务