[coreboot] Top Makefile

David Hendricks dhendrix at google.com
Tue Aug 10 00:40:42 CEST 2010

On Mon, Aug 9, 2010 at 8:17 AM, ali hagigat <hagigatali at gmail.com> wrote:

> I want to know how coreboot.rom,  means the final product is built.
> What rule makes it and where is it? How its format is CBFS while this
> format seems unknown for GNC tool chain like gcc?

The short answer is that you should check
see how the various Coreboot-related targets are built. Many modules
be built separately, sometimes with different compilers (e.g. ASL) and with
different rules, and then formed into a single image at the end. This can
appear ugly at first (especially when you dive into the Makefiles), but in
fact it's a relatively elegant solution for the nature of Coreboot.

You are correct that the final coreboot.rom file is not a normal executable.
It is more akin to an archive -- CBFS is essentially a simple archive

Coreboot currently uses the Linux kernel build system. If you are truly
interested in this subject, I recommend reading the Linux kernel build
system documentation:
If you have lots of patience (or hair to pull), I suggest adapting the
Kernel build system to configure and build a "hello world" program ;-)

There are several steps and if you are not already intimately familiar with
GNU Make and the Linux kernel build system then this is not a good place to
start. I do not mean to sound rude, but the Linux and Coreboot build systems
are much more complicated than a make or gcc commands you may be familiar
with from small projects.

David Hendricks (dhendrix)
Systems Software Engineer, Google Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20100809/8085c0be/attachment.html>

More information about the coreboot mailing list