initramfs作为Linux内核启动结束后第一个被执行的模块,是整个用户态系统初始化工作的核心。
本文首发CSDN博客:http://blog.csdn.net/goodboychina/article/details/27306985
本文以ArchLinux的initramfs作为研究目标。
首先解压initramfs.img
initramfs.img是经过gzip压缩了的cpio文档,解压前需要将initramfs.img重命名为initramfs.img.gz。
$ gunzip initramfs.img.gz
得到initramfs.img
$cpio -idmv < initramfs.img
得到解压后的文件。
文件目录结构:http://blog.csdn.net/goodboychina/article/details/27308609
1、/init
PID 1的进程的可执行文件,实际上是个bash脚本。
http://blog.csdn.net/goodboychina/article/details/27331081
2、/init_functions
初始化函数