[coreboot] Regarding How-To for new board support

Peter Stuge peter at stuge.se
Tue Aug 14 19:37:34 CEST 2012

Andrey Gursky wrote:
> Anton encourages the russian speaking part of linux users to write to
> the list to get help of supporting a new mainboard. Did somebody write
> in the past?

Not many AFAIR.

> Maybe there are not a lot of people ready to try coreboot, because of:
> "Make changes to the board configuration, ACPI or IRQ routing etc etc
> until you find the proper settings. This can take from an hour of time
> to a few months based upon your coding skills and hardware issues."
> And this is the citation for "a new board with the *same* cpu family,
> chipset and superIO". Would you please be more precise, writing
> How-To?

That's not really possible. The effort required varies vastly
depending on many factors, and how long it takes varies vastly with
the developer's experience and skills.

The closer your hardware is to another hardware which is already
supported, the less work has to be done.

If someone does not have suitable experience and skills to work
efficiently on coreboot then of course it does not matter that only a
little bit of work needs to be done.

There have been many posts to the mailing list by initially
inexperienced people who have tried to learn. It shows very
quickly, sometimes already in the first email, if the person
is able to make some progress or not, and once it is clear that there
is progress (a good way is to push unfinished commits into gerrit!)
then the more experienced community members usually always help out.

> I own a Gigabyte ga-990xa-ud3 board [1], based on
> Northbridge: AMD 990X
> Southbridge: AMD SB950
> SuperIO: ITE IT8720F
> BIOS: Macronix flash chip "MX25L3205"

Look at the mainboards in the coreboot git tree which have similar
configuration, and study how they have been implemented. Note that
890 and 990 are one and the same. 990 is strictly a marketing alias
for mainboard vendors who wish to communicate upwards compatibility
with newer CPUs which may not be supported by all 890 mainboards -
but which *are* supported by the chipset.

> By the way, what can be read from the original BIOS image?

Nothing useful besides the VGA BIOS. The factory BIOS is proprietary
code which can not be re-used in coreboot.

> Are there any tools for this?

Sure, google bios_extract

> I've thought also of a following approach: would it be possible for
> author added support for a AMD 8xx/9xx based board to publish the
> output of tools, mentioned by Anton (flashrom, lspci -vv...,
> superiotool), so that one could compare this input with the ready
> code to see, what data is still missing and be able to ask for it?

There is nearly zero correlation between the output of those tools
and coreboot support. Please don't waste time on sending the output,
and please try to update any and every resource that you find which
requests such output, to explain the situation more intelligently.

In particular, coreboot support can not be created using only the
output of any tool.

Porting coreboot to a new board takes hard work, studying
(incomplete) documentation, testing, and a lot of trial and error.

Even with thorough testing it is very easy to overlook some cases.

It is absolutely not a suitable challenge for random Linux users,
but maybe you would find it fun!

Kind regards


More information about the coreboot mailing list