Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

30.2.2. EFI の PXE ブートの設定

  1. tftp-server がインストールされていない場合は、yum install tftp-server を実行します。
  2. /etc/xinetd.d/tftptftp-server 設定ファイルで、disable パラメーターを yes から no に変更します。
  3. EFI ブートイメージの tftpboot 内にディレクトリーを作成し、それらをブートディレクトリーからコピーします。この例では、pxelinux というサブディレクトリーに名前を付けますが、その他の名前を使用することもできます。
    mkdir /var/lib/tftpboot/pxelinux
    cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/pxelinux/bootx64.efi
  4. GRUB に同梱されている EFI ブートイメージを使用するように DHCP サーバーを設定します。(DHCP サーバーがインストールされていない場合は、Red Hat Enterprise Linux デプロイメントガイド の 『DHCP』 サーバーの章を参照してください。)
    /etc/dhcp/dhcpd.conf の設定例を以下に示します。
      option space PXE;
      option PXE.mtftp-ip    code 1 = ip-address;
      option PXE.mtftp-cport code 2 = unsigned integer 16;
      option PXE.mtftp-sport code 3 = unsigned integer 16;
      option PXE.mtftp-tmout code 4 = unsigned integer 8;
      option PXE.mtftp-delay code 5 = unsigned integer 8;
      option arch code 93 = unsigned integer 16; # RFC4578
    
      subnet 10.0.0.0 netmask 255.255.255.0 {
              option routers 10.0.0.254;
              range 10.0.0.2 10.0.0.253;
    
              class "pxeclients" {
                      match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
                      next-server 10.0.0.1;
    
                      if option arch = 00:06 {
                              filename "pxelinux/bootia32.efi";
                      } else if option arch = 00:07 {
                              filename "pxelinux/bootx64.efi";
                      } else {
                              filename "pxelinux/pxelinux.0";
                      }
              }
    
              host example-ia32 {
                      hardware ethernet XX:YY:ZZ:11:22:33;
                      fixed-address 10.0.0.2;
              }
      }
    
  5. 設定ファイルを /var/lib/tftpboot/pxelinux に追加します。ファイルの名前は efidefault または IP アドレスの後に名前を付け、区切り文字なしで 16 進数形式に変換する必要があります。たとえば、マシンの IP アドレスが 10.0.0.1 の場合、ファイル名は 0A000001 になります。
    /var/lib/tftpboot/pxelinux/efidefault にある設定ファイルの例を以下に示します。
    default=0
    timeout=1
    splashimage=(nd)/splash.xpm.gz
    hiddenmenu
    title RHEL
            root (nd)
            kernel /rhel6/vmlinuz
            initrd /rhel6/initrd.img
    
    インストールソースを指定する方法については、を参照してください。 「追加の起動オプション」
  6. スプラッシュイメージを tftp の root ディレクトリーにコピーします。
    cp /boot/grub/splash.xpm.gz /var/lib/tftpboot/pxelinux/splash.xpm.gz
  7. 起動イメージを tftp の root ディレクトリーにコピーします。
    cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/rhel6/
  8. クライアントシステムを起動し、プロンプトが表示されたら、ブートデバイスとしてネットワークデバイスを選択します。