From 1e8424755f629616a2854abff503694cec6b2807 Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Thu, 10 Mar 2016 12:40:23 +0000 Subject: [PATCH] Add README file Signed-off-by: Wei Liu --- README | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..5911138 --- /dev/null +++ b/README @@ -0,0 +1,119 @@ +How to build and install +------------------------ + +Please first extract xen, mini-os and qemu-xen-traditional source code +to suitable locations. + +Then + + $ export XEN_ROOT=/path/to/xen + $ export MINIOS_ROOT=/path/to/mini-os + $ export QEMU_ROOT=/path/to/qemu-xen-traditional + $ ./configure --some-config-options + $ make dist + +When doing configure it is recommended to use the same configure +options when building xen package. + +You should find all generated files under dist/ directory. + +After that you need to copy the generated files to the respective +locations. + +The following sections are imported from xen.git stubdom.txt + + + + IOEMU stubdom + ============= + + This boosts HVM performance by putting ioemu in its own lightweight domain. + +General Configuration +===================== + +Due to a race between the creation of the IOEMU stubdomain itself and allocation +of video memory for the HVM domain, you need to avoid the need for ballooning, +by using the hypervisor dom0_mem= option for instance. + +Using with XL +------------- + +The enable IOEMU stub domains set the following in your domain +config: + + device_model_stubdomain_override = 1 + +See xl.cfg(5) for more details of the xl domain configuration syntax +and http://wiki.xen.org/wiki/Device_Model_Stub_Domains for more +information on device model stub domains + + + PV-GRUB + ======= + + This replaces pygrub to boot domU images safely: it runs the regular grub +inside the created domain itself and uses regular domU facilities to read the +disk / fetch files from network etc. ; it eventually loads the PV kernel and +chain-boots it. + +Configuration +============= + +In your PV config, + +- use pv-grub.gz as kernel: + +kernel = "pv-grub.gz" + +- set the path to menu.lst, as seen from the domU, in extra: + +extra = "(hd0,0)/boot/grub/menu.lst" + +or you can provide the content of a menu.lst stored in dom0 by passing it as a +ramdisk: + +ramdisk = "/boot/domU-1-menu.lst" + +or you can also use a tftp path (dhcp will be automatically performed): + +extra = "(nd)/somepath/menu.lst" + +or you can set it in option 150 of your dhcp server and leave extra and ramdisk +empty (dhcp will be automatically performed) + +Limitations +=========== + +- You can not boot a 64bit kernel with a 32bit-compiled PV-GRUB and vice-versa. +To cross-compile a 32bit PV-GRUB, + +export XEN_TARGET_ARCH=x86_32 + +- bootsplash is supported, but the ioemu backend does not yet support restart +for use by the booted kernel. + +- PV-GRUB doesn't support virtualized partitions. For instance: + +disk = [ 'phy:hda7,hda7,w' ] + +will be seen by PV-GRUB as (hd0), not (hd0,6), since GRUB will not see any +partition table. + + + Your own stubdom + ================ + + By running + +cd stubdom/ +make c-stubdom + + or + +cd stubdom/ +make caml-stubdom + + you can compile examples of C or caml stub domain kernels. You can use these +and the relevant Makefile rules as basis to build your own stub domain kernel. +Available libraries are libc, libxc, libxs, zlib and libpci. -- 2.39.5