Update 初识 initramfs .md

This commit is contained in:
superconvert 2023-06-08 22:04:00 +08:00 committed by GitHub
parent f489a35d32
commit 4fa5e4e777
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,4 +1,6 @@
# 简述
下述资料,大部分都是采摘于网上对应的博客,感觉内容不错,简单做了一下归纳,感谢大拿们的精彩分享!
内核启动时,并没加载根文件系统,有些是内核启动阶段不易完成的工作(驱动现在和内核很多都是分开的,位于外存储系统上,所以内核启动后很多事情都做不了),还有些根文件系统是加密的,反正有多种限制和需求。
所以内核启动后会先启动一个内存模式的根文件系统,通常就是 initramfs ,早期一般都是采用 initrd initrd 是一个位于内存中的完整模拟的块设备,需要整个文件系统的开销,有固定的大小,不灵活,它是一个真
实的,静态的设备,消耗 Linux 内核中的缓存和文件分页,带来更多的内存开销. 鉴于 initrd 存在很多弊端,后续逐步被 initramfs 所代替. initramfs 不是设备,而是能直接运行在内存中的根文件系统,规避了 initrd
@ -52,4 +54,4 @@ lsinitrd
/usr/lib/dracut/skipcpio initramfs-3.10.0-229.el7.x86_64.img | zcat | cpio -ivd
3. 创建 initramfs
find . | cpio -o -H newc | gzip -9 > /tmp/test.img
find . | cpio -o -H newc | gzip -9 > /tmp/test.img