GSoC/GCI Archive
Google Summer of Code 2009

Etherboot Project

Web Page:

Mailing List:

Etherboot Project creates Open Source software that allows computers to be booted over a network. This is useful in a variety of applications such as schools, banks, clusters, kiosks, and other situations which benefit from centralized administrator and maintainance of OS images. gPXE is our state-of-the-art network bootloader which combines PXE compatibility with features such as HTTP booting and iSCSI and AoE booting.


  • 802.11 infrastructure and drivers I propose to design an infrastructure for 802.11 cards to be used by Etherboot, and as many drivers for it as I have time for. Currently there is only one driver for any 802.11 device (prism2) and it's out-of-date and unsupported by any 802.11 infrastructure. My work will expose parameters like SSID and encryption settings, and handle the high-level parts of 802.11 to lessen the difficulty of writing drivers. To make it useful I will implement some of those drivers myself.
  • Automated regression testing There is currently no automated way to test gPXE's features. This project would involve implementing an automated regression testing framework to test gPXE's features, both in virtual machines and on real hardware. This would allow gPXE developers to ensure their modifications do not break existing functionality, and it would allow third-party vendors to verify that their particular hardware works with gPXE.
  • - Universal remote network booting for the masses Project aims for creation of website, which can be used by any user for creating and downloading customized boot images, system tools, utilities and network installation images based on needs. It will also support HTTP based booting with PXELinux and allow users to customize the system using the flexibility of interface provided be Syslinux and boot from it without installation. We plan to enable normal users to experiment with different tools, utilities and system images without any hassles.
  • Enhancing the Scripting Language in Etherboot gPXE currently features a limited command language. A more powerful scripting language would allow users to specify boot policies or other customizations as a script, without having to understand gPXE completely, or having to edit its code. The following features seem indicated: boolean operators bitwise operators conditional branches arithmetic operations temporary variables The exact structure needs to be identified and refined, so as to be intuitive and efficient at the same time.