mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
- 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>
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.