[coreboot] How does SeaBIOS transition to Linux?

Zoran Stojsavljevic zoran.stojsavljevic at gmail.com
Thu Feb 9 11:13:52 CET 2017


Hello to everybody,

Finally, after some time (I was patiently waiting until my brain reconciles
regarding this topic, it took quite of time), I got the good idea about
this email, and meaning of it.

Here is the interesting part (I think I'll gonna go other way around,
different bird view):

Let say, I would like to have under BIOS (on the preposition/condition that
I am gonna replace part of BIOS with Coreboot, payload being SeaBIOS) dual
boot system: WIN10 64 and some F24 distro (my favorites) on SSD/HDD.

So, I place CSM ON in BIOS (I am, after all, doing legacy, since SeaBIOS is
nothing more then legacy), and step 1-> install WIN10 64... Step 2 ->
install F24 (GRUB2 included in the distro).

If I did it correctly, after passing via BIOS, I'll be ending in GRUB2
booting monitor, which will ask me what to boot (several versions of F24
kernels), or WIN10 GRUB2 entry? All Cool till now? :-)

Now, I implant Coreboot on the top of BIOS. Having SeaBIOS as payload, it
should behave EXACTLY as BIOS set in legacy mode.
_______

What does it mean (please, here is my Best BET, from what I'd seen in The
Past): *SeaBIOS will do the same, what CSM=ON BIOS does: it'll copy MBR
into the low memory (exactly at the location: 0000:7C00), and jump there,
to execute (first 446 Bytes of .exe code) Phase 1.0 of GRUB2 boot-loader
(two more phases will follow: 1,5 and 2, NOT subjects of this email
thread).*

The whole thing will finish again in GRUB2 booting monitor.

I am talking about classical/generic MBR here:
https://en.wikipedia.org/wiki/Master_boot_record .

And crucial question from me: how Coreboot will work if instead SeaBIOS
GRUB2 is the payload chosen (I have very good understanding/idea for
payload: minimal Linux kernel distro)?

Any addendums? Comments? Looking forward to them.

Thank you,
Zoran

On Mon, Feb 6, 2017 at 2:40 AM, Peter Stuge <peter at stuge.se> wrote:

> Haleigh Novak wrote:
> > I was wondering if anyone could take a few minutes and explain the
> > proccess of how coreboots SeaBIOS payload (or even how coreboot
> > itself) transitions into a Linux boot sequence to me?
>
> SeaBIOS does nothing coreboot-specific, but uses the de-facto
> standard BIOS method: Master Boot Record
>
> In the MBR there is code installed by the bootloader in use
> (LILO/NTLDR/GRUB/SYSLINUX/etc)
>
> See wikipedia.org and osdev.org for all MBR details you may want.
>
> Writing a small assembly program to run out of the MBR is a great
> exercise.
>
>
>
> When coreboot instead starts a Linux kernel directly (with Linux as
> payload) then the key word is: SELF
>
> SELF is Simple ELF, and when cbfstool adds a kernel payload to
> coreboot.rom it also adds a small stub code at the entry point,
> which sets up the data structure in memory which Linux requirs to
> boot on x86, before jumping to the kernel entry point.
>
>
> //Peter
>
> --
> coreboot mailing list: coreboot at coreboot.org
> https://www.coreboot.org/mailman/listinfo/coreboot
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20170209/26115da1/attachment.html>


More information about the coreboot mailing list