[coreboot] .sv folder, and compiling coreboot

Peter Stuge peter at stuge.se
Mon Aug 9 09:51:09 CEST 2010


These threads have already gotten replies, but I had a half-written
reply which I finished now.

Ali, don't send email directly to individuals (you sent to Corey) -
make sure to keep the discussion on the mailing list. You can use
Reply to All in your email software, but I find it much better to use
a program which actually *understands* mailing lists, in which case
you will have a Reply to List function which avoids sending
duplicates directly to other list participants.


ali hagigat wrote:
> There is a .svn folder with some files and folders.
> How they are created?

This has nothing to do with coreboot. They are a property of the
version control system called subversion which is used for the
project. If you have never used svn before you could benefit from
studying it's documentation. There's a book available as PDF and
HTML; try "svn book" on google.com.


ali hagigat wrote:
> If i execute only this command at the root folder of Coreboot
> source tree : make
> 
> Will the project be compiled with GCC of the system or GCC of the
> system will be patched and changed or it will be compiled exactly
> with regular GCC of the linux operating system?

Your question doesn't make sense; you ask the same thing twice, which
suggests a lack of understanding about how GCC fits into a Linux
system. This *will* get you completely different replies than you
hope for.

How you ask questions and what details you ask about are almost the
only ways that you can express yourself on a mailing list.

I think it is important when coming into a group to indicate either
that:

1. You are already on a level similar to the group, e.g. by asking
relevant questions about things where the group has a consensus that
status quo is not very clear nor easy to understand - and in general
asking questions, making comments or producing materials that benefit
the group.

or that:

2. You are aware that you are climbing a learning curve in order to
become efficient within this group at a later time. In this case you
could have a very difficult time ahead of you, because software
projects in general today, and open source projects in particular,
tend to be fairly advanced, and unless you are also very advanced
then there's a knowledge gap.

*You* have to work hard to bridge that gap - other project members
have *NO* obligation whatsoever to hold your hand, unless you would
happen to hire someone of them as your teacher.

Please read the license for coreboot. There is no promise of
education.

With open source projects it's pretty common that someone in the
project can offer you commercial training, and I think that's a
fantastic way to learn efficiently if you have the budget, but not
everyone does.

It's also common that people are willing to answer questions about
the project, maybe in particular about parts which are admittedly
difficult to understand or those which may not be documented so well.
Please remember that this is a luxury. If your attitude really is to
assume from-zero-to-contributor-education from every project then you
will definately be disappointed quite frequently! Again; it's
important to educate yourself and ask the right questions. If you can
not, then maybe it's a good idea to first pursue another project with
fewer unknowns, and return later.


I'll try to answer what I guess your question is about:

The coreboot build system can use the toolchain in your system, but
our experience is that it usually does not work. Many distributions
have patched the toolchains so that it becomes unusable for building
coreboot. (Toolchain crashes, or generates corrupt machine code.)

In order to use a known good toolchain it is recommended that you run
util/crossgcc/buildgcc, which builds a GCC toolchain without patches
that should work. coreboot should find that toolchain automatically,
but I'd recommend running rm -rf build && make menuconfig once, after
building the toolchain, to be sure that the build system discovers
the new toolchain. (Settings are stored in the .xcompile file. You
will already know that this is a hidden file.)


> Besides will be the object files in elf format and when they are
> linked?

Intermediate files are ELF object files, but at the end of the
coreboot build process (did you try to run it? did you analyze what
steps it actually performs?) a coreboot.rom file is created, which
uses the CBFS file format, as suggested by the CBFSTOOL command that
concludes the build.

Please spend time to educate yourself about the coreboot build
process. It was a little unusual in version 2, but the way things are
now you should find it much easier to understand; it is based on the
same methods and tools (Kconfig and Makefile) as many other projects.


> Is there any possibility for other formats?

No. The coreboot build system always produces a CBFS file.


//Peter




More information about the coreboot mailing list