initrd并启动Linux内核

initrd并启动Linux内核,第1张

概述据了解,initrd是一个可以在RAM中加载的小图像.它用于引导具有所有可加载模块的完整内核.作为此过程的一部分,我们需要vmlinuz内核映像,该映像是bz Image的重命名版本. 是否可以引导内核而不创建initrd映像? initrd / initramfs是可选的,不是必需的. bzImage是纯内核映像,可以由引导加载程序直接引导.但是,执行某些任务(加载文件系统模块,磁盘访问驱动程序 据了解,initrd是一个可以在RAM中加载的小图像.它用于引导具有所有可加载模块的完整内核.作为此过程的一部分,我们需要vmlinuz内核映像,该映像是bz Image的重命名版本.

是否可以引导内核而不创建initrd映像?

解决方法 initrd / initramfs是可选的,不是必需的. bzImage是纯内核映像,可以由引导加载程序直接引导.但是,执行某些任务(加载文件系统模块,磁盘访问驱动程序,从没有固定名称/路径的可交换介质安装根文件系统等)可能是必需的,通常需要访问文件系统和用户空间工具.

这就是initramfs的用途:它是一个CPIO存档,它附加到内核映像(内核映像是initramfs的容器,而不是其他方式),在内核映像本身,或引导程序在引导时.

该CPIO归档包含一个初始rootfs,其中包含设置所有设备以访问正确的根文件系统所需的模块,以及某些程序来识别这些设备,加载模块,执行其他启动任务,将正确的根文件系统重新安装到/和start / sbin /在里面

initrd是类似的,主要区别在于它是一个文件系统映像,可能并且通常被压缩.内核必须支持内置的文件系统,并将此映像作为初始化/.

由于CPIO由于几个数量级更简单,因此initramfs优先于initrd,因为它可以节省内置的任何文件系统模块的需求,并且使initramfs的创建更加容易.而不必创建一个ext2映像,loopdevice挂载并填充它,它归结为一个简单的归档创建,与使用tar不同.

但是,如果您使用内核映像中内置的所有必需驱动程序和模块编译内核,并且根文件系统设备在系统中具有固定的名称,则不需要initramfs,因为内核可以自行执行 *** 作.

总结

以上是内存溢出为你收集整理的initrd并启动Linux内核全部内容,希望文章能够帮你解决initrd并启动Linux内核所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存