关于rootfs,initramfs,root=等等根文件系统启动问题

noleave 2017-03-15 09:48:50
我在linux打包的根文件系统使用了cpio-initrd,直接作为跟文件系统能正常启动。
我想请教一下,如果bootargs中再使用root=/dev/mtdblock3 这样的配置会出现什么情况?
也就是说即使用initrd/initramfs,又使用flash中完整的根文件系统,在内核中是怎样的流程?我看见电脑中的确是这样实现的。

linux启动,initrd/initramfs是否必须?应该是可以直接使用root=参数来直接使用FLASH中的文件系统。但是这个过程在2.6以后的内核中是怎样实现的,我一直没有找到对应的代码。


多谢高手,这个问题缠绕我很长时间了。
...全文
2486 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxianbin 2018-07-26
  • 打赏
  • 举报
回复
这么久的问题怎么被翻出来了!
nes-c 2018-07-25
  • 打赏
  • 举报
回复
如果配置了 root=/dev/mtdblock3 ,还需要配置rootfstype文件系统的类型,要不然默认是ext2

如果要测试用root指定文件系统,并且让他自动加载,需要在编译阶段去掉initramfs的内容,只加载一个裸内核 ,然后内核才会去加载root指定的文件系统 。

具体实现代码需要你自己去找了,不是很记得了
zarelaky 2018-02-11
  • 打赏
  • 举报
回复
initrd/initramfs 不是必须的,可以直接使用flash中的文件系统

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧