Linux系统中的initramfs、关机策略与引导加载器解析
1. initramfs的使用
initramfs是一种相对较新(Linux 2.6引入)的执行早期用户空间程序的机制。它在概念上与initrd类似,目的都是在挂载真正的根文件系统之前加载可能需要的驱动程序,但在技术实现细节上与initrd有显著差异。
从技术实现上看,initramfs在调用 do_basic_setup() 之前加载,这为在加载设备驱动之前加载设备固件提供了机制。
从实际使用角度,initramfs更易于使用。它是一个cpio归档文件,而initrd是一个压缩的文件系统映像。这种简单的差异使得initramfs使用起来更加方便,它集成到Linux内核源代码树中,在构建内核映像时会自动构建。对其进行更改比构建和加载新的initrd映像要容易得多。
下面是Linux内核 .../usr 目录(initramfs映像在此构建)的内容示例:
$ ls -l
total 56
-rw-rw-r-- 1 chris chris 834 Mar 25 11:13 built-in.o
-rwxrwxr-x 1 chris chris 11512 Mar 25 11:13 gen_init_cpio
-rw-rw-r-- 1 chris chris 10587 Oct 27 2005 gen_init_cpio.c
-rw-rw-r-- 1 chris chris 512 Mar 25 11:13 initramfs_data.c
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



