[coreboot] Noob-questions

Nico Huber nico.h at gmx.de
Thu Oct 20 20:19:15 CEST 2016

Hi Philipp,

On 20.10.2016 16:50, Philipp Stanner wrote:
> Hi cb-community,
> as everyone who owns a computer can subscribe to the list and there is
> no coreboot-forum, I presume that I'm allowed to ask a few primitive
> questions about the topic :)

>  1. Coreboot+Payload are only used to initialize the hardware and then
>     give the complete control over the system to the OS, right? So once
>     the OS booted no Coreboot or Payload-code is executed anymore?

That depends on the hardware platform and the definition of "code". Many
x86 platforms require a few things done in SMM (system management mode),
which is a way for the firmware to run code independently from and with-
out knowledge of the OS. It's sometimes referred to as Ring -1.

Again for most x86 platforms, there is ACPI code which may or may not be
run by the OS in an interpreter. I'd describe this as per device, OS in-
dependent drivers.

>  2. Bios calls were used decades ago (so the OS hadn't to bring all the
>     drivers) but aren't used by modern OS anymore, right? So why does
>     Windows need seaBIOS to work?

Windows needs either BIOS or UEFI calls, it's not a modern OS (in your

>  3. If [1] is true, does that mean it's not important (for the user) if
>     coreboot supports 100% of the boards hardware? Example: If I install
>     coreboot on a machine and the wiki says "VGA not supported" this
>     means that the monitor won't show anything - until the OS boots
>     which uses it's own driver to address the monitor. Right? To be
>     sure: As long as the OS boots successfully I don't really have to
>     care if all system components work during the boot process?

Beside firmware for optional features (which Sergej mentioned), this
heavily depends on the OS driver. For example Intel and Nvidia graphics
drivers are known to work (sometimes limited) without firmware assis-
tance. AMD drivers usually don't, AFAIK.

>  4. In the traditional BIOS I can adjust lots of settings - overclock my
>     CPU for example or enable Virtualization for KVM. How do I do this
>     in coreboot?

Some settings can be made at compile time, some through CMOS variables
(like legacy BIOSes did it, but from the OS, i.e. no boot time menu).
For advanced things like overclocking, you'd have to change the code.

> Beside of that: Great work guys, take care.

Thanks ;)


More information about the coreboot mailing list