30.2. Configurazione di avvio PXE

La fase successiva è quella di copiare i file necessari per avviare l'installazione sul server tftp in modo da essere trovati quando richiesti dal client. Il server tftp normalmente è lo stesso server di rete che esporta l'albero di installazione.
La configurazione di EFI e del BIOS differiscono per questa procedura.

30.2.1. Configurazione per il BIOS

  1. Se tftp-server non è stato ancora installato eseguire yum install tftp-server.
  2. Nel file di config tftp-server in /etc/xinet.d/tftp, modificare il parametro disabled da yes a no.
  3. Configurare il server DHCP in modo da usare le immagini d'avvio presenti in SYSLINUX. (Se non avete installato un server DHCP, consultate il capitolo Server DHCP nella Red Hat Enterprise Linux Deployment Guide.)
    Una configurazione d'esempio in /etc/dhcp/dhcpd.conf potrebbe essere:
      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. Ora avrete bisogno del file pxelinux.0 del pacchetto SYSLINUX nel file immagine ISO. Per poterlo accedere eseguire i seguenti comandi come utente 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
    Estrarre il pacchetto:
    rpm2cpio syslinux-version-architecture.rpm | cpio -dimv
  5. Creare una directory pxelinux all'interno di tftpboot e copiare pxelinux.0 al suo interno:
    mkdir /var/lib/tftpboot/pxelinux
    cp publicly_available_directory/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux
  6. Creare una directory pxelinux.cfg all'interno di pxelinux:
    mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
  7. Aggiungere un file di config a questa directory. Il file dovrebbe chiamarsi default oppure prendere come riferimento l'indirizzo IP. Per esempio se l'indirizzo IP della macchina è 10.0.0.1, il nome sarà 0A000001.
    Un file di config d'esempio su /var/lib/tftpboot/pxelinux/pxelinux.cfg/default potrebbe somigliare a:
    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 -
    
    Per informazioni su come specificare il sorgente di installazione consultare Sezione 7.1.3, «Opzioni di avvio aggiuntive»
  8. Copiare l'immagine splash nella directory root tftp:
    cp /boot/grub/splash.xpm.gz /var/lib/tftpboot/pxelinux/splash.xpm.gz
  9. Copiare le immagini d'avvio nella directory root tftp:
     cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/rawhide-x86_64/
  10. Riavviare il sistema e selezionare il dispositivo di rete quando richiesto come dispositivo d'avvio.