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

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
gnix_oag
帖子: 1994
注册时间: 2005-05-19 18:38
来自: 湖南永州
联系:

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

#1

帖子 gnix_oag » 2006-07-09 10:08

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



.
steeven
帖子: 103
注册时间: 2006-08-02 22:05

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

#2

帖子 steeven » 2009-01-16 0:46

兄弟,-L参数要拿掉,否则所有链接会被当作文件处理,出来的巨大无比。 :em02
回复