分页: 1 / 1

[原创]修改 initrd.gz 文件 (法二)

发表于 : 2006-07-09 10:08
gnix_oag
2.6内核的 initrd.gz 解压后多是一个 cpio 格式的文件

可用 cpio 命令取档:

代码: 全选

cp */initrd.gz .
gunzip initrd.gz
mkdir tmp
cd tmp
cpio  -iF ../initrd.gz
修改后,再把它做成 cpio 格式的包。

网上讲是用

代码: 全选

find . | cpio -c -o | gzip -9  > ../initrd.gz
经试多次都不能启动,

查看 /usr/sbin/mkinitramfs

得知应这样才做

代码: 全选

find . | cpio -L -o -H newc | gzip -9 > ../initrd.gz
-L 解除符号连接的关联

-H newc 是采用新型 (SVR4) 跨平台格式, 支持大于 65536 i节点 的 文件系统,不能启动主要是这个,因为缺省格式是老式的"bin"

经试,能成功启动,这样修改 initrd.gz 文件,比 mkinitramfs 形象、方便的多

相关内容: 制作从硬盘起动 ubuntu live_cd 的 initrd.gz

viewtopic.php?p=60460#60460



.

Re: [原创]修改 initrd.gz 文件 (法二)

发表于 : 2009-01-16 0:46
steeven
兄弟,-L参数要拿掉,否则所有链接会被当作文件处理,出来的巨大无比。 :em02