[syslinux] Confusion on lpxelinux vs. gpxelinux vs. ipxe vs gpxe.

Michael Brown mcb30 at ipxe.org
Sun Oct 25 02:27:16 PDT 2015


On 25/10/15 01:04, Gene Cumm wrote:
> On Sat, Oct 24, 2015 at 6:15 PM, Michael Brown via Syslinux
> <syslinux at zytor.com> wrote:
>
>> Also, not a fork: http://git.ipxe.org/ipxe.git/commitdiff/8406115
>
> A fork is a fork, regardless the reasons behind it (yes, I have some
> understanding in this case).  iPXE is based off of forking further
> development as of a certain gPXE commit with some backporting of gPXE
> development to iPXE.

 From my perspective, a "fork" is when you take someone else's code and 
spin it off into a new project.  Taking what is primarily your own code 
and renaming it does not, for me, count as a "fork".  Maybe we're just 
using different definitions of the word.

Anyway, to answer the questions of substance in this thread:

There were some issues relating to iPXE real-mode operations that show 
up on pre-Westmere CPUs with newer (and stricter) versions of KVM.  This 
was fixed in a series of commits last year:

   http://git.ipxe.org/ipxe.git/commitdiff/6d4deee
   http://git.ipxe.org/ipxe.git/commitdiff/5a08b63
   http://git.ipxe.org/ipxe.git/commitdiff/c64747d
   http://git.ipxe.org/ipxe.git/commitdiff/bcfaf11

along with some patches to avoid unnecessary real-mode transitions 
entirely (e.g. by allowing the system timer tick interrupt to happen in 
protected mode).

A quick test just now under current KVM (running on a five-year-old Core 
i5) shows a download speed of around 1600Mbps sustained for 2.5GB of 
data downloaded from the VM host to the guest:

   http://ipxe.org/_media/screenshots/ipxe_speed.png


All of my GigE test hardware sustains 1000Mbps HTTP downloads under 
iPXE.  My 10GigE test hardware typically sustains somewhere in the 
region of 2000-3000Mbps (CPU-limited, on a very old Core2Duo CPU).  Any 
new iPXE driver developed commercially will be tested and expected to 
reach 1000Mbps or have good reasons for not doing so.


You can construct an ipxelinux.0 as an updated replacement for 
gpxelinux.0, to solve the problems relating to the old gPXE code present 
in gpxelinux.0.  However, there's not much motivation to do so. 
Instead, you should either use lpxelinux.0, or use iPXE itself.

Michael


More information about the Syslinux mailing list