Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
soc [2008/03/12 16:52]
mcb30
soc [2011/05/22 04:49] (current)
Line 1: Line 1:
-====== Google Summer of Code 2008 ======+====== Google Summer of Code ======
  
-**The Etherboot ​Project is applying to participate ​in Google'​s 2008 [[http://​code.google.com/​soc/|Summer of Code]] ​project!**+The [[http://​etherboot.org/​|Etherboot ​project]] has been participating ​in [[http://​code.google.com/​soc|Google ​Summer of Code]] ​since 2006 and has been generously accepted again for 2010.
  
-We, the [[http://etherboot.org/|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.+{{ :bootroms.jpeg?​350×190|Some boot ROMs}}
  
-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. ​+==== General Information ====
  
-===== Where to find us =====+We (the [[http://​etherboot.org/​|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 generally hang out in the ''#​etherboot''​ channel ​on the FreeNode IRC network (irc.freenode.net).  ​Please feel free to drop in and ask questionsdiscuss ideasetc.  ​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.+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 sizeruntime sizeand execution speed are important to us.  ​Low-level, or "​bare-metal"​ programming requires patience ​and focusbut the sense of control and deep understanding of what is happening, and why, can be very exhilarating
  
-We also have a mailing list ([[https://​lists.sourceforge.net/​lists/​listinfo/​etherboot-discuss]];​ you must subscribe before posting).+==== Project Ideas ====
  
-===== Project ​ideas =====+Our project ​ideas page is [[soc:​ideas|here]].
  
-This list is not exhaustive, and we welcome new suggestions. ​ Some of these ideas are not in themselves complete projects; feel free to ask us how much work is likely to be involved, and how many ideas you might sensibly attempt as Summer of Code project.+==== For information about specific year please choose below: ====
  
-==== Device drivers ​====+  * [[soc:​2011:​]] 
 +  * [[soc:​2010:​]] 
 +  * [[soc:​2009:​]] 
 +  * [[soc:​2008:​]] 
 +  * [[soc:​2007:​]] 
 +  * [[soc:​2006:​]] 
 +==== Where to find us ====
  
-gPXE is always ​in need of more device drivers. ​ In the case of network ​card drivers, existing drivers and Linux kernel drivers are available as starting points Data sheets are also generally available for most NIC variations, though such documentation is sometimes unreliable.  ​You could: +We generally hang out in the ''#​etherboot''​ channel on the FreeNode IRC network ​(irc.freenode.net).  ​Please feel free to drop in and ask questionsdiscuss 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.
- +
-  * Update some of the old Etherboot drivers ​to work with the new gPXE driver API.  All drivers are written ​in C, and you will need to have hardware (network cardsserver and client computers) to test driver changes.  ​(We may be able to provide some of the required cards for development ​and testing.) +
- +
-  * Add support for newer network card variants to an existing gPXE driver. +
- +
-  * Add a device driver for a newcurrently-unsupported network card to gPXE. +
- +
-If you are feeling more adventurous,​ and have access to appropriate hardware, you could: +
- +
-  * Add a driver for a wireless network card.  There is some out-of-date support for one type of 802.11b wireless card; you could expand this into a general framework for wireless networking, and add drivers for one or more modern wireless NICs. +
- +
-  * Add a non-Ethernet driver, e.g. a driver for an Infiniband card.  (gPXE does have a working Infiniband subsystem.) +
- +
-  * Fix up the support for legacy bus types such as ISAPnP. ​ These devices are allegedly supported, though most have not been tested for many years, and it is unlikely that the current code is in working state. +
- +
-  * Add support for a new bus type, e.g. PCMCIA or USB. +
- +
-==== Protocols ==== +
- +
-==== Automated regression testing ==== +
- +
-gPXE has a relatively large feature set given the code size.  Many features are rarely used, and there has been a tendency for parts of the code to suffer from bit-rot. ​ The measures we have taken so far will ensure that we never end up with unbuildable code; we now avoid the use of #ifdef wherever possible, and have automated tests in place to identify missing or redundant symbols. ​ However, we do not have any systematic method for functional testing.  +
- +
-We would ideally like to be able to run a series of tests to verify different functional units (e.g. http download, Linux kernel booting, PXE booting, serial console support, etc.). ​ Most of these tests can be carried out inside a virtual machine such as bochs or qemu.  Some tests (e.g. specific device driver tests) will need to be carried out on real hardware. ​ The tests should be fully automated, and should produce a clear pass/fail status indicator. ​ It should be possible for a developer to simply run “make test” and, some time later, receive an overall pass/fail status, together with a list of any failed tests.  +
-Having such an automated test suite would enable us to offer quality control guarantees; we could then be confident that upgrades would not break existing functionality. +
- +
-==== Other ideas ==== +
- +
-  * [[soc:​ideas:​misc | Miscellaneous other ideas]] +
- +
-Please drop in to our IRC channel, #etherboot on irc.freenode.net,​ or send a message to our mailing list [[https://​lists.sourceforge.net/​lists/​listinfo/​etherboot-discuss | Etherboot-Discuss]],​ (you have to join to post), to discuss your ideas. +
- +
- +
- +
-===== Student Information ===== +
- +
-Here are some links to information for students interested in our project: +
- +
-  * Here is some [[soc:​background | Background Information]] about our project. +
-  * We have assembled some [[soc:​student_info | Student Information Resources]] you may find helpful. +
-  * Here are some [[soc:ideas | Project Ideas]] for Summer ​of Code proposals. +
- +
-===== Mentors =====+
  
-Our Mentors ​for Google ​Summer of Code are:+Our mentors ​for Summer of Code (with their IRC nicknames) ​are: 
 +  * Marty Connor [''​mdc''​] (Project Leader, Developer, Etherboot Project) 
 +  * Stefan Hajnoczi [''​stefanha''​] (Developer, Etherboot Project) 
 +  * Gene Cumm [''​genec''​] (Contributor,​ Etherboot Project)
  
-  * Marty Connor, Project Leader, Developer, Etherboot Project +You can reach the mentors directly via e-mail using <​soc-mentors@etherboot.org>​. ​ There is also the [[https://​etherboot.org/​mailman/​listinfo/​gpxe|gPXE mailing list]] (you must subscribe before posting).
-  * Michael Brown, Lead Developer, Etherboot Project +
-  * HPeter Anvin, Project Leader, Lead Developer, Syslinux+
  
-If you have questions about participating in Google Summer of Code with us, you can reach us via email at: <​soc-mentors@etherboot.org>​. 
  
-We hope you have enjoyed reading about the [[http://​www.etherboot.org/​|Etherboot Project]], and we thank you for visiting! 

QR Code
QR Code soc (generated for current page)