[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] cstrap domU boot loader


  • To: xen-devel <Xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Jacob Gorm Hansen <jacobg@xxxxxxx>
  • Date: Thu, 04 Jan 2007 18:49:02 +0100
  • Delivery-date: Thu, 04 Jan 2007 09:49:02 -0800
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:subject:from:to:content-type:date:message-id:mime-version:x-mailer:content-transfer-encoding:sender; b=n4V4j0Nyc/F4+6X3UKPNzHZG40ss7zAAcf80IzhQSm6gxR+6vQps1q6FS22JR2Qk8RZaPK473VAZ0f1ElAvozWREhAo070BwEFe7Y9JsmHp8C4oDFBs5O8RLQfKhhwbwJfFh/7rCoUEFxikmJheLs7I3AWRpY/JF68yl9UDA640=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

hi,

it is still very rough, but for those interested I am working on a domU
bootloader. In its current state it is able to boot domains either from
a ramdisk or over a HTTP-1.0 connection.

You may find the source at http://www.distlab.dk/hg/index.cgi/cstrap.hg
as a HG repo.

To compile, type:

make XEN_ROOT=/my/xen/tree.hg

The resulting ELF-binary called cstrap is the boot-loader. The cmdline
it gets started with decides the mode of operation, e.g.:

kernel=cstrap
initrd=out.img
cmdline=ram

boots from a ramdisk/initrd called out.img.

and

kernel=cstrap
cmdline=ip=172.16.6.1:255.255.0.0:172.16.1.1 http://1.2.3.4/out.img

Configures the IP address to 172.6.6.1, netmask to 255.255.0.0, and
default gateway to 172.16.1.1 (the example box is running NAT for
domains), and boots from a 'packed' kernel+initrd image at
http://1.2.3.4/out.img .

Currently only 'packed' images, created with the 'pack' from tool from
http://www.distlab.dk/hg/index.cgi/migrationtools.hg are supported (look
at the source of pack.c to see what the format is like), but fetching a
menu.lst-file to allow booting of regular ELF kernels is on the TODO.

Hostname-resolution does not work, so you need to specify the IP address
of your web server. Other ports than 80 are supported in standard HTTP
URI syntax. The TCP/IP stack in use is UIP, and the HTTP client is an
example from the UIP source. Better performance + congestion control
would probably be nice, and I am considering moving over the LwIP
instead. Another option is to go via a HTTP proxy in dom0, to get
HTTP-1.1 support and other nice features (such as caching).

Regards,
Jacob


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.