The wiki is being retired!
Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!
Google Summer of Code 2009
Welcome to the Google Summer of Code(tm) page of the coreboot project.
Your own Projects
We've listed some ideas for projects here, but we're more than happy to entertain other ideas if you've got any. Feel free to contact us under the address below, and don't hesitate to suggest whatever you have in mind.
Infrastructure for automatic code checking
We already have a build bot that builds various configurations of coreboot. It would be nice to extend it with various code validation routines, for example:
- Validate that there's no regression in doxygen documentation (eg. are all arguments to functions still explained in @param tags, eg. after new arguments were added?)
- Make code lint clean (and maybe extend lint to not fall into our traps), and run lint over the tree. Report regressions
- Use LLVM's static code checking facilities, report regressions.
- Work on code coverage support for coreboot code (dump data into ram, or via serial. Provide tools to fetch it). Analyse that data.
- LLVM tools: Clang static analyser, SSA assertion checker
- Lint tools: Splint
VGA BIOS for Geode LX
This project's goal is to write a VGA BIOS (PCI option rom) for AMD Geode LX systems (such as the Linutop, Thincan or XO). There exists a free VGA BIOS but it knows nothing about real hardware. If you really want to kick the iron, this project could be enhanced to contain a complete infrastructure for including hardware initialization code for many different graphics cards.
USB Option ROM for SeaBIOS
SeaBIOS is our latest and greatest way to boot all kinds of different operating systems. It is a coreboot payload that implements 16bit BIOS interrupts as they are needed by nearly all boot loaders today. In the last year, SeaBIOS learned how to cope with coreboot ACPI, and how to boot off SCSI drives. One major feature that we're desperately lacking is USB stick booting from SeaBIOS.
TianoCore on coreboot
Tiano Core is Intel's EFI implementation. Unlike coreboot, it is not a firmware, but rather a bootloader. Last year we started porting TianoCore to run on coreboot, but there are many things left to do. Improve Tiano Core running as a coreboot payloads, or change coreboot so it can load Tiano Core as a payloads.
This project requires no hardware skills, but especially in case of TianoCore might require knowledge of Windows compilers (VC2005?)
There are many, many "payloads" for coreboot these days: Linux, FILO, GRUB2, Tiano Core, Open Firmware, etherboot, and some more to count. All these payloads have a few functions in common that they use to read information from coreboot or change coreboot settings in NVRAM. It would be incredibly useful to unify all this code and enhance it, so that not every coreboot payload has to keep reinventing the wheel.
Previous Summer of Code projects
We successfully participated in Google's Summer of Code in 2007 and 2008. See our list of previous GSoC projects.
Summer of Code Application
Please complete the standard Google SoC 2008 application. Additionally, please provide information on the following:
- Who are you? What are you studying?
- Why are you the right person for this task?
- Do you have any other commitments that we should know about?
- List your C, Assembler or Java experience. (Depending on the project)
- List your history with open source projects.
- What is your preferred method of contact? (Phone, email, Skype, etc)
Feel free to keep your application short. A 15 page essay is no better than a 2 page summary. If you wish to write 15 pages, you are of course welcome to do so, and we will gladly put your paper up on the web page. But it is not required for the application.
The Drupal project has a great page on How to write an SOC application.
DEADLINE FOR STUDENT APPLICATIONS: Students who are interested in working on a coreboot-related GSoC project must apply between March 24, 2008 and March 30, 2008!
If you are interested in becoming a GSoC student, please contact Stefan Reinauer.
There is also an IRC channel on irc.freenode.net: #coreboot