14.2. BIOS ベースのクライアント向けに TFTP サーバーの設定

この手順に従って、TFTP サーバーおよび DHCP サーバーを設定し、BIOS ベースの AMD および Intel の 64 ビットシステム用 PXE サーバーで、TFTP サービスを開始します。

重要

本セクションのすべての設定ファイルは例となります。設定の詳細は、アーキテクチャーや特定の要件によって異なります。

手順

  1. root で、次のパッケージをインストールします。

    # yum install tftp-server dhcp-server
  2. ファイアウォールで、tftp service サービスへの着信接続を許可します。

    # firewall-cmd --add-service=tftp
    注記
    • このコマンドは、次にサーバーを再起動するまで、一時的にアクセスを有効にします。永続的アクセスを有効にするには、コマンドに --permanent オプションを追加します。
    • ISO インストールファイルの場所によっては、HTTP などのサービスの着信接続を許可しないといけない場合があります。
  3. 以下の例の /etc/dhcp/dhcpd.conf ファイルのように、SYSLINUX に同梱されているブートイメージを使用するように DHCP サーバーを設定します。

    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;
    option architecture-type code 93 = unsigned integer 16;
    
    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 architecture-type = 00:07 {
    	    filename "uefi/shim.efi";
    	    } else {
    	    filename "pxelinux/pxelinux.0";
    	  }
    	}
    }
  4. Binary DVD ISO イメージファイルの SYSLINUX パッケージから pxelinux.0 ファイルにアクセスします。ここで、my_local_directory は、作成するディレクトリーの名前です。

    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    # cp -pr /mount_point/BaseOS/Packages/syslinux-tftpboot-version-architecture.rpm /my_local_directory
    # umount /mount_point
  5. パッケージを展開します。

    # rpm2cpio syslinux-tftpboot-version-architecture.rpm | cpio -dimv
  6. tftpboot/pxelinux/ ディレクトリーを作成し、そのディレクトリーから pxelinux/ ディレクトリーにすべてのファイルをコピーします。

    # mkdir /var/lib/tftpboot/pxelinux
    # cp my_local_directory/tftpboot/* /var/lib/tftpboot/pxelinux
  7. pxelinux/ ディレクトリーに pxelinux.cfg/ ディレクトリーを作成します。

    # mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
  8. 以下の例のように、デフォルトの設定ファイルを pxelinux.cfg/ ディレクトリーに追加します。

    default vesamenu.c32
    prompt 1
    timeout 600
    
    display boot.msg
    
    label linux
      menu label ^Install system
      menu default
      kernel images/RHEL-8.1/vmlinuz
      append initrd=images/RHEL-8.1/initrd.img ip=dhcp inst.repo=http://10.32.5.1/RHEL-8.1/x86_64/iso-contents-root/
    label vesa
      menu label Install system with ^basic video driver
      kernel images/RHEL-8.1/vmlinuz
      append initrd=images/RHEL-8.1/initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://10.32.5.1/RHEL-8.1/x86_64/iso-contents-root/
    label rescue
      menu label ^Rescue installed system
      kernel images/RHEL-8.1/vmlinuz
      append initrd=images/RHEL-8.1/initrd.img rescue
    label local
      menu label Boot from ^local drive
      localboot 0xffff
    注記
    • このランタイムイメージなしでは、インストールプログラムは起動できません。inst.stage2 起動オプションを使用して、イメージの場所を指定します。または、inst.repo= オプションを使用して、イメージおよびインストールソースを指定することも可能です。
    • inst.repo で使用したインストールソースの場所には、有効な treeinfo ファイルが含まれている必要があります。
    • インストールソースとして RHEL8 インストール DVD を選択すると、.treeinfo ファイルが BaseOS リポジトリーおよび AppStream リポジトリーを指定します。単一の inst.repo オプションを使用することで両方のリポジトリーを読み込むことができます。
  9. /var/lib/tftpboot/ ディレクトリーに、ブートイメージファイルを保存するサブディレクトリーを作成し、そのディレクトリーにブートイメージファイルをコピーします。この例のディレクトリーは、/var/lib/tftpboot/pxelinux/images/RHEL-8.1/ になります。

    # mkdir -p /var/lib/tftpboot/pxelinux/images/RHEL-8.1/
    # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/images/RHEL-8.1/
  10. dhcpd サービスを開始して有効にします。

    # systemctl start dhcpd
    # systemctl enable dhcpd
  11. tftp.socket サービスを開始して有効にします。

    # systemctl start tftp.socket
    # systemctl enable tftp.socket

    これにより、PXE 起動サーバーでは、PXE クライアントにサービスを提供する準備が整いました。クライアント (Red Hat Enterprise Linux のインストール先システム) を起動し、起動ソースを指定するように求められたら、PXE ブート を選択してネットワークインストールを開始できます。


このページには機械翻訳が使用されている場合があります (詳細はこちら)。