问题:
在原始/boot/initrd. img- kernel_ver binwalk
显示这里结构:
从字节CPIO在特定文件夹层次结构中只有 GenuineIntel.bin的。
从字节bytes字节包含适当的文件系统,这个gzip也将用CPIO归档
在解包和修改 initrd.img 之后,如何以( 使用相同的文件夹层次结构)的方式压缩? 就像这个原始结构:
评论后的建议:
find. | cpio --quiet --dereference -o -H newc | lzma -7>. . /cusotm.initrd.lz
binwalk
:
这是完全不同的结构。
回答 1:
我想出了如何使同一个 initrd.img
归档。
Bodhi.zazen 答案可能会工作,因为这是已知的解决方案:
find. | cpio --quiet --dereference -o -H newc | lzma -7>. . /cusotm.initrd.lz
但问题是不同的。 这个答案是很好的,如果有一个压缩文件系统,但在这种情况下还有特定的文件夹结构。
要保持相同的文件夹层次,需要执行以下三个步骤:
使用简单的-o选项制作文件系统归档,在创建之前不需要花费的newc 格式。 基本文件夹:
find. | cpio -o | gzip -9>. . /base/file_system.gz
使用包含 kernel/x86/microcode/GenuineIntel.bin的newc 格式进行适当的归档:
find kernel/| cpio -o -H newc> new_initrd.img
将压缩的文件系统 存档添加到适当的new_initrd.img:
find base/| cpio -o>> new_initrd.img
回答 2:
在Ubuntu中,initrd.img
是在gzip中压缩的,我想在编辑它时保留它。 以下是操作方法:
提取:
zcat/boot/initrd.img-3.19.0-80-generic | cpio --extract
压缩:
find. 2>/dev/null | cpio --quiet --dereference -o -H newc | gzip -9>/boot/initrd.img-3.19.0-80-generic