Re: [Etherboot-developers] pxe
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Michael B. <mb...@fe...> - 2003-05-22 11:28:34
|
> > The "E" in PXE means Environment; it is an execution environment > > defined by Intel's spec. When Etherboot provides a PXE environment, it > > really will BE a PXE implementation - not an "emulation". Code really > > will have been booted by a "PXE boot-rom", namely Etherboot; it does > > not have to be written by Intel to be PXE. > Given the holes in the implementation calling it emulation is > probably a fair description. But then again given the holes > in the PXE spec/practice we might qualify as implementing it. It's unlikely that Etherboot will ever implement the full PXE API. Implementing the TFTP and UDP layer calls would be relatively straightforward, but implementing the UNDI API calls would require a significant restructuring of the internal Etherboot driver API. This would offer *no* benefits other than being able to implement the full PXE API, and would have significant downsides in that Etherboot drivers would have to become a lot more complicated. (For a start, they'd have to use interrupts instead of polling.) PXE emulation, in the sense of implementing part of the PXE API, is probably a better goal than a full PXE implementation. > The code degraded before it made it into a production release. > There may be a point in the cvs archive where the code works though. > The core of the code looks o.k. but there are a few places where > the code is likely to still have issues. > The biggest problem is that the code depends on bsd specific headers > and will never compile under anything else. If you could fix > that the code is more likely to be maintained. There is now a copy of pxe.h from FreeBSD in Etherboot CVS, under arch/i386/include. I used it when writing the Etherboot UNDI driver. It's been edited slightly; I corrected several typos and one alignment bug. If this is the only header required, then we've now got it. Michael |