关闭

Linux 使用cpio解压 initrd.img

标签: linuxext
5476人阅读 评论(0) 收藏 举报
分类:

2.6内核中的initrd.img采用cpio压缩,不再是2.4内核使用的ext2格式,无法使用mount -o loop 挂载。需要使用gunzip解压缩,然后再使用cpio解包
cp /boot/initrd-***.img initrd.img.gz
gunzip initrd.img.gz
mkdir initrd
mv initrd.img initrd
cd initrd
cpio -ivmd  ../initrd.new.img
gzip ../initrd.new.img
再将其改名拷贝至/boot目录,重启就可以观察修改后的效果。重启后无法成功引导。这是因为生成的initrd.img不对。解决如下:
生成initrd
find . | cpio -o -H newc | gzip > /mnt/sda1/boot/initrd.img-2.6.18-4-686
(注:-H newc 是必须的,否则内核会认为是ramdisk,而不是initramfs)
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:870881次
    • 积分:10003
    • 等级:
    • 排名:第1842名
    • 原创:169篇
    • 转载:81篇
    • 译文:6篇
    • 评论:78条
    文章分类
    最新评论