UnKNOWn Asked: 2020-05-30 09:29:14 +0800 CST2020-05-30 09:29:14 +0800 CST 2020-05-30 09:29:14 +0800 CST initrd 文件 CPIO 归档 x-cpio 文件类型 如何重新编译? 772 如何重新编译 CPIO-archive (application/x-cpio) 的文件类型 我可以使用以下命令解压缩其内容。 unmkinitramfs initrd . 但无法重新编译。 我怎样才能做到这一点? linux cpio 2 个回答 Voted Best Answer Hari Sundararajan 2020-06-09T20:39:28+08:002020-06-09T20:39:28+08:00 好的,我从这个https://askubuntu.com/questions/777260/how-to-repack-initrd-img中获得了一些动力 让我们从假设您的当前目录开始,$DIR并且它具有来自live CD/casper/initrd. 我们将创建一个新的 initrd myinitrd,以相同的方式调用${DIR} mkdir 18 unmkinitramfs initrd ${DIR}/18 # start with an empty file rm -rf ${DIR}/myinitrd touch ${DIR}/myinitrd # Add the first microcode firmware cd ${DIR}/18/early find . -print0 | cpio --null --create --format=newc > ${DIR}/myinitrd # Add the second microcode firmware cd ${DIR}/18/early2 find kernel -print0 | cpio --null --create --format=newc >> ${DIR}/myinitrd # Add the actual ram fs file system cd ${DIR}/18/main find . | cpio --create --format=newc | xz --format=lzma >> ${DIR}/myinitrd # verify both initrds are the same binwalk ${DIR}/myinitrd binwalk ${DIR}/initrd b0yfriend 2020-06-07T00:57:45+08:002020-06-07T00:57:45+08:00 @PRATAP,根据您在评论中的确认,您可以试试这个吗? 我假设这 3 个目录在父目录中,kernel/ find kernel/ | cpio -o -H newc > my_new_initrd my_new_initrd应该是你重新编译的initrd
好的,我从这个https://askubuntu.com/questions/777260/how-to-repack-initrd-img中获得了一些动力
让我们从假设您的当前目录开始,
$DIR
并且它具有来自live CD/casper/initrd
. 我们将创建一个新的 initrdmyinitrd
,以相同的方式调用${DIR}
@PRATAP,根据您在评论中的确认,您可以试试这个吗?
我假设这 3 个目录在父目录中,
kernel/
my_new_initrd
应该是你重新编译的initrd