~ubuntu-branches/ubuntu/utopic/xen/utopic

« back to all changes in this revision

Viewing changes to stubdom/README

  • Committer: Bazaar Package Importer
  • Author(s): Bastian Blank
  • Date: 2010-05-06 15:47:38 UTC
  • mto: (1.3.1) (15.1.1 sid) (4.1.1 experimental)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20100506154738-agoz0rlafrh1fnq7
Tags: upstream-4.0.0
ImportĀ upstreamĀ versionĀ 4.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
                                IOEMU stubdom
 
2
                                =============
 
3
 
 
4
  This boosts HVM performance by putting ioemu in its own lightweight domain.
 
5
 
 
6
General Configuration
 
7
=====================
 
8
 
 
9
Due to a race between the creation of the IOEMU stubdomain itself and allocation
 
10
of video memory for the HVM domain, you need to avoid the need for ballooning,
 
11
by using the hypervisor dom0_mem= option for instance.
 
12
 
 
13
 
 
14
There is a sample configuration set in xmexample.hvm-stubdom
 
15
 
 
16
In your HVM config "hvmconfig" use stubdom-dm as dm script:
 
17
 
 
18
device_model = 'stubdom-dm'
 
19
 
 
20
 
 
21
To run
 
22
======
 
23
 
 
24
mkdir -p /exports/usr/share/xen/qemu
 
25
ln -s /usr/share/xen/qemu/keymaps /exports/usr/share/xen/qemu
 
26
mkdir -p /exports/var/lib
 
27
ln -s /var/lib/xen /exports/var/lib
 
28
/usr/sbin/fs-backend &
 
29
 
 
30
xm create hvmconfig
 
31
 
 
32
 
 
33
 
 
34
                                   PV-GRUB
 
35
                                   =======
 
36
 
 
37
  This replaces pygrub to boot domU images safely: it runs the regular grub
 
38
inside the created domain itself and uses regular domU facilities to read the
 
39
disk / fetch files from network etc. ; it eventually loads the PV kernel and
 
40
chain-boots it.
 
41
  
 
42
Configuration
 
43
=============
 
44
 
 
45
In your PV config,
 
46
 
 
47
- use pv-grub.gz as kernel:
 
48
 
 
49
kernel = "pv-grub.gz"
 
50
 
 
51
- set the path to menu.lst, as seen from the domU, in extra:
 
52
 
 
53
extra = "(hd0,0)/boot/grub/menu.lst"
 
54
 
 
55
or you can provide the content of a menu.lst stored in dom0 by passing it as a
 
56
ramdisk:
 
57
 
 
58
ramdisk = "/boot/domU-1-menu.lst"
 
59
 
 
60
or you can also use a tftp path (dhcp will be automatically performed):
 
61
 
 
62
extra = "(nd)/somepath/menu.lst"
 
63
 
 
64
or you can set it in option 150 of your dhcp server and leave extra and ramdisk
 
65
empty (dhcp will be automatically performed)
 
66
 
 
67
Limitations
 
68
===========
 
69
 
 
70
- You can not boot a 64bit kernel with a 32bit-compiled PV-GRUB and vice-versa.
 
71
To cross-compile a 32bit PV-GRUB,
 
72
 
 
73
export XEN_TARGET_ARCH=x86_32
 
74
 
 
75
- bootsplash is supported, but the ioemu backend does not yet support restart
 
76
for use by the booted kernel.
 
77
 
 
78
- PV-GRUB doesn't support virtualized partitions. For instance:
 
79
 
 
80
disk = [ 'phy:hda7,hda7,w' ]
 
81
 
 
82
will be seen by PV-GRUB as (hd0), not (hd0,6), since GRUB will not see any
 
83
partition table.
 
84
 
 
85
 
 
86
                                Your own stubdom
 
87
                                ================
 
88
 
 
89
  By running
 
90
 
 
91
cd stubdom/
 
92
make c-stubdom
 
93
 
 
94
  or
 
95
 
 
96
cd stubdom/
 
97
make caml-stubdom
 
98
 
 
99
  you can compile examples of C or caml stub domain kernels.  You can use these
 
100
and the relevant Makefile rules as basis to build your own stub domain kernel.
 
101
Available libraries are libc, libxc, libxs, zlib and libpci.