忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 426 | 回复: 6

[文件系统] 关于rootfs,initramfs,root=等等根文件系统启动问题 [复制链接]

论坛徽章:
0
发表于 2017-03-15 21:49 |显示全部楼层
我在linux打包的根文件系统使用了cpio-initrd,直接作为跟文件系统能正常启动。
我想请教一下,如果bootargs中再使用root=/dev/mtdblock3 这样的配置会出现什么情况?
也就是说即使用initrd/initramfs,又使用flash中完整的根文件系统,在内核中是怎样的流程?我看见电脑中的确是这样实现的。

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


多谢高手,这个问题缠绕我很长时间了。

论坛徽章:
0
发表于 2017-03-16 17:25 |显示全部楼层
我的机器运行的是4.4的代码。截一段给你看一下
skip_initramfs rootwait ro init=/init root=/dev/mmcblk0p14
很显然initrd跟initramfs不是必须的。

不过我可以从2.6的内核中找到你需要的代码。

/init/do_mounts.c:216:__setup("root=", root_dev_setup);

论坛徽章:
0
发表于 2017-03-16 19:40 |显示全部楼层
回复 2# mournjust

如果不必须是不是把电脑里的/boot/initrd.img删了也行呢

论坛徽章:
0
发表于 2017-03-16 19:41 |显示全部楼层
回复 2# mournjust

如果我用了initramfs,再使用root=/dev/mtdblock3是否可以?

论坛徽章:
1
15-16赛季CBA联赛之新疆
日期:2017-03-09 12:33:45
发表于 2017-03-17 11:24 |显示全部楼层
回复 1# noleave

从现在的linux的正常启动流程来说,initramfs是不能去除的(当然,你对内核本身进行了深度定制,另当别论)
为什么会这样?
因为这个有一个根本的想法, 就是linux内核一启动,是什么也没有的。它如何进行复杂的运算,举一个例子,要初始化一些环境,并且要根据配置启动第一个shell。
这些内容不是一个内核就能搞定的,要用户态的程序共同参与的。但一开始,整个系统还没有根目录,这个时候就要加载要目录,当然你可以说,如果我们把根目录加载完了不就可以了吗?这里还有问题,因为加载根目录就是系统初始配置的一部分,这个可能会写在一些配置文件里,系统如果要读配置文件,那真的会很麻烦,所以,这个时候最好有一个可以用的文件系统,而initramfs就是针对这种需求诞生的。它就是加载在内存中,所以在系统不论如何都是可以用的,你想,如果系统是一个网络启动的,根本没有硬盘的怎么办?
我给你个建议,你可以对initramfs进行高度定制,而不要直接去除initramfs,因为如果真这样做,linux系统很多地方都要修改了。

论坛徽章:
0
发表于 2017-03-17 12:41 |显示全部楼层
回复 5# jeppeter

同意。从initrd.img的设计意图上来看,对于桌面机来说是必不可少的。因为桌面机是模块化的,今天可以换个磁盘,明天可以换个SDD。

对于高度集成化的移动设备而言(定制化的),比如手机。我认为initramfs是可以去掉的。因为高度集成化,所以kernel基本包括了所需的driver。
,kernel有能力去挂载根目录。

论坛徽章:
0
发表于 2017-03-18 14:21 |显示全部楼层
好像说很久以前的linux,启动时不需要initrd,直接在bootargs中使用root=,从真实的根文件系统启动就可以,不知道是不是这样?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10张SACC2017门票等你来拿~

在数字化转型时代,云已成为万物智能的数字化大脑。而随着大数据应用、人工智能、移动互联网等技术的飞速发展,“智慧 +” 的概念正在深入到各行各业,提升企业效率,释放商业潜能,创造全新机遇。作为国内顶级技术盛会之一,2017 中国系统架构师大会(SACC2017)将于 10 月 19-21 日在北京新云南皇冠假日酒店震撼来袭。今年,大会以 “云智未来” 为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置 2 大主会场,18 个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100 余位技术专家及行业领袖来分享他们的经验;并将吸引 4000 + 人次的系统运维、架构师及 IT 决策人士参会,为他们提供最具价值的交流平台。
----------------------------------------
优惠时间:2017年10月19日前

活动链接>>
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP