This is an old revision of the document!


Google Summer of Code

Etherboot project has been participating in Google Summer of Code since 2006.

Some boot ROMs

General Information

We (the Etherboot Project) create network booting code (gPXE) that allows computers to load their operating system from a network. gPXE can be stored in a number of places, including BIOS Flash, EPROMs, floppy, CD, HD, or other bootable media. The project has been around since about 1993.

We have a number of areas we can use help with. Since our focus is on creating network boot code, it is important that you be comfortable with low-level programming – that is, C and possibly some x86 assembler (though this is not essential for many projects, and you can pick it up as you go along). You should also understand that efficiencies of code size, runtime size, and execution speed are important to us. Low-level, or “bare-metal” programming requires patience and focus, but the sense of control and deep understanding of what is happening, and why, can be very exhilarating.

Project Ideas

Our project ideas page is here.

For information about a specific year please choose below:

Where to find us

We generally hang out in the #etherboot channel on the FreeNode IRC network (irc.freenode.net). Please feel free to drop in and ask questions, discuss ideas, etc. We talk to all applicants individually as part of the selection process and, if we accept you as a Summer of Code student, we'll expect to talk to you in the IRC channel at least every couple of days.

Our mentors for Summer of Code are:

  • Marty Connor [mdc] (Project Leader, Developer, Etherboot Project)
  • Michael Brown [mcb30] (Lead Developer, Etherboot Project)
  • H. Peter Anvin [hpa] (Project Leader, Lead Developer, Syslinux Project)

You can reach the mentors directly via e-mail using soc-mentors@etherboot.org. There is also an Etherboot project mailing list (https://lists.sourceforge.net/lists/listinfo/etherboot-discuss; you must subscribe before posting).


QR Code
QR Code soc:start (generated for current page)