启动的时候,内核是怎么找到根文件系统的?

本帖最后由 巨人史玉柱 于 2011-01-09 02:36 编辑

假设启动参数是root=/dev/mtdblock2,也就是说根文件系统在/dev/mtdblock2这个设备上。

由于此时还没有装载根文件系统,那么内核是怎样根据“/dev/mtdblock2”这样一个字符串 找到所对应的硬件设备的呢?


我是这样理解的:内核首先根据“/dev/mtdblock2”这个字符串,找到设备号(这个设备号是怎样找到的?是编译到内核里面去了吗?),然后根据设备号找到设备的驱动程序,然后设备驱动程序把“设备的中根文件系统的超级块”读进内存中,从而加载了根文件系统。

是这样一个过程吗?
请大侠们帮小弟解释一下,特别是红色字体部分。
非常感谢!

作者: 巨人史玉柱   发布时间: 2011-01-09

linux内核启动初期会有一个临时的根文件系统(比如initrd),里面有一些启动必须的设备文件和驱动

作者: zhtlancer   发布时间: 2011-01-09