initrd
我想知道和有什么区别initramfs
?
答案1
Initrd 已被弃用,并由 Initramfs 取代,它不存在 initrd 的一些弱点:
- Initrd 要求至少一个文件系统驱动程序被编译到内核中
- A磁盘Initrd 创建的必须有固定大小
- Initrd 上的所有读取/写入操作均被冗余地(不必要地)缓冲到主内存中
我想就这些了。
这个update-initramfs命令如何生成/boot/initrd.img?
它将必要的文件变成cpio
档案,这是一种二进制存档格式(与 非常相似tar
,在 Linux 中并不广泛使用),然后使用 gzip 来压缩那个档案。Gzip 本身并不是一个档案,只是一种压缩(这就是为什么你会得到 .tar.gz 档案文件)。
在启动时,存档是未压缩和解压到 虚拟磁盘。
另请参阅:计算机如何启动
答案2
initrd 是基于块设备的,initramfs 是基于文件设备的。
使用 initrd,您可以创建文件系统映像。使用 initramfs,您可以创建一个档案,其中包含内核提取到 tmpfs 的文件。