Brian Milliron wrote:
> Can you elaborate on what factors determine whether setting up coreboot
> on a previously unsupported laptop takes days or years?

Mainboards are more or less modified reference designs for a given
platform, where platform means the combination of Intel or AMD chips
intended to be used together.

coreboot supports several or even many platforms, but not all, and
more than likely the support for each platform covers only what is
required for the supported mainboards using that platform.

If your platform is unsupported you have thousands of registers to study,
most of which are either not at all or merely not correctly described in
public documentation.

This case is the "years" end of the spectrum, when no source code and no
usable documentation is publically available. I'd guess that this is
actually still the common case, even though coreboot has good industry
traction. (Many companies do use coreboot but not on all possible platforms.)


If your platform is supported to some degree but your specific mainboard
is not then you have to understand the exact details of all differences
between your mainboard and the general platform support in coreboot.

Maybe there is no code for things you require or maybe it's there but
you must correctly describe how your hardware differs from a reference
design or one particular supported mainboard.

Those differences are usually never well-documented, are never
purposely published and are quite unlikely to ever leak. Leaked
schematics can be helpful, but may not always suffice.

This means another pile of unknowns to first discover and then study
in depth.

Once that's done, turn learned knowledge into working coreboot
support for your mainboard.

There is tooling (in coreboot) to help with parts of the latter.
Tools extract as much information as possible from a running system
and try to automatically turn that into coreboot support.

The "days" end of the spectrum is when you are lucky and such tools
can completely and accurately capture all required information for
your hardware without requiring much learning.


Personal experience and background are further factors, someone with
zero knowledge about hardware and zero interest to learn will likely
fail no matter how much time they invest.

Zero knowledge with significant interest is a completely different
story and can yield a successful world class coreboot developer. :)


There's no x86 firmware development "course", I think you have to
just start doing it and teach yourself as you go.


Kind regards

//Peter
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to