[ipxe-devel] Query on UEFI iPXE boot

Sanjeev.Roy at Emulex.Com Sanjeev.Roy at Emulex.Com
Wed Dec 14 12:32:10 UTC 2011

We are using Emulex adapter.
We tried chainloading for EFI using iPXE similar to legacy boot, legacy boot works fine.

The configuration change in dhcpd.conf is
if exists user-class and option user-class = "iPXE" {
       filename "bootx64.efi"; # bootx64.efi is located @ tftp root
} else {
       filename "808610de.efi"; #808610de.efi is located @ tftp root
also tried with e1000e--r8169.efi and ipxe.efi instead of 808610de.efi

It succeeds in downloading (808610de.efi or ipxe.efi), It never tries to download bootx64.efi.

Is there any specific way to generate the binary for Emulex adapter, which is not been specified in e1000e_ich8lan.c,
In this case how do we build the driver image specific for this adapter.

Is it that if the PCI ID's are not specified for a particular adapter, we won't be able to do EFI boot from that adapter ?


-----Original Message-----
From: Thomas Miletich [mailto:thomas.miletich at gmail.com] 
Sent: Tuesday, December 13, 2011 5:20 PM
To: Roy, Sanjeev
Cc: mbrown at fensystems.co.uk; ipxe-devel at lists.ipxe.org
Subject: Re: [ipxe-devel] Query on UEFI iPXE boot

On Tue, Dec 13, 2011 at 12:31 PM,  <Sanjeev.Roy at emulex.com> wrote:
> Hi Michael,
> Couple of queries related to UEFI NIC boot using iPXE.
> 1. Is chain loading supported for UEFI in iPXE environment? Lagacy PXE boot (chain loading) works fine.

No idea, sorry.

> 2. We build 808610de.efi from the source files. Could you please let me know if this file would work in case of UEFI boot for any adapter (we are trying this with an Emulex adapter). Do we need to build this efi file separately using our device and vendor id?
> If yes, could you please let us know how we can build this for our adapter?

I think this will build an iPXE image that contains the ich8lan code
of the e1000e driver only, thus making it work with all PCI IDs
specified in e1000e_ich8lan.c. If your card is in that list you'll be
fine, otherwise you need a differnet image. You can build specific
driver images with:

make bin/e1000e.efi

make bin/e1000e--r8169.efi

for multi-driver images.

If you want all iPXE drivers in your image use:
make bin/ipxe.efi

At least that's how it should work for BIOS images, I don't know if
there are any relevant differences to EFI images.


> Regards
> Sanjeev
> -----Original Message-----
> From: Michael Brown [mailto:mbrown at fensystems.co.uk]
> Sent: Monday, December 12, 2011 7:44 PM
> To: ipxe-devel at lists.ipxe.org
> Cc: Roy, Sanjeev
> Subject: Re: [ipxe-devel] Query on UEFI iPXE boot
> On Monday 12 Dec 2011 13:16:24 Sanjeev.Roy at emulex.com wrote:
>> Is chain loading of iPXE supported for UEFi based systems? If yes, is the
>> structure similar to the one mentioned below: I have added the below entry
>> to my dhcpd.conf file in a rhel5564 machine.
>> if exists user-class and option user-class = "iPXE" {
>>       filename "bootx64.efi"; # bootx64.efi is located @ tftp root
>> } else {
>>       filename "808610de.efi"; #808610de.efi is located @ tftp root
>> }
> That looks as though it should work.
> You can also use DHCP option 93 to determine whether a request comes from a
> BIOS or EFI client.
> Michael
> _______________________________________________
> ipxe-devel mailing list
> ipxe-devel at lists.ipxe.org
> https://lists.ipxe.org/mailman/listinfo/ipxe-devel

More information about the ipxe-devel mailing list