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
socideas [2006/04/28 08:24]
mdc
socideas [2006/05/16 08:08] (current)
Line 1: Line 1:
-====== ​Google ​Summer of Code ideas for Etherboot/​gPXE ​======+====== Summer of Code Home Page Moved ======
  
-Here you will find some ideas for projects for students wishing ​to particpate in Google Summer of Code with the Etherboot Project.+This page has been moved to [[soc]]
  
-===== Background Information ===== 
- 
-First, a little background. 
- 
-You should know that we, the [[http://​etherboot.org/​|Etherboot Project]], create network booting code, which allows computers to load their operating system from a network. ​ Our code can be stored in a number of places, including BIOS Flash, EPROMs, floppy, CD, HD, or other bootable media. 
- 
-The next version of our code will be called "​gPXE"​. ​ Up to this point, our code has been called "​Etherboot",​ which is also the name of our project. Another piece of software we maintain is "​mknbi",​ which creates files in "​.nbi"​ format, or "​Network Bootable Image" format. 
- 
-Finally, we operate the [[http://​rom-o-matic.net/​]] website, which dynamically generates Etherboot (soon to also be gPXE) images in a variety of formats. 
- 
-We have a number of areas we can use help with.  Since our focus is creating network boot code, it is important that if you want to help with coding you be comfortable with low-level programming -- that is, C and possibly some x86 assembler. You should also understand that efficiencies of code size, runtime size, and execution speed are important to us.  Bare-metal programming requires patience and focus, but the sense of control and understanding can be very exhilarating. ​ 
- 
-The [[http://​rom-o-matic.net/​]] site is written in PHP, so if you would like to help with that, you would need to be able to write PHP as well as HTML, and whatever other languages will facilitate web programming. 
- 
-You can download Etherboot code from our [[http://​www.sourceforge.net/​projects/​etherboot|SourceForge Project Page]]. ​ You may also wish to join the 
-[[https://​lists.sourceforge.net/​lists/​listinfo/​etherboot-discuss|Etherboot-Discuss]] mailing list, or browse our 
-[[http://​sourceforge.net/​mailarchive/​forum.php?​forum=etherboot-discuss|Archives]] to see what sorts of things we are doing. 
- 
-===== Mentors ===== 
- 
-Marty Connor, Michael Brown, Georg Baum 
- 
-===== Project Ideas ===== 
- 
-Here are some ideas for projects for Google Summer of Code students: 
- 
-  * Add a device driver for an unsupported network card to Etherboot/​gPXE. This will require understanding the network card driver API for gPXE, and implementing the required routines to enable an Ethernet card to be controlled by gPXE. 
- 
-  * Finish the e1000 gigabit driver update which is in progress. 
- 
-  * Add PCMCIA network booting support to Etherboot/​gPXE. ​ This would include PCMCIA and Cardbus support, and at least one wireless network driver. 
- 
-  * Add a command line interface to gPXE to allow interactive network booting and debugging of protocol negotiations and image downloading,​ as well as setting parameters to be used during booting operations. ​ Design of command syntax and functionality is an important part of this project. 
- 
-  * Update [[http://​rom-o-matic.net/​]] to support gPXE image builds. ​ Improve the user interface of the site to make navigation easier, and to save configuration choices for future builds. 
- 
-  * Add secure network booting support for gPXE.  This would involve creating a secure network connection between the network client and server, and/or loading signed binaries. 
- 
-  * Implement an UNDI network device driver for Linux. ​ This would enable Linux to boot from any PXE stack (including gPXE), and would greatly improve the ease of use of network-booted Linux. 
- 
-  * Extend gcc's i386 backend to support 16-bit code.  This would substantially reduce the size of gPXE's compiled binary, and would increase the range of object code environments for which gcc can be used. 
- 
-  * Add a new network protocol, such as https, ftp or smb. 
- 
-  * Develop an automated regression test framework and initial suite of tests. 
- 
-  * Port gPXE to a new CPU architecture,​ e.g. an embedded system. 
- 
-  * Implement support for IPv6. 
- 
-  * Investigate optimisations to further reduce the code size.  We already use most of the obvious techniques, so this project would require some creativity. 
- 
-  * Implement an API for reading and writing non-volatile storage (Flash and EEPROM) on network cards. ​ This would allow user preferences to be stored on the cards. 
- 
-  * Implement a user interface for setting preferences,​ such as static IP addresses, default boot protocol and filename, etc. 
- 
----- 
  

Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code socideas (generated for current page)