なぜエラーが発生するのかわかりません。初期化ファイル(これ初期化ファイルclonezilla ISOファイルのソースファイルです。
cp initrd.img /tmp
zcat /tmp/initrd.img | cpio -idm
zcat: initrd.img: not in gzip format
cpio: premature end of archive
私が行った全体的な手順は次のとおりです。
私がダウンロードしたのはclonezilla-live-2.1.2-43-i686-pae.zipウェブサイトのファイル: http://clonezilla.org/livepxe.php
それから私は初期化ファイルファイルは次のとおりです。
unzip -j clonezilla-live-2.1.2-43-i686-pae.zip live/vmlinuz live/initrd.img live/filesystem.squashfs -d /tftpboot/nbi_img
それからコピーしました。
cp /tftpboot/nbi_img/initrd.img /tmp
すべての最終ステップは次のとおりです。場所。ここで何が問題なのか教えてください。
私も成功せずにこれを試しました - :(
関連:http://www.thegeekstuff.com/2009/07/how-to-view-modify-and-recreate-initrd-img/
mv initrd.img.gz initrd.gz
gunzip initrd.gz
gunzip: initrd.gz: not in gzip format
答え1
前述したように、zcat
gzip形式ではありません。実行してfile
形式を認識していることを確認してください。 lzmaかもしれません、このlzcat
場合zcat
。
答え2
これが古いトピックであることはわかっていますが、複数のカスタムパッケージを含めるように再作成されたopenSUSE isoにgpgキーを追加する方法を探しているときにこのトピックを見つけました。私が探している情報を見つけるのに問題があり、他の人が役に立つと思う場合に備えて、詳細な指示を追加する必要があると思いました。このガイドラインの他の部分は他のウェブサイトで見つけることができます。私はそれらを詳細なリストにまとめました。彼らがすることは本当に重要です。
isoイメージのinitrdではなくローカルinitrdを変更するために作成しましたが、プロセスは同じです。
注:次のガイドラインは、/boot/initrd-3.16.7-24-desktopをinitrdとして使用する私のシステムで使用されるガイドラインです。現在のinitrdファイルが/boot/initrd-3.16.7-24-desktopでない場合は、これらのコマンドを変更する必要があります。
手順は次のとおりです。
/boot/initrdに長いリストを作成し、それが指すファイルを確認してください。
root@host:~ # ls -l /boot/initrd lrwxrwxrwx 1 root root 24 Sep 10 10:08 /boot/initrd -> initrd-3.16.7-24-desktop
作業するディレクトリを作成します。
root@host:~ # mkdir -p -m 755 mod-initrd/new-initrd
現在のinitrdを作業ディレクトリにコピーします。
root@host:~ # cp /boot/initrd-3.16.7-24-desktop mod-initrd/initrd.xz
initrdが抽出されるディレクトリにcdします。
root@host:~/mod-initrd # cd mod-initrd/new-initrd
initrd抽出:
root@host:~/mod-initrd/new-initrd # xzcat ../initrd.xz | cpio -d -i -m
必要に応じて変更してください。
ソースinitrdのコピーを保存します。
root@host:~/mod-initrd/new-initrd # mv ../initrd.xZ ../initrd-original
修正された内部を圧縮します。
root@host:~/mod-initrd/new-initrd # find . | cpio -o -H newc | xz --check=crc32 --x86 --lzma2=dict=512KiB > ../initrd.xz
現在のinitrdを変更されたinitrdに置き換えます。これにより、変更されたバージョンが再起動時に適用されます。
root@host:~/mod-initrd/newinitrd # mv ../initrd.xz /boot/initrd-3.16.7-24-desktop
変更をテストするには再起動してください。
root@host:~/mod-initrd/new-initrd # init 6
変更をテストする前に、抽出されたinitrdを削除しないでください。これを行うには、調整が必要な場合は手順6、8、9、10に従ってください。
キーが自動的に信頼されるように、openSUSEイメージに独自のGPGキーを追加したい人のための1つの方法は次のとおりです。
次のコマンドを実行して、GPG キーの ID を取得します。
gpg --list-keys
行の 1 つは pub 2048R/BB6D5E99 で始まる必要があります。
上記の例では、IDは「BB6D5E99」です。
次のコマンドを実行して、GPG公開鍵をエクスポートします。
gpg --export -a "BB6D5E99" > "file-name-for-the-exported-key"
次のコマンドを実行して、抽出したinitrdにgpgキーを追加します。
echo "file-name-for-the-exported-key" | cpio -o -H newc -A -F "full-path-of-directory-holding-extracted-initrd"