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

2013-03-20 Thread Peter Stuge
Paul Menzel wrote:
> it would be nice if it is clear for noobs like me, what certain
> option do and what effects they have.

The good way to fix that is for you to send patches for the Kconfig
help messages. *After* you have researched what the options do.


//Peter


pgptDFHdnLwQL.pgp
Description: PGP signature
___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-20 Thread Paul Menzel
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: c7fd 0001 1
07.765: Returned 65536 bytes of ZoneHigh
07.765: e820 map has 7 items:
07.765:   0:  - 0009fc00 = 1 RAM
07.765:   1: 0009fc00 - 000a = 2 RESERVED
07.765:   2: 000f - 0010 = 2 RESERVED
07.765:   3: 0010 - c7fe = 1 RAM
07.765:   4: c7fe - e000 = 2 RESERVED
07.765:   5: f800 - f900 = 2 RESERVED
07.765:   6: 0001 - 00021efffc00 = 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


signature.asc
Description: This is a digitally signed message part
___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-19 Thread 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.

> > 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.  If your using
the onboard VGA - be sure to lzma compress the vga option ROM as well.
If for some reason 50K is still too big then it is possible to disable
unneeded drivers under the "Hardware Support" menu.  However, I'd be
curious to why 50K is too big on the ASRock - that should have a
plenty large rom.  For space reductions, you'd almost certainly find
bigger wins slimming down coreboot than trying to cut features out of
seabios.

-Kevin

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-19 Thread Kevin O'Connor
On Wed, Mar 20, 2013 at 12:20:51AM +0100, Peter Stuge wrote:
> Kevin O'Connor wrote:
> > Basically everything under the "BIOS interfaces" menu is low-level
> > and should not be changed without understanding the implications.
> 
> Maybe hide those behind a CONFIG_EXPERT option?

It's possible, but basically all of Kconfig is a CONFIG_EXPERT already
- the normal use case is to use one the default options, a pre-built
rom, or via the coreboot build.

-Kevin

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-19 Thread Peter Stuge
Paul Menzel wrote:
> I do not even know what the BIOS boot interface does and how it is
> utilized. I guess I should read up about that.

Hundreds if not thousands of interrupt services and about a dozen
data structures.


//Peter


pgpIFHbM5p9U6.pgp
Description: PGP signature
___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-19 Thread Paul Menzel
Am Mittwoch, den 20.03.2013, 01:03 +0100 schrieb Peter Stuge:
> Paul Menzel wrote:
> > 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.
> 
> GRUB needs BIOS interfaces. GRUB 2 as payload might not, but GRUB 2
> on a random debian system does. It's clear that those are quite
> different, right?

Yes, I know that. phcoder in #coreboot on irc.freenode.net wrote that
even grub-pc (for BIOS) can circumvent some of these if the BIOS
interface is not detected. This is the case for the keyboard for
example.

I do not even know what the BIOS boot interface does and how it is
utilized. I guess I should read up about that.


Thanks,

Paul


signature.asc
Description: This is a digitally signed message part
___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-19 Thread Peter Stuge
Paul Menzel wrote:
> 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.

GRUB needs BIOS interfaces. GRUB 2 as payload might not, but GRUB 2
on a random debian system does. It's clear that those are quite
different, right?


//Peter


pgpeWjl5h3i5l.pgp
Description: PGP signature
___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-19 Thread Paul Menzel
Am Dienstag, den 19.03.2013, 17:18 +0100 schrieb Peter Stuge:
> Paul Menzel wrote:
> > I still do not understand how SeaBIOS uses the interfaces itself
> > and how SeaBIOS is of any use at all without being able to boot
> > something. At least I do not know of such a use case.
> 
> Payloads can also not be started without that option?

I have not tried that. Thank you for mentioning that use case.


Thanks,

Paul


signature.asc
Description: This is a digitally signed message part
___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-19 Thread Paul Menzel
Am Dienstag, den 19.03.2013, 19:05 -0400 schrieb Kevin O'Connor:
> On Tue, Mar 19, 2013 at 11:00:30AM +0100, Paul Menzel wrote:
> > Date: Tue, 19 Mar 2013 10:36:15 +0100
> > 
> > Without the boot interface , GRUB 2 (package grub-pc 1.99-7 from Debian
> > Sid/unstable) is not loaded when running coreboot with SeaBIOS 1.7.2.1
> > as payload on the ASRock E350M1. Only the SeaBIOS banner is shown and
> > nothing else happens afterward.
> > 
> > Signed-off-by: Paul Menzel 
> > ---
> > More or less a request for comments, as I still do not understand how
> > SeaBIOS uses the interfaces itself and how SeaBIOS is of any use at all
> > without being able to boot something. At least I do not know of such a
> > use case.
> 
> I'm not sure what you are trying to accomplish.  If you disable
> various BIOS interfaces, it is definitely going to break external code
> that relies on those interfaces.

That is my point (or misunderstanding). This is not external code but
SeaBIOS itself which breaks.

> 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.

> The use-case for disabling the boot interface would be for possible
> embedded systems where one only needs SeaBIOS to execute option ROMs.
> I don't know of any users of this, but it has been discussed in the
> past.

I did not think of that. Thanks.

> 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.


Thanks,

Paul


signature.asc
Description: This is a digitally signed message part
___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-19 Thread Peter Stuge
Kevin O'Connor wrote:
> Basically everything under the "BIOS interfaces" menu is low-level
> and should not be changed without understanding the implications.

Maybe hide those behind a CONFIG_EXPERT option?


//Peter

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-19 Thread Kevin O'Connor
On Tue, Mar 19, 2013 at 11:00:30AM +0100, Paul Menzel wrote:
> Date: Tue, 19 Mar 2013 10:36:15 +0100
> 
> Without the boot interface , GRUB 2 (package grub-pc 1.99-7 from Debian
> Sid/unstable) is not loaded when running coreboot with SeaBIOS 1.7.2.1
> as payload on the ASRock E350M1. Only the SeaBIOS banner is shown and
> nothing else happens afterward.
> 
> Signed-off-by: Paul Menzel 
> ---
> More or less a request for comments, as I still do not understand how
> SeaBIOS uses the interfaces itself and how SeaBIOS is of any use at all
> without being able to boot something. At least I do not know of such a
> use case.

I'm not sure what you are trying to accomplish.  If you disable
various BIOS interfaces, it is definitely going to break external code
that relies on those interfaces.  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".)

The use-case for disabling the boot interface would be for possible
embedded systems where one only needs SeaBIOS to execute option ROMs.
I don't know of any users of this, but it has been discussed in the
past.

Maybe if you explain what it is you're trying to accomplish then some
direction could be given.

-Kevin

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-19 Thread Peter Stuge
Paul Menzel wrote:
> I still do not understand how SeaBIOS uses the interfaces itself
> and how SeaBIOS is of any use at all without being able to boot
> something. At least I do not know of such a use case.

Payloads can also not be started without that option?


//Peter


pgpOPwSGiBmrd.pgp
Description: PGP signature
___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-19 Thread Fred .
If SeaBIOS is useless without this, then maybe the option to disable it
should be removed?


On Tue, Mar 19, 2013 at 11:00 AM, Paul Menzel <
paulepan...@users.sourceforge.net> wrote:

> Date: Tue, 19 Mar 2013 10:36:15 +0100
>
> Without the boot interface , GRUB 2 (package grub-pc 1.99-7 from Debian
> Sid/unstable) is not loaded when running coreboot with SeaBIOS 1.7.2.1
> as payload on the ASRock E350M1. Only the SeaBIOS banner is shown and
> nothing else happens afterward.
>
> Signed-off-by: Paul Menzel 
> ---
> More or less a request for comments, as I still do not understand how
> SeaBIOS uses the interfaces itself and how SeaBIOS is of any use at all
> without being able to boot something. At least I do not know of such a
> use case.
>
>  src/Kconfig |2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/src/Kconfig b/src/Kconfig
> index 3141069..c7ea23c 100644
> --- a/src/Kconfig
> +++ b/src/Kconfig
> @@ -327,6 +327,8 @@ menu "BIOS interfaces"
>  default y
>  help
>  Support int 19/18 system bootup support.
> +
> +You have to select this, if you want to boot from some media.
>  config KEYBOARD
>  bool "Keyboard interface"
>  default y
> --
> 1.7.10.4
>
> ___
> SeaBIOS mailing list
> SeaBIOS@seabios.org
> http://www.seabios.org/mailman/listinfo/seabios
>
>
___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


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

2013-03-19 Thread Paul Menzel
Date: Tue, 19 Mar 2013 10:36:15 +0100

Without the boot interface , GRUB 2 (package grub-pc 1.99-7 from Debian
Sid/unstable) is not loaded when running coreboot with SeaBIOS 1.7.2.1
as payload on the ASRock E350M1. Only the SeaBIOS banner is shown and
nothing else happens afterward.

Signed-off-by: Paul Menzel 
---
More or less a request for comments, as I still do not understand how
SeaBIOS uses the interfaces itself and how SeaBIOS is of any use at all
without being able to boot something. At least I do not know of such a
use case.

 src/Kconfig |2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/Kconfig b/src/Kconfig
index 3141069..c7ea23c 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -327,6 +327,8 @@ menu "BIOS interfaces"
 default y
 help
 Support int 19/18 system bootup support.
+
+You have to select this, if you want to boot from some media.
 config KEYBOARD
 bool "Keyboard interface"
 default y
-- 
1.7.10.4


signature.asc
Description: This is a digitally signed message part
___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios