[ipxe-devel] Query on UEFI iPXE boot

Sanjeev.Roy at Emulex.Com Sanjeev.Roy at Emulex.Com
Mon Jan 9 14:36:47 UTC 2012


Hi Jarrod,
Thanks for the help.
I built the snponly.efi file.
I was using a bnx2  LOM for testing the iPXE NIC boot using UEFI. My iPXE server was hosted on a rhel5564 machine.

The iPXE client was able to successfully download the snponly.efi file. However it got stuck immediately after downloading the bootx64.efi file.

Can you please suggest if I am doing anything wrong here?

Below is the entry for the dhcpd.conf file:
################################################

cat /etc/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#

option space ipxe;
  option ipxe-encap-opts code 175 = encapsulate ipxe;
  option ipxe.priority code 1 = signed integer 8;
  option ipxe.keep-san code 8 = unsigned integer 8;
  option ipxe.skip-san-boot code 9 = unsigned integer 8;
  option ipxe.no-pxedhcp code 176 = unsigned integer 8;
  option ipxe.bus-id code 177 = string;
  option ipxe.bios-drive code 189 = unsigned integer 8;
  option ipxe.username code 190 = string;
  option ipxe.password code 191 = string;
  option ipxe.reverse-username code 192 = string;
  option ipxe.reverse-password code 193 = string;
  option ipxe.version code 235 = string;
  option iscsi-initiator-iqn code 203 = string;
  # Feature indicators
  option ipxe.pxeext code 16 = unsigned integer 8;
  option ipxe.iscsi code 17 = unsigned integer 8;
  option ipxe.aoe code 18 = unsigned integer 8;
  option ipxe.http code 19 = unsigned integer 8;
  option ipxe.https code 20 = unsigned integer 8;
  option ipxe.tftp code 21 = unsigned integer 8;
  option ipxe.ftp code 22 = unsigned integer 8;
  option ipxe.dns code 23 = unsigned integer 8;
  option ipxe.bzimage code 24 = unsigned integer 8;
  option ipxe.multiboot code 25 = unsigned integer 8;
  option ipxe.slam code 26 = unsigned integer 8;
  option ipxe.srp code 27 = unsigned integer 8;
  option ipxe.nbi code 32 = unsigned integer 8;
  option ipxe.pxe code 33 = unsigned integer 8;
  option ipxe.elf code 34 = unsigned integer 8;
  option ipxe.comboot code 35 = unsigned integer 8;
  option ipxe.efi code 36 = unsigned integer 8;
  option ipxe.fcoe code 37 = unsigned integer 8;


ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.50 192.168.1.90;
default-lease-time 3600;
max-lease-time 4800;
option subnet-mask 255.255.255.0;
option domain-name "pxe_text";
option time-offset -8;
}

host bglinux45{
  next-server 192.168.1.1;
  hardware ethernet 5C:F3:FC:4B:B9:76; #HW addr of my client BNX2 interface
  fixed-address 192.168.1.60;
  option host-name "linux-test";

if exists user-class and option user-class = "iPXE" {
     filename "bootx64.efi";
  } else {
    filename "snponly.efi";
  }
}
#####################################################


Regards
Sanjeev
From: Jarrod Johnson [mailto:jarrod.b.johnson at gmail.com]
Sent: Friday, January 06, 2012 8:58 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

Instead of targeting *specifically* the device, I'd build snponly.efi.  This is akin to undionly.kkpxe.

I have successfully gotten it to work, but with some emulex firmware I've been messing with iPXE is having difficulty doing DHCP with SNP while I see no problems on any other nics (intel, broadcom, vmware's emulated intel, couple of others).

xCAT when setting up chained UEFI boot constructs the following dhcp bit (s/xNBA/iPXE/ unless using the xCAT branch):
host efitest1 {
  dynamic;
  hardware ethernet 42:8a:3b:42:a5:68;
        supersede server.ddns-hostname = "efitest1";
        supersede host-name = "efitest1";
        if option user-class-identifier = "xNBA" and option
             client-architecture = 00:00 {
          supersede server.always-broadcast = 01;
          supersede server.filename =
                  "http://${next-server}/tftpboot/xcat/xnba/nodes/efitest1";
        } elsif option user-class-identifier = "xNBA" and option
                client-architecture = 00:09 {
          supersede server.filename =
                                      "http://${next-server}/tftpboot/xcat/xnba/nodes/efitest1.uefi";
        } elsif option client-architecture = 00:07 {
          supersede server.filename = "xcat/xnba.efi";
        } elsif option client-architecture = 00:00 {
          supersede server.filename = "xcat/xnba.kpxe";
        } else {
          supersede server.filename = "";
        }
}


On Fri, Jan 6, 2012 at 5:46 AM, <Sanjeev.Roy at emulex.com<mailto:Sanjeev.Roy at emulex.com>> wrote:
Hi All,
Do we have any readme that suggests how we can execute iPXE UEFI boot?
We tried UEFI IPXE boot with  an Intel igb CNA. The device ID was 10c9. We built 808610c9.efi. However while trying the UEFI iPXE boot using the .efi file we could see that the client is able to successfully download the.efi file. The client hangs after that. It never tries to get the bootx64.efi (required for booting to the EFI mode) file after that.

We were trying the UEFI boot with  Sles11sp164.
Has anyone executed chain loading using iPXE in UEFI environment?
Regards
Sanjeev

-----Original Message-----
From: Roy, Sanjeev
Sent: Thursday, December 22, 2011 12:32 AM
To: Michael Brown; ipxe-devel at lists.ipxe.org<mailto:ipxe-devel at lists.ipxe.org>
Subject: RE: [ipxe-devel] Query on UEFI iPXE boot


Hi All,
We tried UEFI IPXE boot with  an Intel igb CNA. The device ID was 10c9. We built 808610c9.efi. However while trying the UEFI iPXE boot using the .efi file we could see that the client is able to successfully download the.efi file. The client 808610c9hangs after that. It never tries to get the bootx64.efi (required for booting to the EFI mode) file after that.

We were trying the UEFI boot with  Sles11sp164.
Has anyone executed chain loading using iPXE in UEFI environment?
Regards
Sanjeev

-----Original Message-----
From: Michael Brown [mailto:mbrown at fensystems.co.uk<mailto:mbrown at fensystems.co.uk>]
Sent: Saturday, December 17, 2011 1:02 AM
To: ipxe-devel at lists.ipxe.org<mailto:ipxe-devel at lists.ipxe.org>
Cc: Roy, Sanjeev
Subject: Re: [ipxe-devel] Query on UEFI iPXE boot
On Wednesday 14 Dec 2011 12:32:10 Sanjeev.Roy at emulex.com<mailto:Sanjeev.Roy at emulex.com> wrote:
> 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

8086:10de is an Intel e1000 card.  You need to use the PCI IDs for your Emulex
card instead.

> 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.

Emulex adapters are not (as far as I am aware) direct equivalents of Intel
e1000 adapters.  You need to create an iPXE driver for Emulex adapters (or pay
to have one created).

Michael
_______________________________________________
ipxe-devel mailing list
ipxe-devel at lists.ipxe.org<mailto:ipxe-devel at lists.ipxe.org>
https://lists.ipxe.org/mailman/listinfo/ipxe-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20120109/56e5e0ef/attachment.htm>


More information about the ipxe-devel mailing list