[coreboot] Need help to get started
peter at stuge.se
Fri Jun 27 14:41:23 CEST 2008
On Fri, Jun 27, 2008 at 06:13:11PM +0800, Star Liu wrote:
> I'm a newbie in the free software world(I was a web developer on
> the microsoft .net framework for the past 4 years), though I have
> some knowledge about programming, I'm not familiar with the develop
> environment of free software.
The tools we use are GCC, GNU binutils and GNU make. These are
"low-level" tools: compiler, linker, and build scripts, but they are
the least common denominator. Individual developers are free to
choose whatever IDE they prefer, as long as the base tools are the
That said, coreboot v2 does not fit very well into any IDE because it
uses a special-purpose utility that was developed within the project
as part of the build process. This has been removed in v3.
> I have always been willing to develop free softwares, and I hope I
> can join the coreboot development as my start.
Certainly. You are very welcome!
> Could you give me some suggestions so that I can get into the
> coreboot development?
Find a mainboard that is supported in coreboot, and pick a known
problem that you would like to work on fixing.
Note that coreboot also supports the QEMU mainboard, so you can get
away with a pure free software solution if you do not have easy
access to hardware. Also, QEMU is much easier to restore than a flash
chip that does not boot the system, as will undoubtedly happen
sometime while working on coreboot.
> Here is some introduction to my current skills.
> 1. I'm very interested in UEFI/BIOS development.
> 2. Familiar with <Intel(R) 64 and IA-32 Architectures Software
> Developer's Manuals>, the description of Intel(R) 64 and IA-32
> 3. Program in x86_64 Assembly, C, C++ and C# Language.
> 4. Use Debian GNU/Linux Lenny AMD64 as my personal PC operating
There is only a little assembly in coreboot, the majority of the
project is written in C. The assemly code deals with some well-known
issues (switching between real mode and protected mode) and for v3
one major new thing which is setting up Cache-as-RAM on each
I recommend reading the FAQ on the project wiki:
Even though it is a little outdated in places, it still contains a
great deal of useful information. When you are ready to send patches
to the project, please have a look at:
More information about the coreboot