機械翻訳について

PXEブート・ロードの構成

PXEブート・ローダーを構成するステップは、ブート・サーバーに使用されるシステムのタイプによって異なります。

重要:

目的のタイプのインストールには、正しいカーネル・イメージとRAMディスク・イメージを使用する必要があります。 たとえば、Btrfsルート・パーティションを持つシステムをインストールする場合は、UEKブートISOを使用して、システムがBtrfsを提供するための正しいカーネルおよびイメージを取得する必要があります。

BIOSクライアントのPXEブート・ロードの構成

  1. 必要なインストール・ファイルを含むsyslinux-tftpbootパッケージをインストールします。

    次のコマンドを実行して、syslinux-tftpbootをインストールします:

    sudo dnf install syslinux-tftpboot -y

    このパッケージは、pxelinux.0ブート・ローダーおよび様々なメニュー・モジュールを/tftpbootディレクトリに書き込みます。

  2. TFTPサーバー・ディレクトリの下にpxelinux/pxelinux.cfgディレクトリを作成します。

    次のコマンドを実行して、pxelinux/pxelinux.cfgディレクトリを作成します:

    sudo mkdir -p /var/lib/tftpboot/pxelinux/pxelinux.cfg
  3. ブート・ローダーおよびメニュー・モジュールをpxelinuxサブディレクトリにコピーします。

    次のコマンドを実行して、必要なファイルをコピーします:

    sudo cp -a /tftpboot/. /var/lib/tftpboot/pxelinux
  4. 必要なインストール・ファイルをpxelinuxサブディレクトリにコピーします。

    NFS共有ディレクトリから、インストール・カーネル(vmlinuz)およびRAMディスク・イメージ・ファイル(initrd.img)をpxelinuxサブディレクトリにコピーします。

    sudo cp /var/nfs-exports/ISOs/ol10/vmlinuz /var/lib/tftpboot/pxelinux/vmlinuz
    sudo cp /var/nfs-exports/ISOs/ol10/initrd.img /var/lib/tftpboot/pxelinux/initrd.img
  5. pxelinux.cfgサブディレクトリに、PXEメニュー構成ファイルを作成します。

    このファイルには、pxe.confなどの任意の名前を割り当てることができます。 次の例では、このファイル内の標準的なエントリを示します。

    MENU TITLE  PXE Server 
    NOESCAPE 1
    ALLOWOPTIONS 1
    PROMPT 0
    menu width 80
    menu rows 14
    MENU TABMSGROW 24
    MENU MARGIN 10
    menu color border               30;44      #ffffffff #00000000 std
  6. pxelinux.cfg/default PXE構成ファイルを作成します。

    次の例では、このファイル内の標準的なエントリを示します。

    DEFAULT vesamenu.c32
    TIMEOUT 400
    ONTIMEOUT BootLocal
    PROMPT 0
    MENU INCLUDE pxelinux.cfg/pxe.conf
    NOESCAPE 1
    LABEL BootLocal
        localboot 0
        TEXT HELP
        Boot to local hard disk
        ENDTEXT
    
    LABEL OL10
        MENU LABEL OL10 
        kernel vmlinuz
        append initrd=initrd.img inst.repo=/var/nfs-exports/ISOs/ol10/ \
        inst.ks.sendmac inst.ks=/var/nfs-exports/ISOs/ksfiles/kstart-file
        TEXT HELP
        Install Oracle Linux 10   
        ENDTEXT
    これらのエントリに基づいて、TIMEOUT期間中にユーザーの介入が発生しなかった場合、ブート・ローダーは自動的にローカル・ドライブからのブートを試みます。 OSがインストールされていない場合、ブート・ローダーはネットワークからブートし、インストール・プロセスを開始します。

    このリストでは、構成ファイル内で使用されるいくつかのディレクティブを説明します:

    • DEFAULTにより、ブート・ローダー・メニューを表示するために使用するモジュールを特定します。

      基本テキストUIの場合は、menu.c32モジュールを指定します。 ただし、グラフィカルUIのディレクティブ(イメージや色など)を追加する場合は、かわりにvesamenu.c32モジュールを指定します。

    • TIMEOUTにより、ブート・ローダーが後続のディレクティブに従ってクライアントをブートするまでの期間をtimeout/10秒単位で指定します。 次のディレクティブ(ontimeout)により、待機期間を過ぎたときのアクションを指定します。

    • PROMPT は、デフォルトでboot:プロンプトを表示するかどうかを指定します。 PROMPTが1に設定されている場合は、boot:プロンプトが表示されます。 PROMPTが0に設定されている場合は、ユーザーがコンソールで[Shift]または[Alt]キーを押さないかぎり、boot:プロンプトは表示されません。

    • MENU INCLUDEは、作成したブート構成ファイルのパスを指定します。

    • kernelにより、カーネル実行可能ファイルの名前を定義します。

    • appendにより、カーネルのロード時に追加するパラメータ(RAMディスク・イメージの名前やファイルの場所など)を定義します。 なお、ご使用のシステムからインターネットにアクセスできる場合は、Oracle Linux yumサーバーにあるBaseOSリポジトリを指すようにinst.repo変数を設定できます。 たとえば、x86_64プラットフォーム・システムでは、inst.repohttps://yum.oracle.com/repo/OracleLinux/OL10/baseos/latest/x86_64に設定できます。

      重要:

      カーネルとRAMディスク・イメージのファイルのパスは、ブート・ローダーが含まれるサブディレクトリ(pxelinuxなど)からの相対パスであるとみなされます。 vmlinuzおよびinitrd.imgファイルをpxelinux/OL10などのサブディレクトリに配置する場合は、正しい相対パスがあることを確認してください。

UEFIクライアントのPXEブート・ロードの構成

  1. grub2-efiおよびshimパッケージをダウンロードします

    一時ディレクトリを作成し、必要なパッケージをダウンロードします:

    mkdir /tmp/boot_rpms
    sudo dnf download shim grub2-efi --downloaddir=/tmp/boot_rpms
  2. パッケージの場所に移動し、その内容を展開します

    次のコマンドを実行して、grub2-efiおよびshimパッケージの内容を抽出します:

    cd /tmp/boot_rpms
    sudo rpm2cpio grub2-efi-version.rpm | cpio -idmv 
    sudo rpm2cpio shim-version.rpm | cpio -idmv
  3. TFTPサーバー・ディレクトリの下にサブディレクトリを作成します。

    たとえば、次のコマンドでは、/var/lib/tftpbootの下にefiサブディレクトリが作成されます:

    sudo mkdir -p /var/lib/tftpboot/efi
  4. ブート・ローダーおよびその他の関連ファイルをefiサブディレクトリにコピーします。

    次のコマンドを実行して、必要なファイルを/var/lib/tftpboot/efiにコピーします:

    sudo cp /tmp/boot_rpms/boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot/efi
    sudo cp /tmp/boot_rpms/boot/efi/EFI/redhat/shim*.efi /var/lib/tftpboot/efi
    sudo cp /tmp/boot_rpms/boot/efi/EFI/redhat/MokManager.efi /var/lib/tftpboot/efi

    ノート:

    クライアントでセキュア・ブートをサポートするには、shim.efiおよびMokManager.efiファイルが必要です。 MokManager.efiには、EFIバイナリへの署名に使用するキーを管理するためのユーティリティが備えられています。 その後、/etc/dnsmasq.confファイル内でUEFIベースのクライアント用にdhcp-bootを設定するときに、パススルー・ブート・ローダーとして、shim.efiを指定します。 「dnsmasqの構成」を参照してください。

  5. NFS共有ディレクトリから、インストール・カーネル(vmlinuz)およびRAMディスク・イメージ・ファイル(initrd.img)をefiサブディレクトリにコピーします。

    次のコマンドを実行して、必要なファイルを/var/lib/tftpboot/efiにコピーします:

    sudo cp /var/nfs-exports/ISOs/ol10/vmlinuz -O /var/lib/tftpboot/efi/vmlinuz
    sudo cp /var/nfs-exports/ISOs/ol10/initrd.img /var/lib/tftpboot/efi/initrd.img
  6. /var/lib/tftpboot/efi/grub.cfgブート・ローダー構成ファイルを作成します。

    この構成ファイルには、ネットワークからのブートおよびローカルでブートするためのオプションが含まれています。 クライアントが、ネットワークからブートされてインストール・プロセスを開始します。 その後、インストール終了時にクライアントが再起動されると、システムがローカル・ドライブからブートされます。

    次の例では、このファイル内の標準的なエントリを示します。

    set default 0
    set timeout=10
    
    menuentry 'ol10 localboot' {
    echo "Booting from local disk"
    set root=(hd0,gpt1)
    chainloader efi/shim.efi
    boot
    }
    
    menuentry 'ol10' {
      echo "Loading vmlinuz"
      linuxefi vmlinuz inst.repo=/var/nfs-exports/ISOs/ol10/ inst.ks.sendmac \
      inst.ks=/var/nfs-exports/ISOs/ksfiles/kstart-file
      echo "Loading /initrd.img"
      initrdefi initrd.img
      echo "Booting installation kernel"
    }

    注意:

    ブート・ローダー構成は、UEFIベースのシステム間で共通ではありません。 異なるディスク・レイアウトなどの変数のため、特定のブート・ローダーの設定は、すべてのシステムに普遍的に適用されるわけではありません。 前述の例では、ブート・ローダーを構成する方法を1つのみ示しています。 設定するシステムに適したブート・ローダー構成を作成する必要があります。

    • linuxefiは、カーネル実行可能ファイルの名前を定義し、カーネルのロード時に追加するパラメータ(インストール・パッケージの場所やファイルの場所など)を定義します。

    • initrdefiにより、RAMディスク・イメージの名前を定義します。

    重要:

    カーネルとRAMディスク・イメージのファイルのパスは、ブート・ローダーが含まれるサブディレクトリ(efiなど)からの相対パスであるとみなされます。 vmlinuzおよびinitrd.imgファイルをefi/OL10などのサブディレクトリに配置する場合は、正しい相対パスがあることを確認してください。