CPIO-archive(application/x-cpio)のファイルタイプを再コンパイルする方法
以下のコマンドで中身を解凍できます。
unmkinitramfs initrd .
しかし、再コンパイルすることはできません。
どうすればこれを達成できますか?
わかりました、私はこれからいくつかの動機を取りました https://askubuntu.com/questions/777260/how-to-repack-initrd-img
現在のディレクトリが$DIR
であり、live CD/casper/initrd
からの「initrd」があると仮定して始めましょう。同じ${DIR}
にmyinitrd
という新しいinitrdを作成します
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
@PRATAP、コメントでの確認に基づいて、これを試すことができますか?
3つのディレクトリが親ディレクトリ内にあると仮定します。kernel/
find kernel/ | cpio -o -H newc > my_new_initrd
my_new_initrd
は再コンパイルされたinitrdである必要があります