[gPXE] etherboot and WDS

James kojeroo at telus.net
Fri Jan 15 12:53:47 EST 2010


Sorry, I thought this was a straight forward question for a well known
(by the developers) problem.

Reasons why I say this doesn't work...

http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Technical_Notes/Known_Issues-kvm.html
#
RHEL5.x virtualization relies on etherboot for remote booting. Etherboot is an 
implementation of the pxe standard, but lacks some features that are present in 
the new gpxe boot technology which is not shipped with RHEL. It is possible to 
use the gpxe roms with RHEL 5.4. As an example, gpxe roms can be used to 
interpret requests generated by Microsoft RIS or WDS. All components present in 
RHEL5.4 are capable of booting gpxe roms. The roms can be obtained directly from 
http://rom-o-matic.net/, or other sources like the Fedora Project. BZ#509208
#
The Preboot eXecution Environment (PXE) boot ROMs included with KVM are from the 
Etherboot project. Consequently, some bug fixes or features that are present on 
the newer gPXE project are not available on Etherboot. For example, Virtual 
Machines (VMs) cannot boot using Microsoft based PXE (ie. Remote Installation 
Services (RIS) or Windows Deployment Services (WDS)). (BZ#497692)

Actual testing also confirmed this.
Here was my analysis from ethereal captures.

> In comparing the two logs it looks like the WDS NBP is downloaded from
> \boot\x86\wdsnbp.com\000, and then does another DHCP request
> to then download boot\x86\pxeboot.n12\0000.
> 
> Also, in between the DHCP requests the server does an ARP for the VB's IP.
> With gPXE it succeeds in getting a response but not so with etherboot.
> I'm not sure how much the ARP plays a role.
> The other thing I see is that with etherboot instead of a DHCP request
> it is doing another dhcp discover instead of a dhcp request and then
> the wdsnbp.com is downloaded again instead of pxeboot.n12.
> 
> gPXE...
>  34.781971      0.0.0.0 -> 255.255.255.255 DHCP DHCP Discover - Transaction ID 0xd8aba679
>  34.782377   2.52.24.67 -> 255.255.255.255 DHCP DHCP Offer    - Transaction ID 0xd8aba679
>  34.782918      0.0.0.0 -> 255.255.255.255 DHCP DHCP Request  - Transaction ID 0xd8aba679
>  34.783552   2.52.24.67 -> 255.255.255.255 DHCP DHCP ACK      - Transaction ID 0xd8aba679
>  34.784280 00:21:d8:ab:a6:79 -> ff:ff:ff:ff:ff:ff ARP Who has 2.52.24.67?  Tell 2.52.24.114
>  35.120629  2.52.24.114 -> 2.52.24.67   DHCP DHCP Request  - Transaction ID 0xd8aba679
>  35.122862 00:30:48:9a:7b:64 -> ff:ff:ff:ff:ff:ff ARP Who has 2.52.24.114?  Tell 2.52.24.67
>  35.123159 00:21:d8:ab:a6:79 -> 00:30:48:9a:7b:64 ARP 2.52.24.114 is at 00:21:d8:ab:a6:79
>  35.123258   2.52.24.67 -> 2.52.24.114  DHCP DHCP ACK      - Transaction ID 0xd8aba679
>  35.560516  2.52.24.114 -> 2.52.24.67   TFTP Read Request, File: boot\x86\wdsnbp.com\000, Transfer type: octet\000
>  35.818830  2.52.24.114 -> 2.52.24.67   DHCP DHCP Request  - Transaction ID 0xd8aba679
>  35.819146   2.52.24.67 -> 2.52.24.114  DHCP DHCP ACK      - Transaction ID 0xd8aba679
>  35.868350  2.52.24.114 -> 2.52.24.67   DHCP DHCP Request  - Transaction ID 0xd8aba679
>  35.868632   2.52.24.67 -> 2.52.24.114  DHCP DHCP ACK      - Transaction ID 0xd8aba679
>  36.274429  2.52.24.114 -> 2.52.24.67   TFTP Read Request, File: boot\x64\pxeboot.n12\000, Transfer type: octet\000
> 
> 
> etherboot...
>  13.016075      0.0.0.0 -> 255.255.255.255 DHCP DHCP Discover - Transaction ID 0xd8be808e
>  13.016695   2.52.24.67 -> 255.255.255.255 DHCP DHCP Offer    - Transaction ID 0xd8be808e
>  15.079054  2.52.24.114 -> 255.255.255.255 DHCP DHCP Request  - Transaction ID 0xd8be808e
>  15.079539   2.52.24.67 -> 255.255.255.255 DHCP DHCP ACK      - Transaction ID 0xd8be808e
>  15.117551 00:21:d8:ab:a6:79 -> ff:ff:ff:ff:ff:ff ARP Who has 2.52.24.67?  Tell 2.52.24.114
>  15.117635 00:30:48:9a:7b:64 -> 00:21:d8:ab:a6:79 ARP 2.52.24.67 is at 00:30:48:9a:7b:64
>  15.123361  2.52.24.114 -> 2.52.24.67   TFTP Read Request, File: boot\x86\wdsnbp.com\000, Transfer type: octet\000
>  19.845805 00:30:48:9a:7b:64 -> 00:21:d8:ab:a6:79 ARP Who has 2.52.24.114?  Tell 2.52.24.67
>  20.845823 00:30:48:9a:7b:64 -> 00:21:d8:ab:a6:79 ARP Who has 2.52.24.114?  Tell 2.52.24.67
>  21.845831 00:30:48:9a:7b:64 -> 00:21:d8:ab:a6:79 ARP Who has 2.52.24.114?  Tell 2.52.24.67
>  26.019034      0.0.0.0 -> 255.255.255.255 DHCP DHCP Discover - Transaction ID 0xd8be817b
>  26.019629   2.52.24.67 -> 255.255.255.255 DHCP DHCP Offer    - Transaction ID 0xd8be817b
>  28.646013  2.52.24.114 -> 255.255.255.255 DHCP DHCP Request  - Transaction ID 0xd8be817b
>  28.646548   2.52.24.67 -> 255.255.255.255 DHCP DHCP ACK      - Transaction ID 0xd8be817b
>  28.687829 00:21:d8:ab:a6:79 -> ff:ff:ff:ff:ff:ff ARP Who has 2.52.24.67?  Tell 2.52.24.114
>  28.687915 00:30:48:9a:7b:64 -> 00:21:d8:ab:a6:79 ARP 2.52.24.67 is at 00:30:48:9a:7b:64
>  28.687993  2.52.24.114 -> 2.52.24.67   TFTP Read Request, File: boot\x86\wdsnbp.com\000, Transfer type: octet\000

rom-o-matic was used to generate roms using the latest Production releases, gPXE 
0.9.9 and Etherboot 5.4.4.

Thanks,
James



On 15-Jan-10 05:42 Shao Miller wrote:
> James wrote:
>>
>> Why does WDS not work with Etherboot-5.4.x?
>>
> 
> What makes you think it doesn't work?  Submitting more detail (such as 
> error messages and versions tried) in your original e-mail would shorten 
> the feedback cycle, would you agree?  Will someone on this list have 
> more questions for you after your response?  If so, try to anticipate 
> what those questions might be and preemptively answer them, if at all 
> possible.
> 
> - Shao Miller


More information about the gPXE mailing list