30.2. PXE 부트 설정

다음 단계는 tftp 서버에서 설치를 시작하기 위해 필요한 파일을 복사하여 이를 클라이언트가 요구할 때 찾을 수 있게 하는 것입니다. 주로 tftp 서버는 설치 트리를 내보내는 네트워크 서버와 동일한 서버가 됩니다.
이 절차에서는 BIOS 및 EFI 설정이 다릅니다.

30.2.1. BIOS 설정

  1. tftp-server가 아직 설치되지 않았을 경우 yum install tftp-server를 실행합니다.
  2. /etc/xinet.d/tftp에 있는 tftp-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 패키지에서 pxelinux.0 파일이 필요합니다. 파일에 액세스하려면 root로 다음 명령을 실행합니다:
    mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    cp -pr /mount_point/Packages/syslinux-version-architecture.rpm /publicly_available_directory
    umount /mount_point
    패키지를 추출합니다:
    rpm2cpio syslinux-version-architecture.rpm | cpio -dimv
  5. tftpbootpxelinux 디렉토리를 생성하고 여기에 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 주소에 연관된 이름으로 지정합니다. 예를 들어, 컴퓨터의 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 -
    
    설치 소스를 지정하는 방법에 대한 내용은 7.1.3절. “추가 부팅 옵션 ”에서 참조하십시오.
  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/rawhide-x86_64/
  10. 시스템을 재부팅하고 프롬프트가 나타나면 네트워크 장치를 부팅 장치로 선택합니다.