制作cpio格式启动映像文件系统

前一段时间一直用ramdisk格式做的initrd.img.后来借用主机的initrd.img直接挂在已经分区的文件系统。鉴于要修改它所以用网上的cpio制作方法,结果一直是KERNEL PANIC。后来看到网上说这是不对的。那些家伙一直在误导我啊。幸亏今天看到一些资料,参照着做了一个,非常成功,高兴啊,呵呵!

其实知道方法后很简单,不过在我的内核源码中没有gen_initramfs_list.sh这个脚本文件,也找不到gen_init_cpio命令源码。这两个是非常必须的。很幸运的是在红旗6找到了那个脚本文件,同时在网上找到gen_init_cpio.c源码。一切准备好后下面就是具体步骤了(我是直接在红旗6中做的):

1.编译gen_init_cpio.c生成gen_init_cpio执行程序。

2.将gen_init_cpio拷到usr/bin中,这样就可以直接输入gen_init_cpio命令了。

3.产生文件列表~/gen_initramfs_list.sh rootfs/ >filelist.

4.生成cpio文件gen_init_cpio filelist > initrd.img.

5.压缩gzip(这一步不是必须的)。

你可能感兴趣的:(脚本)