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 up.
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.
Thanks,
Paul
[1] http://www.dewassoc.com/kbase/hard_drives/master_boot_record.htm