version 1.176, 2020/11/13 20:40:04
|
version 1.179, 2020/11/15 14:11:07
|
Line 8 systems which operate in an unprivileged
|
Line 8 systems which operate in an unprivileged
|
from the domU systems are forwarded by the Xen hypervisor to the dom0 to be |
from the domU systems are forwarded by the Xen hypervisor to the dom0 to be |
fulfilled. |
fulfilled. |
|
|
Xen supports different styles of guests; see [PV on HVM](https://wiki.xen.org/wiki/PV_on_HVM) and [PVH(v2)](https://wiki.xenproject.org/wiki/PVH_(v2)_Domu) for upstream documentation. |
Xen supports different styles of guests; see [PV on HVM](https://wiki.xen.org/wiki/PV_on_HVM) and [PVH(v2)](https://wiki.xenproject.org/wiki/PVH_(v2\)_Domu) for upstream documentation. |
|
|
[[!table data=""" |
[[!table data=""" |
Style of guest |Supported by NetBSD |
Style of guest |Supported by NetBSD |
Line 24 guests must be specifically coded for Xe
|
Line 24 guests must be specifically coded for Xe
|
|
|
In HVM mode, no guest modification is required; however, hardware |
In HVM mode, no guest modification is required; however, hardware |
support is required, such as VT-x on Intel CPUs and SVM on AMD CPUs. |
support is required, such as VT-x on Intel CPUs and SVM on AMD CPUs. |
|
The dom0 runs qemu to emulate hardware. |
|
|
In PVHVM mode, the guest runs as HVM, but additionally can use PV |
In PVHVM mode, the guest runs as HVM, but additionally can use PV |
drivers for efficiency. |
drivers for efficiency. |
|
|
In PVHv2H mode, operation is similar to PVHVM, except that qemu is not |
In PVHv2 mode, operation is similar to PVHVM, except that qemu is not |
run and thus the PV interfaces for console, disks, networking are the |
run and thus the PV interfaces for console, disks, networking are the |
only way to access these resources. |
only way to access these resources. (There was an original PVH mode |
|
that is no longer in use, and now, sometimes PVHv2 is referred to as |
|
simply PVH.) |
|
|
At boot, the dom0 kernel is loaded as a 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 |
Line 104 just as you would if you were not using
|
Line 107 just as you would if you were not using
|
Installation of Xen |
Installation of Xen |
------------------- |
------------------- |
|
|
We will consider that you chose to use Xen 4.8, with NetBSD/amd64 as |
We will consider that you chose to use Xen 4.13, with NetBSD/amd64 as |
dom0. In the dom0, install xenkernel48 and xentools48 from pkgsrc. |
dom0. In the dom0, install xenkernel48 and xentools48 from pkgsrc. |
|
|
Once this is done, install the Xen kernel itself: |
Once this is done, install the Xen kernel itself: |
Line 144 itself uses (in this case, the serial po
|
Line 147 itself uses (in this case, the serial po
|
In an attempt to add performance, one can also add `dom0_max_vcpus=1 dom0_vcpus_pin`, |
In an attempt to add performance, one can also add `dom0_max_vcpus=1 dom0_vcpus_pin`, |
to force only one vcpu to be provided (since NetBSD dom0 can't use |
to force only one vcpu to be provided (since NetBSD dom0 can't use |
more) and to pin that vcpu to a physical CPU. Xen has |
more) and to pin that vcpu to a physical CPU. Xen has |
[many boot options](http://xenbits.xenproject.org/docs/4.8-testing/misc/xen-command-line.html), |
[many boot options](http://xenbits.xenproject.org/docs/4.13-testing/misc/xen-command-line.html), |
and other than dom0 memory and max_vcpus, they are generally not |
and other than dom0 memory and max_vcpus, they are generally not |
necessary. |
necessary. |
|
|
Line 195 this will get fixed any time soon.
|
Line 198 this will get fixed any time soon.
|
anita (for testing NetBSD) |
anita (for testing NetBSD) |
-------------------------- |
-------------------------- |
|
|
With the setup so far (assuming 4.8/xl), one should be able to run |
With the setup so far, one should be able to run |
anita (see pkgsrc/misc/py-anita) to test NetBSD releases, by doing (as |
anita (see pkgsrc/misc/py-anita) to test NetBSD releases, by doing (as |
root, because anita must create a domU): |
root, because anita must create a domU): |
|
|