diff --git a/初识 initramfs .md b/初识 initramfs .md index 6a6a949..08b62a1 100644 --- a/初识 initramfs .md +++ b/初识 initramfs .md @@ -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 \ No newline at end of file +find . | cpio -o -H newc | gzip -9 > /tmp/test.img