From Fedora Project Wiki

Revision as of 08:44, 8 April 2009 by Mnowak (talk | contribs)

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

This test validates booting EFI images over the network. Tests must be executed on a system capable of supporting Features/EFI. This test requires access to (or configuration of) a DHCP and tftp server to modify network boot configuration (see http://docs.fedoraproject.org/install-guide/f10/en_US/ap-install-server.html).


How to test

  1. Copy the EFI boot images into your tftp root directory:
    • For i386 images:
      cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/X86PC/UNDI/pxelinux/bootia32.efi 
    • For x86_64 images:
      cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/X86PC/UNDI/pxelinux/bootx64.efi 
  2. Configure your dhcpd server to use the EFI boot images packaged with grub, and configure a test system to boot using the EFI boot image. A sample configuration in /etc/dhcpd.conf might look like:
  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;

  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:02 {
                          filename "ia64/elilo.efi";
                  } else if option arch = 00:06 {
                          filename "X86PC/UNDI/pxelinux/bootia32.efi";
                  } else if option arch = 00:07 {
                          filename "X86PC/UNDI/pxelinux/bootx64.efi";
                  } else {
                          filename "X86PC/UNDI/pxelinux/pxelinux.0";
                  }
          }

          host example-ia32 {
                  hardware ethernet XX:YY:ZZ:11:22:33;
                  fixed-address 10.0.0.2;
          }
  }
  1. Add a config file. A sample config file at /var/lib/tftpboot/X86PC/UNDI/pxelinux/efidefault might look like:
default=0
timeout=1
splashimage=(nd)/splash.xpm.gz
hiddenmenu
title Fedora
        root (nd)
        kernel /rawhide-i386/vmlinuz
        initrd /rawhide-i386/initrd.img
  1. Copy the splash image into your tftp root directory:
    cp /boot/grub/splash.xpm.gz /var/lib/tftpboot/X86PC/UNDI/pxelinux/splash.xpm.gz
  2. Copy a the boot images intor your tftp root directory:
    • For i386 type:
       cp /path/to/i386/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/X86PC/UNDI/pxelinux/rawhide-i386/
    • For x86_64 type:
       cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/X86PC/UNDI/pxelinux/rawhide-x86_64/
  3. Reboot the system under test. When offered, be sure to select the network device as your boot device.

Expected Results

  1. The system should boot into the installer without error