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制作根文件相关推荐

  1. linux 开机提示 Kernel panic - not syncing: Attempted to kill init! 解决方案

    原因极可能是:"在设置selinux的时候,是不是位置写错了,应该修改SELINUX行,而不是SELINUXTYPE" 问题:开机提示"Kernel panic - no ...

  2. Linux启动提示Kernel panic - not syncing: Attempted to kill init解决办法

    系统类型:CentOS 6.5(x64) 启动提示:Kernel panic - not syncing: Attempted to kill init 解决办法: 系统启动的时候,按下'e'键进入g ...

  3. arm linux not syncing,Linux系统启动中途停止,提示Kernel panic - not syncing: Attempted to kill init!...

    严格按照教程上制作了ubifs文件系统.但启动到中途出现如下的错误信息.屏幕上只显示了一个企鹅.就停住了.终端上的信息如下. FAT: utf8 is not a recommended IO cha ...

  4. linux kernel panic not syncing 永久解决的方案

    linux kernel panic not syncing 永久解决的方案 相信第一次使用Linux的朋友可能会遇到这样的问题,因为我就遇到了,直到学<Linux从入门到精通(微课视频版)&g ...

  5. linux升级失败无法启动应用程序,Ubuntu升级后无法启动 kernel panic - not syncing

    Ubuntu ,无法启动 出错信息: kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,6) 修复 ...

  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 ...

  7. 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 ...

  8. linux启动根文件失败报错:进程退出exitcode,Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

    进程退出的 exitcode 错误信息 内核打印 1 Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b 分 ...

  9. NFS挂载失败(Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0))

    写在前面: 我的博客已迁移至自建服务器:博客传送门,CSDN博客暂时停止,如有机器学习方面的兴趣,欢迎来看一看. 此外目前我在gitHub上准备一些李航的<统计学习方法>的实现算法,目标将 ...

最新文章

  1. 多视图立体匹配论文分享:BlendedMVS
  2. CComboBox 类详细说明
  3. yii2 windows 安装
  4. 请问:这里的空应怎么填呀?
  5. CentOS7下Hadoop集群搭建
  6. 装了Visual Studio 2005之后重装IIS的问题解决方法
  7. html怎么在图片上加文字_怎么把图片文字转换成word文档
  8. SLAM_VIO中的IMU模型
  9. linux bash脚本 坑,向大家分享一个shell脚本的坑
  10. LinkedIn领英帐号被封(被限制登录)的解决办法
  11. 水经注万能地图下载器下载的瓦片如何应用到web端的cesium中
  12. android设计计算等级程序,Android自定义View仿QQ等级天数进度
  13. 为什么要用以太网IO模块替代RS485远程IO模块
  14. 酒桌饭局上的那些事,男生必学,女生必看,非常有用
  15. EasyPoi 实现Word文档内容替换3种情况(正常文本替换、表格文本替换、图表替换)
  16. LED灯条亮度色温调节
  17. APP——功耗测试(耗电测试)——adb命令简单获取分析
  18. 图片Base64编码
  19. 深圳的山人送给大家的中秋祝福
  20. linux xunsou_Linux下的迅搜(xunsearch)安装使用教程,并设置成开机启动服务

热门文章

  1. 践行绿色发展理念,产业园区绿色转型发展之五大路径
  2. 阿里云“网红运维工程师白金:做一个平凡的圆梦人
  3. 计算机模拟触摸屏,西门子人机界面(触摸屏HMI)与虚拟仿真应用技术
  4. Nginx+Tomcat负载均衡、动静分离
  5. STM32三种BOOT模式
  6. NPDP知识推送-第七章产品生周期管理(3)
  7. centos7.9-kvm-ESXi相关操作
  8. linux中dd命令详解,Linux基础知识之dd命令详解
  9. K8S集群中Pod资源常见的异常状态以及排查思路
  10. 线上应用遇到了oom killer