From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1Es1Dw-0007Xk-Je for mharc-grub-devel@gnu.org; Thu, 29 Dec 2005 12:05:56 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Es1Du-0007Xd-Rx for grub-devel@gnu.org; Thu, 29 Dec 2005 12:05:54 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Es1Dq-0007We-8f for grub-devel@gnu.org; Thu, 29 Dec 2005 12:05:54 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Es1Dp-0007WR-VF for grub-devel@gnu.org; Thu, 29 Dec 2005 12:05:50 -0500 Received: from [80.190.231.112] (helo=khepri.openbios.org) by monty-python.gnu.org with esmtp (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.34) id 1Es1ED-0005cu-2I for grub-devel@gnu.org; Thu, 29 Dec 2005 12:06:13 -0500 Received: from stepan by khepri.openbios.org with local (Exim 4.51) id 1Es1CQ-0007kL-1k; Thu, 29 Dec 2005 18:04:22 +0100 Date: Thu, 29 Dec 2005 18:04:22 +0100 From: Stefan Reinauer To: Svante Signell , linuxbios@openbios.org, grub-devel@gnu.org Message-ID: <20051229170421.GA21280@openbios.org> References: <1135872727.6254.11.camel@em2.my.own.domain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1135872727.6254.11.camel@em2.my.own.domain> X-Operating-System: Linux 2.6.14-20051104171614-smp on an x86_64 User-Agent: Mutt/1.5.9i X-Duff: Orig. Duff, Duff Lite, Duff Dry, Duff Dark, Raspberry Duff, Lady Duff, Red Duff, Tartar Control Duff Cc: Subject: Re: GRUB vs LinuxBIOS question X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Dec 2005 17:05:55 -0000 Hi Svante, * Svante Signell [051229 17:12]: > I'm currently reading the mailing list archives on GRUB V2 and LinuxBIOS > development. Can somebody please enlighten me on the interfaces between > the two development projects. I've only been marginally following grub2 development, but the short answer is: There are no interfaces at all at the moment. The somewhat longer answer is: From the LinuxBIOS perspective, this is not a bad thing, as LinuxBIOS tries to keep it's interfaces as small as possible. There are only two "transitions" between LinuxBIOS and a "client": 1) LinuxBIOS comes with an ELF loader that can load any static self contained ELF binary from flash and execute it. This means a single binary containing all grub parts that are needed to boot an OS could be packed together with LinuxBIOS and burned to flash. So far: in theory. 2) There is a mechanism to pass information from LinuxBIOS to the outside world called the "LinuxBIOS table". This table contains internal information about the BIOS, such as the possible CMOS settings, the RAM map of the machine, etc (there's also E820, PIRQ, MPTABLE and ACPI). NOTE: LinuxBIOS does not provide any "legacy bios interrupt callbacks", so no client can call back into the bios to load stuff from the hard disk. This means a client has to provide a driver for this that accesses the hardware, not the BIOS. This is why I wrote "in theory" above. > In an ideal world one should have open source, or preferably free > software solutions, for the BIOS code too. Check out www.linuxbios.org and www.openbios.org. From your definition there exists a small "ideal world" and we are working on making this available on a much wider basis. > Are there any overlaps in functionality that could be synchronised > between the groups? Basically no. Instead, they both could go hand in hand very well with only little effort. LinuxBIOS only initializes the hardware and passes control to a program running in flash which we generally call a "payload". http://www.linuxbios.org/index.php/Payloads There are a couple of payloads available for LinuxBIOS: * OpenBIOS (www.openbios.org) * ADLO (http://www.linuxbios.org/index.php/ADLO) * etherboot (http://www.linuxbios.org/index.php/Etherboot) * FILO (http://www.linuxbios.org/index.php/FILO) I have been working on taking the grub1 frontend and packing it into FILO a while ago. So you can use a grub user interface easily with LinuxBIOS already (with a reduced function set. patches welcome) > Is anything tutorial-like written explaining the different > functionality of the (Linux)BIOS (CPU, memory, peripheral > initialisation, etc) and GRUB (kernel loading, transfer of control to > kernel etc). Speaking for the LinuxBIOS project, the information on www.linuxbios.org is getting more and more complete, but we are always seeking to improve the information there. If you are missing something, drop us a note and we will try to fix it. Regards, Stefan