version 1.26, 2014/12/24 01:38:26
|
version 1.27, 2014/12/24 08:32:49
|
Line 27 code for Xen and need not be aware that
|
Line 27 code for Xen and need not be aware that
|
Attempts to access hardware registers are trapped and emulated. This |
Attempts to access hardware registers are trapped and emulated. This |
style is less efficient but can run unmodified guests. |
style is less efficient but can run unmodified guests. |
|
|
Generally any amd64 machine will work with Xen and PV guests. For HVM |
Generally any amd64 machine will work with Xen and PV guests. For |
guests, the VT or VMX cpu feature (Intel) or SVM/HVM/VT (amd64) is |
HVM guests, the VT or VMX cpu feature (Intel) or SVM/HVM/VT (amd64) |
needed; "cpuctl identify 0" will show this. TODO: Clean up and check |
is needed; "cpuctl identify 0" will show this. Xen 4.2 is the last |
the above features. TODO: Explain if i386 (non-amd64) machines can |
version for support for using i386 as a host. TODO: Clean up and |
still be used --- I think that the requirement to use PAE kernels is |
check the above features. |
about the hypervisor being amd64 only. |
|
|
|
At boot, the dom0 kernel is loaded as module with Xen as the kernel. |
At boot, the dom0 kernel is loaded as a module with Xen as the kernel. |
The dom0 can start one or more domUs. (Booting is explained in detail |
The dom0 can start one or more domUs. (Booting is explained in detail |
in the dom0 section.) |
in the dom0 section.) |
|
|
Line 61 path when there are no known good reason
|
Line 60 path when there are no known good reason
|
This HOWTO presumes a basic familiarity with the Xen system |
This HOWTO presumes a basic familiarity with the Xen system |
architecture. This HOWTO presumes familiarity with installing NetBSD |
architecture. This HOWTO presumes familiarity with installing NetBSD |
on i386/amd64 hardware and installing software from pkgsrc. |
on i386/amd64 hardware and installing software from pkgsrc. |
See also the [Xen website](http://www.xen.org/). |
See also the [Xen website](http://www.xenproject.org/). |
|
|
History |
History |
------- |
------- |
Line 70 NetBSD used to support Xen2; this has be
|
Line 69 NetBSD used to support Xen2; this has be
|
|
|
Before NetBSD's native bootloader could support Xen, the use of |
Before NetBSD's native bootloader could support Xen, the use of |
grub was recommended. If necessary, see the |
grub was recommended. If necessary, see the |
[old grub information](/xen/howto-grub/). |
[old grub information](/ports/xen/howto-grub/). |
|
|
Versions of Xen and NetBSD |
Versions of Xen and NetBSD |
========================== |
========================== |
|
|
Most of the installation concepts and instructions are independent of |
Most of the installation concepts and instructions are independent |
Xen version. This section gives advice on which version to choose. |
of Xen version and NetBSD version. This section gives advice on |
Versions not in pkgsrc and older unsupported versions of NetBSD are |
which version to choose. Versions not in pkgsrc and older unsupported |
intentionally ignored. |
versions of NetBSD are intentionally ignored. |
|
|
Xen |
Xen |
--- |
--- |
Line 109 Xen command program
|
Line 108 Xen command program
|
|
|
Early Xen used a program called "xm" to manipulate the system from the |
Early Xen used a program called "xm" to manipulate the system from the |
dom0. Starting in 4.1, a replacement program with similar behavior |
dom0. Starting in 4.1, a replacement program with similar behavior |
called "xl" is provided. In 4.2, "xm" is no longer available. |
called "xl" is provided. In 4.2 and later, "xl" is preferred. 4.4 is |
|
the last version that has "xm". |
|
|
NetBSD |
NetBSD |
------ |
------ |
Line 178 Installation of NetBSD
|
Line 178 Installation of NetBSD
|
---------------------- |
---------------------- |
|
|
First, |
First, |
[install NetBSD/amd64](../../docs/guide/en/chap-inst.html) |
[install NetBSD/amd64](/guide/inst/) |
just as you would if you were not using Xen. |
just as you would if you were not using Xen. |
However, the partitioning approach is very important. |
However, the partitioning approach is very important. |
|
|
Line 196 each virtual disk to be used by the domU
|
Line 196 each virtual disk to be used by the domU
|
how domU usage will evolve, please add an explanation to the HOWTO. |
how domU usage will evolve, please add an explanation to the HOWTO. |
Seriously, needs tend to change over time.) |
Seriously, needs tend to change over time.) |
|
|
One can use lvm(8) to create logical devices to use for domU disks. |
One can use [lvm(8)](/guide/lvm/) to create logical devices to use |
This is almost as efficient sa raw disk partitions and more flexible. |
for domU disks. This is almost as efficient as raw disk partitions |
Hence raw disk partitions should typically not be used. |
and more flexible. Hence raw disk partitions should typically not |
|
be used. |
|
|
One can use files in the dom0 filesystem, typically created by dd'ing |
One can use files in the dom0 filesystem, typically created by dd'ing |
/dev/zero to create a specific size. This is somewhat less efficient, |
/dev/zero to create a specific size. This is somewhat less efficient, |
Line 265 For 4.1 and 4.2, add to rc.conf:
|
Line 266 For 4.1 and 4.2, add to rc.conf:
|
xend=YES |
xend=YES |
xencommons=YES |
xencommons=YES |
|
|
|
Note that xend is for supporting "xm", and should only be used if |
|
you plan on using "xm". Do NOT enable xend if you plan on using |
|
"xl" as it will cause problems. |
|
|
Updating NetBSD in a dom0 |
Updating NetBSD in a dom0 |
------------------------- |
------------------------- |
|
|
Line 325 PKG\_SYSCONFDIR for its parameters. By d
|
Line 330 PKG\_SYSCONFDIR for its parameters. By d
|
will be executed in the new domain (this kernel is in the *domain0* file |
will be executed in the new domain (this kernel is in the *domain0* file |
system, not on the new domain virtual disk; but please note, you should |
system, not on the new domain virtual disk; but please note, you should |
install the same kernel into *domainU* as `/netbsd` in order to make |
install the same kernel into *domainU* as `/netbsd` in order to make |
your system tools, like MAN.SAVECORE.8, work). A suitable kernel is |
your system tools, like savecore(8), work). A suitable kernel is |
provided as part of the i386 and amd64 binary sets: XEN3\_DOMU. |
provided as part of the i386 and amd64 binary sets: XEN3\_DOMU. |
|
|
Here is an /usr/pkg/etc/xen/nbsd example config file: |
Here is an /usr/pkg/etc/xen/nbsd example config file: |
Line 435 like this:
|
Line 440 like this:
|
!brconfig $int add ex0 up |
!brconfig $int add ex0 up |
|
|
(replace `ex0` with the name of your physical interface). Then bridge0 |
(replace `ex0` with the name of your physical interface). Then bridge0 |
will be created on boot. See the MAN.BRIDGE.4 man page for details. |
will be created on boot. See the bridge(4) man page for details. |
|
|
So, here is a suitable `/usr/pkg/etc/xen/vif-bridge` for xvif?.? (a |
So, here is a suitable `/usr/pkg/etc/xen/vif-bridge` for xvif?.? (a |
working vif-bridge is also provided with xentools20) configuring: |
working vif-bridge is also provided with xentools20) configuring: |
|
|
#!/bin/sh |
#!/bin/sh |
#============================================================================ |
#============================================================================ |
# $NetBSD: howto.mdwn,v 1.25 2014/12/24 01:37:30 gdt Exp $ |
# $NetBSD: howto.mdwn,v 1.26 2014/12/24 01:38:26 gdt Exp $ |
# |
# |
# /usr/pkg/etc/xen/vif-bridge |
# /usr/pkg/etc/xen/vif-bridge |
# |
# |