ramdisk与kernel关系

参考:https://www.cnblogs.com/chen-farsight/p/6119901.html

要mount根文件系统却需要根文件系统的模块,所以想出了ramdisk.

ramdisk临时文件系统和内核一样,也是由bootloader通过低级读写命令加载进内存, 因此内核可以挂载内存里ramdisk文件系统.
通俗的来说, 把所有可能需要的驱动/模块都放在ramdisk上,让内核将ramdisk当作根文件系统来安装,然后再用这个根文件系统上的驱动来安装真正的根文件系统.

linux kernel 2.4中启动大致流程如下:
[bootloader] 根据预先条件,将kernel和initrd载入到RAM
[bootloader->kernel] 完成必要动作后,准备将执行权交给kernel
[kernel] initrd被挂载到/dev/initrd,kernel对他解压后,复制到/dev/ram0
[kernel] linux以R/W可读写模式将/dev/ram0挂载为暂时性的rootfs
[kernel space->user space] 准备执行/dev/ram0上的/linuxrc程序
[user space] /linuxrc与相关程序处理特定操作,如挂载rootfs
[user space->kernel space] /linuxrc执行即将完毕,执行权交给kernel
[kernel] linux挂载真正的rootfs并执行/sbin/init
[user space] 执行各系统与应用程序

你可能感兴趣的:(Linux)