30.2.2. Configurazione per EFI

  1. Se tftp-server non è 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. Creare un percorso per la directory all'interno di tftpboot per le immagini d'avvio di EFI e successivamente copiarle dalla directory d'avvio:
    mkdir /var/lib/tftpboot/pxelinux
    mkdir /var/lib/tftpboot/pxelinux/bootx64.efi
    cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/pxelinux/bootx64.efi
  4. Configurare il server DHCP in modo da usare le immagini d'avvio di EFI presenti con GRUB (Se non avete installato il 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 PXE;
      option PXE.mtftp-ip    code 1 = ip-address;
      option PXE.mtftp-cport code 2 = unsigned integer 16;
      option PXE.mtftp-sport code 3 = unsigned integer 16;
      option PXE.mtftp-tmout code 4 = unsigned integer 8;
      option PXE.mtftp-delay code 5 = unsigned integer 8;
      option arch code 93 = unsigned integer 16; # RFC4578
    
      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;
              }
      }
    
  5. Creare una directory pxelinux.cfg all'interno di pxelinux:
    mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
  6. Aggiungere un file di config a questa directory. Il file dovrebbe chiamarsi efidefault oppure utilizzare come riferimento l'indirizzo IP. Per esempio, se l'indirizzo IP della macchina è 10.0.0.1, il nome sarà 0A000001.
    Un esempio di file di config su /var/lib/tftpboot/pxelinux/pxelinux.cfg/efidefault potrebbe essere:
    default=0
    timeout=1
    splashimage=(nd)/splash.xpm.gz
    hiddenmenu
    title RHEL
            root (nd)
            kernel /rawhide-x86_64/vmlinuz
            initrd /rawhide-x86_64/initrd.img
    
    Per informazioni su come specificare il sorgente di installazione consultare Sezione 7.1.3, «Opzioni di avvio aggiuntive»
  7. Copiare l'immagine splash nella directory root tftp:
    cp /boot/grub/splash.xpm.gz /var/lib/tftpboot/pxelinux/splash.xpm.gz
  8. 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/
  9. Riavviare il sistema e selezionare il dispositivo di rete quando richiesto come dispositivo d'avvio.