[gPXE] gPXE-1.0.0 released

Marty Connor mdc at etherboot.org
Wed Feb 3 15:24:24 EST 2010


Hello Everyone,

After over five years of development I am pleased to announce the release
of gPXE 1.0.0 by the Etherboot Project.

This release is a significant milestone for us.  What began as an
attempt to create an Open Source PXE implementation has far exceeded
our original goals.

=== About gPXE ===

gPXE is the most capable and state-of-the-art network booting software
available today.  A complete list of gPXE's capabilities is quite long,
but here are some highlights:

  - Ability to network boot Linux, Windows, and various other OSes.
  - HTTP booting (in addition to standard TFTP)
  - SAN boot capability (iSCSI and Aoe)
  - Infiniband support
  - DNS support for lookup of hostnames
  - 50+ families of network adapters supported (700+ variations)
    including several 10GB adapters
  - 802.11 Wireless booting support
  - Command-line interface
  - Scripting support
  - Can be built as ISO, Floppy, or ROM image
  - Can be flashed into BIOSes and NICs with on-board flash to
    replace OEM PXE drivers
  - Embedded Image support
  - Serial Console support
  - UNDI driver support

That is just a small sample of features that gPXE contains.

=== Thanks ===

I would like to take this opportunity to recognize and thank two people
who have made extraordinary contributions to the development of gPXE:

 - Michael Brown (mcb30), for his excellent engineering work on gPXE.
   His vision, skill, and tenacity have been vital to making gPXE the
   world class piece of software that it is.

 - H. Peter Anvin (hpa), for his guidance and encouragement of gPXE development.
   Implementing a FOSS PXE stack was something that he supported very early
   on, and he has continues to provide good advice and constructive
   criticism.

The list of contributors to gPXE is large, and we are fortunate to have
a community as supportive as ours.  

I would like to particularly thank our core development team:

    Stefan Hajnoczi (stefanha)
    John Hawley (warthog9)
    Thomas Miletich (meteger)
    Shao Miller (sha0)
    Joshua Oreman (rwcr)
    Daniel Verkamp (drv)

who have enthusiastically given far more than I could ever ask of 
them to this release, and for their ongoing commitment to creating 
excellent network booting software.

I would also like thank our Google Summer of Code students over the 
last 4 years for your contributions to gPXE:

2006: Alan Shieh, Derek Pryor, Fredrik Hultin, Nikhil Chandru Rao
2007: Alexey Zaytsev, Daniel Verkamp, Holger Lubitz, Udayan Kumar
2008: Balaji Rao, Daniel Verkamp, Michael Decker, Stefan Hajnoczi
2009: Chris Kluka, Daniel Verkamp, Joshua Oreman, Lynus Vaz, Pravin Shinde

Etherboot Project GSoC home page: http://etherboot.org/wiki/soc/start

And special thanks to everyone on our IRC channel #etherboot on irc.freenode.net
for your help debugging issues, and for your general good humor.

Creating Free and Open Source Software is very much about code and
community, and we are fortunate to have excellent quality in both.

We value your feedback.  Please join us via email and/or IRC, and let us
know how things go.

Many Thanks and Best Regards,

/ Marty /

=== Convenience Links ===

Etherboot Project main website

     http://etherboot.org/

Etherboot Project support website:

     http://support.etherboot.org/

gPXE Binaries may be generated at:

     http://rom-o-matic.net/

gPXE Source code is available at:

  Git Repository:

     git://git.etherboot.org/scm/gpxe.git

  Gitweb interface:

     http://git.etherboot.org/?p=gpxe.git;a=summary

  Tarball releases:

     http://kernel.org/pub/software/boot/gpxe/


=== Changes from gPXE-0.9.9 ===

Here are the key user-visible changes:

New commands: iwstat and iwlist for wireless management.  New drivers: skge
and myri10ge.  WEP, WPA, and WPA2 wireless encryption support.    New settings
variables: "netX" for last opened netdev and "netX/busid" for network device
bus ID.  New special image types: .hrom and .xrom to work around BIOS
limitations.

And here is the shortlog, useful for more detailed release notes:

Alex Williamson (1):
      [e1000] Use the alternate MAC in NVRAM when available

Bernhard Kohl (1):
      [pci] Save and restore PCI command register

Glenn Brown (2):
      [pci] Add PCI_COMMAND_INTX_DISABLE
      [myri10ge] Native driver for Myricom 10Gb Ethernet NICs

Joshua Oreman (36):
      [atl1e] Fix compilation on gcc-4.4.1-2.fc11.i586.
      [pxebs] Correct endianness of PXE type
      [pxebs] Consistently interpret PXE type field as little-endian
      [linker] Expand and correct symbol requirement macros
      [linker] Add mechanism for subsystem-dependent configuration options
      [digest] Add generic CRC32 function
      [cipher] Add the ARC4 stream cipher
      [digest] Add HMAC-SHA1 based pseudorandom function and PBKDF2
      [crypto] Add parentheses around len argument in blocksize assert
      [crypto] Make AES context size and algorithm structure externally available
      [crypto] Add AES key-wrap mode (RFC 3394)
      [crypto] Add a placeholder for a proper random number generator
      [802.11] Add core support for detecting and using encrypted networks
      [iwmgmt] Add wireless management commands and text for common errors
      [802.11] Add support for WEP-protected networks
      [eapol] Add basic support for 802.1X EAP over LANs
      [wpa] Add general support for WPA-protected 802.11 networks
      [wpa] Add pre-shared key frontend (WPA "Personal" with just a passphrase)
      [wpa] Add TKIP backend (legacy RC4-based cryptosystem)
      [wpa] Add CCMP backend (new AES-based cryptosystem)
      [config] Enable WPA2 by default
      [802.11] Allow connecting to spectrum managed networks
      [prefix] Add .hrom prefix for a ROM that loads high under PCI3 without PMM
      [makefile] Allow .sizes target to work with funny-named objects
      [util] Add diffsize.pl utility for generating diffs of object sizes
      [dhcp] Accept ProxyDHCP replies of type DHCPOFFER
      [dhcp] Assume PXE options are in DHCPOFFER only if boot menu is included
      [linker] Add safe weak symbol macros
      [pxe] Separate parent PXE API caller from UNDINET driver
      [dhcp] Add generic facility for using cached network settings
      [pxe] Support cached DHCP packets in .kkpxe images
      [config] Make PXE stack a compile-time option
      [prefix] Add .xrom prefix for a ROM that loads itself by PCI accesses
      [settings] Add automagic "netX" settings block for last opened netdev
      [uri] Decode/encode URIs when parsing/unparsing
      [dhcp] Keep multiple DHCP offers received, and use them intelligently

Marty Connor (5):
      [contrib] Move most contrib content to a separate repository
      [contrib] Add rom-o-matic to contrib
      [contrib] Add .hrom format to rom-o-matic
      [contrib] Add README file to rom-o-matic

Michael Brown (19):
      [netdevice] Add the concept of an "Ethernet-compatible" MAC address
      [iscsi] Use the "Ethernet-compatible" MAC address in the iBFT
      [sanboot] Extend the "keep-san" option to non-iSCSI SAN protocols
      [libc] Use only generic errortab entries to match generic errors
      [ipv4] Use a zero address to indicate "no gateway", rather than
INADDR_NONE
      [ipv4] Allow calculation of default subnet mask
      [ipv4] Ignore non-open net devices when performing routing
      [infiniband] Make node description invariant across all ports
      [infiniband] Include hostname in node description, if available
      [infiniband] Report IB link status as IPoIB netdevice status
      [infiniband] Rename IB_PKEY_NONE to IB_PKEY_DEFAULT
      [ipoib] Always set the "full membership" bit in the IPv4 broadcast GID
      [ipoib] Mask out non-QPN bits in the IPoIB destination MAC when sending
      [linda] Wait up to 20us for link state to update
      [susieq] Update qib_genbits.pl to handle SusieQ definitions
      [linda] Re-import the latest register definitions
      [autoboot] Ensure that an error message is always printed for a
boot failure
      [int13] Fix number of sectors returned by INT 13,15
      [int13] Guard against BIOSes that "fix" the drive count

Shao Miller (5):
      [e820mangler] Add missing CLC ins. for success path
      [settings] Add Bus ID setting
      [dhcp] Ensure message type is first DHCP option
      [dhcp] Append new DHCP options versus prepend
      [pxe] Introduce PXE exit hook for NBP chaining

Stefan Hajnoczi (8):
      [multiboot] Build memory map after shutting down and unhiding gPXE
      [build] Pad .hd image type to 32 KB
      [tftp] Allow fetching larger files by wrapping block number
      [tftp] Remove unnecessary delay when opening a connection
      [sanboot] Prevent leaking a stack reference for "keep-san" AoE
      [tftp] Abort requests with error code 0
      [natsemi] Convert stray mmio readl() to pio inl()
      [rtl818x] Remove broken mmio register support

Thomas Horsten (2):
      [forcedeth] Add support for 10de:054c nforce 630a, MCP 67
      [tftp] Make TFTP size requests abort transfer with an error

Thomas Miletich (10):
      [sis190] Make 'make allroms' happy.
      [sis190] Insert forgotten FILE_LICENCE() to sis190.h
      [sis190] Hide the ISA bridge's PCI IDs from parserom.pl
      [e1000] Implement zero-copy receive
      [eepro100] Convert to native gPXE API
      [e1000] Enable interrupts in a more UNDI compatible way
      [eepro100] Add missing FILE_LICENCE() to eepro100.h
      [e1000] Remove deprecated IRQ_FORCE action from e1000_irq()
      [3c90xutil] Update bromutil.c and cromutil.c.
      [skge] Add driver for skge NICs

gL2n30Y06arv2 (1):
      [ftp] User and password URI support for the FTP protocol

sobtwmxt (1):
      [uri] Fix outdated comment in parse_uri()





More information about the gPXE mailing list