30.2. Настройка PXE-загрузки

Необходимые для установки файлы потребуется скопировать на сервер tftp, чтобы их можно было найти по запросу клиента. В качестве сервера tftp обычно выступает сетевой сервер, экспортирующий дерево установки.
Конфигурация BIOS и EFI для этой процедуры будет отключаться.

30.2.1. BIOS

  1. Если tftp-server не установлен, выполните yum install tftp-server.
  2. В файле конфигурации /etc/xinet.d/tftp измените значение параметра disabled на no.
  3. Настройте DHCP-сервер так, чтобы он мог использовать загрузочные образы, созданные с помощью SYSLINUX. Если DHCP-сервер не установлен, обратитесь главе DHCP-серверы Servers в руководстве по развертыванию Red Hat Enterprise Linux.
    Пример файла /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. В дальнейшем понадобится файл pxelinux.0 из пакета SYSLINUX, входящего в состав образа. В режиме root выполните следующее:
    mount -t iso9660 /путь/образ.iso /точка_подключения -o loop,ro
    cp -pr /точка_подключения/Packages/syslinux-версия-арх..rpm /открытый_каталог
    umount /точка_подключения
    Извлеките пакет:
    rpm2cpio syslinux-версия-архитектура.rpm | cpio -dimv
  5. В tftpboot создайте каталог pxelinux и скопируйте в него pxelinux.0:
    mkdir /var/lib/tftpboot/pxelinux
    cp открытый_каталог/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux
  6. Создайте каталог pxelinux.cfg в pxelinux:
    mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
  7. Добавьте в этот каталог файл конфигурации, в качестве имени которого может использоваться IP-адрес или default. Например, для компьютера с адресом 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:
    cp /boot/grub/splash.xpm.gz /var/lib/tftpboot/pxelinux/splash.xpm.gz
  9. Скопируйте загрузочные образы в корневой каталог tftp:
     cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/rawhide-x86_64/
  10. Перезагрузите систему и в качестве загрузочного устройства выберите сетевое устройство.