6.2. カスタムブートイメージの作成
ブートイメージと GUI レイアウトをカスタマイズしたら、変更を含む新しいイメージを作成します。
カスタムブートイメージを作成するには、以下の手順に従います。
手順
-
すべての変更が作業ディレクトリーに含まれていることを確認してください。たとえば、アドオンをテストする場合は、
images/
ディレクトリーにproduct.img
を配置してください。 -
作業ディレクトリーが抽出した ISO イメージのトップレベルのディレクトリーであることを確認します (例:
/tmp/ISO/iso
)。 次のパッケージをインストールします:
isomd5sum
、xorriso
、lorax
:dnf install isomd5sum xorriso lorax
# dnf install isomd5sum xorriso lorax
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkefiboot
を使用して EFI ブートイメージを作成します。mkefiboot --label=ANACONDA /tmp/ISO/iso/EFI/BOOT/ /tmp/ISO/iso/images/efiboot.img
# mkefiboot --label=ANACONDA /tmp/ISO/iso/EFI/BOOT/ /tmp/ISO/iso/images/efiboot.img
Copy to Clipboard Copied! Toggle word wrap Toggle overflow xorrisofs
を使用して新しい ISO イメージを作成します。xorrisofs -o ../NEWISO.iso -R -J -V RHEL-10-0-BaseOS-x86_64 --grub2-mbr /usr/lib/grub/i386-pc/boot_hybrid.img -partition_offset 16 -appended_part_as_gpt -append_partition 2 C12A7328-F81F-11D2-BA4B-00A0C93EC93B /tmp/ISO/iso/images/efiboot.img -iso_mbr_part_type EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 -c boot.cat --boot-catalog-hide -b images/eltorito.img -no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info -eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot -graft-points .discinfo=/tmp/ISO/iso/.discinfo images/install.img=/tmp/ISO/iso/images/install.img images/pxeboot=/tmp/ISO/iso/images/pxeboot boot/grub2=/tmp/ISO/iso/boot/grub2 boot/grub2/i386-pc=/usr/lib/grub/i386-pc images/eltorito.img=/tmp/ISO/iso/images/eltorito.img EFI/BOOT=/tmp/ISO/iso/EFI/BOOT
# xorrisofs -o ../NEWISO.iso -R -J -V RHEL-10-0-BaseOS-x86_64 --grub2-mbr /usr/lib/grub/i386-pc/boot_hybrid.img -partition_offset 16 -appended_part_as_gpt -append_partition 2 C12A7328-F81F-11D2-BA4B-00A0C93EC93B /tmp/ISO/iso/images/efiboot.img -iso_mbr_part_type EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 -c boot.cat --boot-catalog-hide -b images/eltorito.img -no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info -eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot -graft-points .discinfo=/tmp/ISO/iso/.discinfo images/install.img=/tmp/ISO/iso/images/install.img images/pxeboot=/tmp/ISO/iso/images/pxeboot boot/grub2=/tmp/ISO/iso/boot/grub2 boot/grub2/i386-pc=/usr/lib/grub/i386-pc images/eltorito.img=/tmp/ISO/iso/images/eltorito.img EFI/BOOT=/tmp/ISO/iso/EFI/BOOT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の例では、以下のようになります。
同じディスク上のファイルをロードするための場所を必要とするオプションに
LABEL=
ディレクティブを使用している場合は、-V
オプションの値がイメージのブートローダー設定と一致することを確認します。ブートローダーの設定 (BIOS の場合はboot/grub2/grub.cfg
、UEFI の場合はEFI/BOOT/grub.cfg
) がinst.stage2=LABEL=disk_label
スタンザを使用して同じディスクからインストーラーの 2 番目のステージをロードする場合は、ディスクラベルが一致する必要があります。重要ブートローダー設定ファイルで、ディスクラベルのすべてのスペースを
\x20
に置き換えます。たとえば、RHEL 10.0
ラベルが付いた ISO イメージを作成する場合は、ブートローダー設定にRHEL\x2010.0
を使用する必要があります。-
-o
オプションの値 (-o ../NEWISO.iso
) は、新しいイメージのファイル名に置き換えます。この例の値では、現在のディレクトリーの 上 のディレクトリーにNEWISO.iso
ファイルを作成します。このコマンドの詳細は、システムのxorrisofs(1)
man ページを参照してください。
MD5 チェックサムをイメージに埋め込みます。MD5 checksu を使用しないと、イメージ検証チェック (ブートローダー設定の
rd.live.check
オプション) が失敗し、インストールがハングする可能性があることに注意してください。implantisomd5 ../NEWISO.iso
# implantisomd5 ../NEWISO.iso
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の例では、../NEWISO.iso を、直前の手順で作成したファイル名と ISO イメージの場所に置き換えます。
これで、新しい ISO イメージを物理メディアまたはネットワークサーバーに書き込んで物理ハードウェアで起動することや、仮想マシンのインストールを開始できるようになりました。