This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


RE: [Xen-devel] [PATCH] domain builder for ReactOS

To: "'Christian Limpach'" <Christian.Limpach@xxxxxxxxxxxx>
Subject: RE: [Xen-devel] [PATCH] domain builder for ReactOS
From: "Ge van Geldorp" <gvg@xxxxxxxxxxx>
Date: Fri, 3 Jun 2005 01:53:32 +0200
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 02 Jun 2005 23:53:04 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20050602230851.GF26379@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcVnyCV9ZPGIOo2GRbK/eRY8hho6TwAAMW8Q
> From: Christian Limpach 
> Well, your webpage says that right now you're building your 
> loader as an ELF image and I guess use the linux builder?  


> Can't you stick with that?
> Even if it's inconvenient to only being able to build the 
> loader on Linux, how often does the loader need to be rebuilt?

No, building as an ELF image is only possible as long as I'm using a branch
for development. Most of our developers are building on Windows, not on
Linux, so the question "how often" becomes kind of moot. They would simply
be unable to build the bootloader, ever. We see the bootloader as an
integrated part of our project, so that would not be acceptable.

Perhaps a little more background on the bootloader and why we need it: it is
normally built as a binary (unstructured) image, which is loaded by the
partition bootsector. It is also multiboot-compliant, so another way to load
it is using Grub. The bootloader will load the kernel and the infamous
registry. The registry contains (amongst a lot of other stuff) a list of
boot-time drivers. The bootloader will parse the registry and load the
required drivers. It will then do some hardware detection and transfer
control to the kernel. The tricky part is that it's the bootloader which
determines which drivers to load.
I estimate that about 80% of our users (testers really) are not using Grub
but are using the bootsector method of getting the loader into memory. This
implies the binary format, there simply isn't enough space in the bootsector
to parse ELF headers. So we're stuck with the binary format.

> The other question is whether it makes much sense to add a 
> loader/builder before there's a kernel?

The reason I'm submitting a Xen patch at this point is that I've completed a
well-defined task now (getting the bootloader to run under Xen) and it's a
good point to merge the development branch into the main trunk. However, I
do need to get rid of the ELF format to do that. And that in turn means I
can no longer use the current linux builder/loader in Xen.

Ge van Geldorp.

Xen-devel mailing list