私が使用するPXEイメージを構成するカスタムファイルがありますvmlinuz
。initrd
このinitramイメージが与えられたら、ISOに対応するイメージを作成する方法はありますか?
genisoimage
私はツールで明らかなものを見ることができませんmkisofs
。私が何かを見逃しているのでしょうか?それとも、私が達成しようとしているのが言葉にならないのでしょうか?
答え1
最初の質問は、UEFIまたは既存のBIOSシステムを起動しますか?それとも両方でしょうか?
従来のBIOSシステムでは、ISO9660ファイルシステムの起動仕様(El Torito)を満たし、Linuxを起動できるブートローダが必要です。オペレーティングシステム。
ブートローダ用の設定ファイルを作成し、必要なカーネルブートオプションを提供するように指示し、ブートローダvmlinuz
でinitrd
その設定ファイルvmlinuz
とinitrd
。 ISOイメージを構築するためのEl Torito拡張が含まれています。genisoimage
mkisofs
これにより、物理または仮想CD / DVDでのみ起動できるISOイメージが提供されます。
ISO イメージが USB スティックやその他の HDD 類似メディアに記録されたときに正しく機能するには、イメージ ファイルに別の構造セットを追加して、有効なブート可能な HDD イメージとして解釈できるようにする必要があります。このプロセスは、isohybrid
それを可能にしたツールの名前にちなんでプロセスと呼ぶことができます。現在のような最新のISOイメージ生成ツールには、xorriso
この機能が組み込まれています。
UEFIの場合、多くの一般的なUEFIファームウェア実装はISO9660ファイルシステムを処理するため、Linuxvmlinuz
およびファイルをロードできるinitrd
すべてのUEFIブートローダが機能する必要があります。ブートローダファイルを見つけるために、ブートローダをISOファイルシステムに配置するだけです<ISO mountpoint>/EFI/boot/bootx64.efi
(64ビットx86システムを起動すると仮定し、UEFIは異なるアーキテクチャ用の異なるブートローダファイル名を持ちます)。
FAT32ファイルシステムタイプのみをサポートしていますが、ISO9660 / El Torito UEFI実装でロードできる起動可能CDを提供するために、UEFIブートファイルを含むFAT32ファイルシステムイメージをISOイメージに含めることもできます。同様に、ISOイメージ生成ツールにはこれを実行するように指定するいくつかのオプションが必要です。FAT32ファイルシステムイメージも提供する必要があります。