免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3626 | 回复: 3
打印 上一主题 下一主题

内核启动至根文件系统加载☞理解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-29 07:56 |只看该作者 |倒序浏览
经常看到坛子里有人对内核启动进行分析,但是大部分集中在各个模式跳转,内存系统建立,中断系统建立等流程的分析上。这里想根据自己之前学习,看书的理解对内核从磁盘加载开始到根文件系统建立写一个粗线条的理解,有兴趣的朋友欢迎指正。

一.上电之初,grub经过各个阶段(stage 1 stage1.5 stage 2)终于找到kernerl image和ramfs(忘了正名了,随便起了个)。随后将其加载入内存。此时文件系统尚未建立,但是由于grub自己是懂“文件系统的”,或者说自己有些简陋的驱动可以访问硬盘而已
二.内核自解压,执行各个子系统的初始化
三."ramfs"自解压
四.内核开始挂载内存中的一个简陋的根文件系统。(这之前要挂载rootfs,一个空的内存文件系统,目的在于建立根文件系统挂载点)然后挂载“ramfs”
五."ramfs"中有预先放置好的一些dirver,如磁盘driver。和一些已经创建好的设备文件(?/dev /dev/fs)。根据这些driver和设备文件。内核最终挂载真正的根设备。
六.至此,挂载完毕。可以执行一些各个厂商自制的配置文件进行个性化设置,不过这些已经是用户态程序了~~

有个小疑问:“ramfs”中预创建的一些设备文件是谁创建的。有没有什么原则?不会是漫天突发奇想随手创建的吧?

论坛徽章:
0
2 [报告]
发表于 2011-04-29 10:29 |只看该作者
so, no body want to talk about it?

论坛徽章:
0
3 [报告]
发表于 2011-04-29 11:23 |只看该作者
个人理解 bootloader 引导内核 内核加载文件系统  bootloader负责从flash 或者说硬盘把内核COPY到内存固定地址去 这个地址是由bootloader决定的 然后把控制权交给内核 内核开始初始化 然后驱动初始化 然后加载文件系统
个人理解  不对的地方多指正

论坛徽章:
0
4 [报告]
发表于 2011-04-29 11:24 |只看该作者
bootloader也初始化 硬件。。。cpu啊 内存啊 中断向量表 等等 内核启动参数也在bootloader里 然后把启动参数 传给内核
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP