当内核挂载文件系统时,启动代码如何访问文件系统以将/boot目录下的内核加载到RAM中?

当内核挂载文件系统时,启动代码如何访问文件系统以将/boot目录下的内核加载到RAM中?

内核通常位于/boot目录下。当启动程序运行时(如u-boot),它将内核加载到 RAM 中。

这意味着,u-boot已经可以访问文件系统。

我很困惑,因为文件系统是由内核安装的。我缺少什么?

答案1

引导加载程序包含自己的文件系统驱动程序,这就是它们在加载内核之前加载内核和关联文件(initramfs)的方式。这些驱动程序通常比内核的驱动程序更简单;值得注意的是,它们只需要能够读取文件,不需要处理写入。

甚至系统固件也常常包含文件系统驱动程序;例如UEFI可以访问ESP文件系统(基于FAT)。

相关内容