linux安装到内存中,linux – 整个内核是否在启动时加载到内存中?

我阅读了this popular IBM doc(我在网上经常看到它),解释了初始RAM磁盘的功能.

我在概念化它的工作方式上遇到了障碍.

在文档中说

The boot loader, such as GRUB, identifies the kernel that is to be

loaded and copies this kernel image and any associated initrd into

memory

我已经困惑了:它是将整个内核复制到内存还是只是部分内核?

如果整个内核在内存中,为什么我们甚至需要初始RAM磁盘?

我认为initrd的目的是能够拥有一个小的通用内核映像,initrd将在加载内核映像之前在其中安装正确的模块.但如果整个内核已经在内存中,我们为什么需要initrd?

这也引起了另一件令我困惑的事情 – 加载到内核中的模块位于何处?所有内核模块都存储在initrd中吗?

解决方法:

整个内核在启动时加载到内存中,现在通常与initramfs一起加载. (仍然可以将系统设置为在没有initramfs的情况下启动,但这在桌面和服务器上是不常见的.)

initramfs的作用是提供安装“真实”文件系统并继续引导系统所需的功能.这涉及内核模块,还有各种二进制文件:你至少需要udev,也许是一些网络,以及加载模块的kmod.

模块可以在引导之后加载到内核中,因此initramfs没有对内核进行特殊准备.它们可以存储在任何地方:真实文件系统上的initramfs,/ lib / modules,如果你正在开发模块,那么在开发树中…… initramfs只需要包含安装根文件系统所需的模块(包含其余的).

标签:linux,kernel,grub,initrd,initramfs

来源: https://codeday.me/bug/20190809/1626759.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值