30.2.2. Konfiguration für EFI

  1. Falls tftp-server noch nicht installiert ist, führen Sie yum install tftp-server aus.
  2. Ändern Sie in der tftp-server-Konfigurationsdatei unter /etc/xinet.d/tftp den disabled-Parameter von yes auf no.
  3. Erstellen Sie einen Verzeichnispfad innerhalb von tftpboot für die EFI-Boot-Images und kopieren Sie diese anschließend von Ihrem Boot-Verzeichnis:
    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. Konfigurieren Sie Ihren DHCP-Server zur Verwendung der in GRUB enthaltenen EFI-Boot-Images. (Falls Sie keinen DHCP-Server installiert haben, werfen Sie einen Blick auf das Kapitel DHCP-Server im Red Hat Enterprise Linux Bereitstellungshandbuch.)
    Eine Konfiguration in /etc/dhcp/dhcpd.conf könnte etwa wie folgt aussehen:
      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. Erstellen Sie ein pxelinux.cfg-Verzeichnis innerhalb von pxelinux:
    mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
  6. Fügen Sie eine Konfigurationsdatei in diesem Verzeichnis hinzu. Die Datei sollte entweder efidefault heißen oder aber nach der IP-Adresse benannt werden. Falls die IP-Adresse Ihres Rechners beispielsweise 10.0.0.1 lautet, sollte die Datei 0A000001 heißen.
    Eine Konfigurationsdatei unter /var/lib/tftpboot/pxelinux/pxelinux.cfg/efidefault könnte etwa wie folgt aussehen:
    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
    
    Anweisungen zur Angabe der Installationsquelle finden Sie unter Abschnitt 7.1.3, »Weitere Boot-Optionen«
  7. Kopieren Sie das Splash-Image in Ihr tftp-Stammverzeichnis:
    cp /boot/grub/splash.xpm.gz /var/lib/tftpboot/pxelinux/splash.xpm.gz
  8. Kopieren Sie die Boot-Images in Ihr tftp-Stammverzeichnis:
     cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/rawhide-x86_64/
  9. Starten Sie das System neu und wählen Sie das Netzwerkgerät als Boot-Gerät, wenn Sie dazu aufgefordert werden.