[SeaBIOS] Minimal config for booting GRUB2 from SATA drive

Kevin O'Connor kevin at koconnor.net
Sat Mar 16 08:06:32 CET 2013


On Fri, Mar 15, 2013 at 06:03:07PM +0100, Paul Menzel wrote:
> Am Donnerstag, den 14.03.2013, 19:35 -0400 schrieb Kevin O'Connor:
> > On Thu, Mar 14, 2013 at 03:57:00PM +0100, Paul Menzel wrote:
> 
> > > I am using coreboot on the ASRock E350M1 [1] with a SATA hard drive, I
> > > want to boot from using the GRUB2 bootloader. For now I’d like to use
> > > SeaBIOS 1.7.2.1 for jumping to the hard drive and execute(?) GRUB2.
> > > 
> > > Using the default config file created by `make menuconfig` and selecting
> > > a coreboot build and serial debug, everything works fine.
> > > 
> > > As I am using Debian GNU/Linux I do not need any BIOS calls provided by
> > > SeaBIOS and want to disable as much as possible too. So I disabled most
> > > stuff, but could not boot from the hard drive.
> > 
> > Can you up the debug level to 8 on the failed boot case and report the
> > results?
> 
> The pasted log is with `CONFIG_PCIBIOS` and `CONFIG_PNPBIOS` set to true
> too.

You've enabled CONFIG_BOOTMENU while CONFIG_KEYBOARD is disabled -
that doesn't make much sense.  (The menu isn't of much use if one
can't control it.)

SeaBIOS shouldn't have hung - see patch below - but even with this
fixed, grub (or whatever boot loader you plan to use) will likely
crash without BIOS keyboard support.  It's fine to disable
CONFIG_USB_KEYBOARD and CONFIG_PS2PORT, but to disable the keyboard
API is likely going to cause havoc.

-Kevin


--- a/src/util.c
+++ b/src/util.c
@@ -260,7 +260,7 @@ check_for_keystroke(void)
 {
     struct bregs br;
     memset(&br, 0, sizeof(br));
-    br.flags = F_IF;
+    br.flags = F_IF|F_ZF;
     br.ah = 1;
     call16_int(0x16, &br);
     return !(br.flags & F_ZF);



More information about the SeaBIOS mailing list