[SeaBIOS] [PATCH] src/Kconfig: Add note that boot interface is needed

Paul Menzel paulepanter at users.sourceforge.net
Wed Mar 20 11:17:18 CET 2013

Am Dienstag, den 19.03.2013, 22:18 -0400 schrieb Kevin O'Connor:
> On Wed, Mar 20, 2013 at 12:59:53AM +0100, Paul Menzel wrote:
> > Am Dienstag, den 19.03.2013, 19:05 -0400 schrieb Kevin O'Connor:
> > > Basically everything under the "BIOS interfaces" menu is low-level and
> > > should not be changed without understanding the implications.  (If one
> > > disables the "boot" interface, it should not be surprising that the
> > > machine can not "boot".)
> > 
> > Again as in the other thread this probably stems from the fact that I
> > have the (wrong(?)) assumption that BIOS interfaces are not needed for
> > GRUB or Linux.
> Both grub and Linux can invoke BIOS calls.  Grub 1 will certainly
> require bios calls; it may be possible to compile grub 2 so that it
> doesn't require bios calls, but that's not going to be anything out of
> the box.

Reading »The Master Boot Record (MBR) and Why it is Necessary?« [1] to
see what INT 19 is doing, it looks like in my setup (coreboot → SeaBIOS
(payload) → GRUB 2 on hard drive) no BIOS *boot* interface is needed.
Looking at SeaBIOS‘ debug message written to serial

        07.765: Add to e820 map: c7fd0000 00010000 1
        07.765: Returned 65536 bytes of ZoneHigh
        07.765: e820 map has 7 items:
        07.765:   0: 0000000000000000 - 000000000009fc00 = 1 RAM
        07.765:   1: 000000000009fc00 - 00000000000a0000 = 2 RESERVED
        07.765:   2: 00000000000f0000 - 0000000000100000 = 2 RESERVED
        07.765:   3: 0000000000100000 - 00000000c7fe0000 = 1 RAM
        07.765:   4: 00000000c7fe0000 - 00000000e0000000 = 2 RESERVED
        07.765:   5: 00000000f8000000 - 00000000f9000000 = 2 RESERVED
        07.765:   6: 0000000100000000 - 000000021efffc00 = 1 RAM
        07.765: Jump to int19
        07.765: enter handle_19:
        07.765:   NULL
        07.765: Boot support not compiled in.

and looking at the code, it looks like this is indeed GRUB 2 independent
and maybe the Kconfig option for BIOS boot interface should be renamed
to for example Boot support and moved under the General menu.

> > > Maybe if you explain what it is you're trying to accomplish then some
> > > direction could be given.
> > 
> > I want to make the SeaBIOS payload for coreboot as small as possible and
> > still want to boot from my AHCI hard drive (SATA) using GRUB 2 from
> > Debian Sid/unstable (with working graphics, that means loading the
> > option ROM for AMD/ATI wrestler.
> If you want a smaller payload - use lzma compression.  With
> compression the SeaBIOS payload uses ~50K of rom space.

I am under 64 KB without compression when taking out the BIOS boot
interface. ;-)

> If your using the onboard VGA - be sure to lzma compress the vga
> option ROM as well.

Good idea. Especially as I still have to wait for the hard drive to spin

> If for some reason 50K is still too big then it is possible to disable
> unneeded drivers under the "Hardware Support" menu.

Already did that. I have just AHCI support and some USB support enabled.

> However, I'd be curious to why 50K is too big on the ASRock - that
> should have a plenty large rom.

Yes, currently it has a 4 MB flash chip. Later I want to put an
initramfs image on there too (I have a LUKS encrypted drive), so every
bit is going to count. ;-)

> For space reductions, you'd almost certainly find bigger wins slimming
> down coreboot than trying to cut features out of seabios.

That is probably true. Nevertheless it would be nice if it is clear for
noobs like me, what certain option do and what effects they have.



[1] http://www.dewassoc.com/kbase/hard_drives/master_boot_record.htm
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://www.seabios.org/pipermail/seabios/attachments/20130320/1767109f/attachment.sig>

More information about the SeaBIOS mailing list