Red Hat Training

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

30.2. ネットワークブートの設定

次の手順では、インストールを開始するために必要なファイルを tftp サーバーにコピーして、クライアントが要求した時に見つけられるようにします。tftp サーバーは通常、インストールツリーをエクスポートするネットワークサーバーと同じサーバーです。
PXE ブート設定手順は BIOS および EFI とは異なります。Power Systems サーバーには、別の yaboot 設定手順が提供されます。
注記
Red Hat Satellite には、PXE サーバーを自動設定する機能があります。詳細は、 Red Hat Satellite ユーザーガイド を参照してください。

30.2.1. BIOS 用の PXE ブートの設定

  1. tftp-server がインストールされていない場合は、yum install tftp-server を実行します。
  2. /etc/xinetd.d/tftptftp-server 設定ファイルで、disabled パラメーターを yes から no に変更します。
  3. SYSLINUX に同梱されているブートイメージを使用するように DHCP サーバーを設定します。(DHCP サーバーがインストールされていない場合は、Red Hat Enterprise Linux デプロイメントガイド の 『DHCP』 サーバーの章を参照してください。)
    /etc/dhcp/dhcpd.conf の設定例を以下に示します。
      option space pxelinux;
      option pxelinux.magic code 208 = string;
      option pxelinux.configfile code 209 = text;
      option pxelinux.pathprefix code 210 = text;
      option pxelinux.reboottime code 211 = unsigned integer 32;
    
      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;
              }
      }
    
  4. これで、ISO イメージファイルの syslinux-nolinux パッケージの pxelinux.0 ファイルが必要になります。これにアクセスするには、root で以下のコマンドを実行します。
    mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    cp -pr /mount_point/Packages/syslinux-nolinux-version-architecture.rpm /publicly_available_directory
    umount /mount_point
    パッケージを展開します。
    rpm2cpio syslinux-nolinux-version-architecture.rpm | cpio -dimv
  5. tftpboot 内に pxelinux ディレクトリーを作成し、pxelinux.0 をコピーします。
    mkdir /var/lib/tftpboot/pxelinux
    cp publicly_available_directory/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux
  6. pxelinuxpxelinux.cfg ディレクトリーを作成します。
    mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
  7. このディレクトリーに設定ファイルを追加します。ファイルの名前は default または IP アドレスの後に名前を付け、区切り文字なしで 16 進数形式に変換する必要があります。たとえば、マシンの IP アドレスが 10.0.0.1 の場合、ファイル名は 0A000001 になります。
    /var/lib/tftpboot/pxelinux/pxelinux.cfg/default にある設定ファイルの例を以下に示します。
    default vesamenu.c32
    prompt 1
    timeout 600
    
    display boot.msg
    
    label linux
      menu label ^Install or upgrade an existing system
      menu default
      kernel vmlinuz
      append initrd=initrd.img
    label vesa
      menu label Install system with ^basic video driver
      kernel vmlinuz
      append initrd=initrd.img xdriver=vesa nomodeset
    label rescue
      menu label ^Rescue installed system
      kernel vmlinuz
      append initrd=initrd.img rescue
    label local
      menu label Boot from ^local drive
      localboot 0xffff
    label memtest86
      menu label ^Memory test
      kernel memtest
      append -
    
    インストールソースを指定する方法については、を参照してください。 「追加の起動オプション」
  8. スプラッシュイメージを tftp の root ディレクトリーにコピーします。
    cp /boot/grub/splash.xpm.gz /var/lib/tftpboot/pxelinux/splash.xpm.gz
  9. 起動イメージを tftp の root ディレクトリーにコピーします。
    cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/rhel6/
  10. クライアントシステムを起動し、プロンプトが表示されたら、ブートデバイスとしてネットワークデバイスを選択します。