Files
xen/stubdom
Keir Fraser 0243b256d6 Add stubdomain support. See stubdom/README for usage details.
- Move PAGE_SIZE and STACK_SIZE into __PAGE_SIZE and __STACK_SIZE in
  arch_limits.h so as to permit getting them from there without
  pulling all the internal Mini-OS defines.
- Setup a xen-elf cross-compilation environment in stubdom/cross-root
- Add a POSIX layer on top of Mini-OS by linking against the newlib C
  library and lwIP, and implementing the Unixish part in mini-os/lib/sys.c
- Cross-compile zlib and libpci too.
- Add an xs.h-compatible layer on top of Mini-OS' xenbus.
- Cross-compile libxc with an additional xc_minios.c and a few things
  disabled.
- Cross-compile ioemu with an additional block-vbd, but without sound,
  tpm and other details.  A few hacks are needed:
  - Align ide and scsi buffers at least on sector size to permit
  direct transmission to the block backend. While we are at it, just
  page-align it to possibly save a segment. Also, limit the scsi
  buffer size because of limitations of the block paravirtualization
  protocol.
  - Allocate big tables dynamically rather that letting them go to
  bss: when Mini-OS gets installed in memory, bss is not lazily
  allocated, and doing so during Mini-OS is unnecessarily trick while
  we can simply use malloc.
- Had to change the Mini-OS compilation somehow, so as to export
  Mini-OS compilation flags to the Makefiles of libxc and ioemu.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-02-12 14:35:39 +00:00
..

To compile
==========

Just run make -j 4, that will download / patch / compile
Then make install to install the result.

Also, run make and make install in $XEN_ROOT/tools/fs-back

To run
======

mkdir -p /exports/usr/share/qemu
ln -s /usr/share/qemu/keymaps /exports/usr/share/qemu
/usr/sbin/fs-backend &


In your HVM config "hvmconfig",

- use VNC, set vnclisten to "172.30.206.1" for instance:

vnc=1 
vnclisten="172.30.206.1" 

- use /usr/lib/xen/bin/stubdom-dm as dm script

device_model = '/usr/lib/xen/bin/stubdom-dm'

- comment the disk statement:
#disk = [  'file:/tmp/install.iso,hdc:cdrom,r', 'phy:/dev/sda6,hda,w', 'file:/tmp/test,hdb,r' ]

Create /etc/xen/stubdom-hvmconfig ("hvmconfig" must match your main config file)
with

kernel="/usr/lib/xen/boot/stubdom.gz"
vif=[ 'ip=172.30.206.1', 'ip=10.0.1.1,mac=aa:00:00:12:23:34']
disk = [  'file:/tmp/install.iso,hdc:cdrom,r', 'phy:/dev/sda6,hda,w', 'file:/tmp/test,hdb,r' ]

where
- 172.30.206.1 is the IP for vnc,
- 'ip=10.0.1.1,mac=' is the same net configuration as in the hvmconfig script,
- and disk = is the same block configuration as in the hvmconfig script.