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

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

重要

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

手順

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

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

    # firewall-cmd --add-service=tftp
    注記
    • このコマンドは、次にサーバーを再起動するまで、一時的にアクセスを有効にします。永続的アクセスを有効にするには、コマンドに --permanent オプションを追加します。
    • ISO インストールファイルの場所によっては、HTTP などのサービスの着信接続を許可しないといけない場合があります。
  3. 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
  4. パッケージをデプロイメントします。

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

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

    # mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
  7. default という名前の設定ファイルを作成し、以下の例のように pxelinux.cfg/ ディレクトリーに追加します。

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

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

    # systemctl enable --now tftp.socket

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