GSoC/GCI Archive
Google Summer of Code 2010

coreboot

Web Page: http://www.coreboot.org/GSoC

Mailing List: http://www.coreboot.org/mailman/listinfo/coreboot

coreboot (formerly known as LinuxBIOS) is a Free Software project aimed at replacing the proprietary BIOS (firmware) you can find in most of today's computers. It performs just a little bit of hardware initialization and then executes a so-called payload. With this separation of hardware initialization and later boot logic, coreboot is capable of scaling from specialized applications run directly from firmware, operating systems in Flash, and custom bootloaders to implementations of firmware standards like PCBIOS and EFI without having to carry features not necessary in the target application, reducing the amount of code and flash space required. We currently support 213 different mainboards.

Projects

  • coreboot mass-porting to AMD 780 series mainboards AMD 780 has initial been supported by coreboot. But there is only one kind of 780 mainboard --mahogany is sucessful ported. It is neccsary to port coreboot to series AMD 780 mainboards.
  • flashrom 1.0 Implement features desirable for a flashrom 1.0 release. - Partial flashing for all chips with the best possible granularity - Support Nvidia MCP6*/MCP7* series SPI - Support multiple flash chips on the same board - Support non-x86 architectures - Support more external programmers - Automatic full chip test mode - Assisted recovery and better diagnostics in case flashing fails Optional: - Remote flashing for early coreboot recovery - Ability to run flashrom on top of libpayload
  • Payload infrastructure coreboot now use kconfig to build the whole project.But the libpayload is not included in the kconfig tree. The main job of this project is adding payload build support to the coreboot kconfig and crossgcc build which would make the project as an whole by the kconfig.After that there is no need to build coreboot and payload alone. my additional work may including 1)generate an Bill of Materials (BoM) for the build. 2)add readline support for filo, which would make the interface more humanize.
  • Proposal to get Tiano Core working as a Coreboot payload My proposal is to get Tiano Core working as a payload in coreboot. Tiano Core is the open-source part of Intel's implementation of an Extensible Firmware Interface (EFI). From chatting on IRC, I can see there is a great deal of interest in the coreboot community in getting Tiano Core running properly as a payload, as this would allow coreboot users to gain all the advantages of having EFI.
  • USB drivers for libpayload Develop drivers for USB: OHCI (USB1) and xHCI (USB3), under BSD-license. These drivers shall fit in the USB driver framework and reuse the existing USB drivers in libpayload.