--- wikisrc/ports/xen/howto.mdwn 2015/01/17 13:04:01 1.80 +++ wikisrc/ports/xen/howto.mdwn 2015/02/10 17:38:14 1.88 @@ -92,10 +92,13 @@ reasonable although trailing-edge choice xenkernel42 provides Xen 4.2. This is maintained by Xen, but old as of 2014-12. +xenkernel45 provides Xen 4.5. This is new to pkgsrc as of 2015-01 and +not yet recommended for other than experimental/testing use. + Ideally newer versions of Xen will be added to pkgsrc. -Note that NetBSD support is called XEN3. It works with 3.1 through -4.2 because the hypercall interface has been stable. +Note that NetBSD support is called XEN3. It works with Xen 3 and Xen +4 because the hypercall interface has been stable. Xen command program ------------------- @@ -341,7 +344,8 @@ to configure the dom0 tools. The daemon with Xen version and with whether one is using xm or xl. 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. +cause problems. Running xl without xencommons=YES (and starting it) +will result in a hang (so don't do that; follow the HOWTO!). The installation of NetBSD should already have created devices for xen (xencons, xenevt), but if they are not present, create them: @@ -374,6 +378,11 @@ For 4.2 with xl, add to rc.conf: xencommons=YES TODO: explain if there is a xend replacement +For 4.5 (and thus with xl), add to rc.conf: + + xencommons=YES + TODO: explain if there is a xend replacement + TODO: Recommend for/against xen-watchdog. After you have configured the daemons and either started them (in the @@ -389,21 +398,33 @@ available resources, and running domains Domain-0 0 64 0 r---- 58.1 With xl, the commands are the same, and the output may be slightly -different. TODO: add example output for xl, after confirming on 4.2 -and resolving the TODO about rc.conf. - -anita (for testing NetBSD) --------------------------- +different. TODO: add example output for xl before the xm example, +after confirming on 4.2 and resolving the TODO about rc.conf. -With the setup so far, one should be able to run anita (see -pkgsrc/misc/py-anita) to test NetBSD releases, by doing (as root, -because anita must create a domU): +### Issues with xencommons - anita --vmm=xm test file:///usr/obj/i386/ +xencommons starts xenstored, which stores data on behalf of dom0 and +domUs. It does not currently work to stop and start xenstored. +Certainly all domUs should be shutdown first, following the sort order +of the rc.d scripts. However, the dom0 sets up state with xenstored, +and is not notified when xenstored exits, leading to not recreating +the state when the new xenstored starts. Until there's a mechanism to +make this work, one should not expect to be able to restart xenstored +(and thus xencommons). There is currently no reason to expect that +this will get fixed any time soon. -Alternatively, one can use --vmm=xl to use xl-based domU creation instead. -TODO: check this, and make the example use xl when confirmed. +anita (for testing NetBSD) +-------------------------- +With the setup so far (assuming 4.2/xl), one should be able to run +anita (see pkgsrc/misc/py-anita) to test NetBSD releases, by doing (as +root, because anita must create a domU): + + anita --vmm=xl test file:///usr/obj/i386/ + +Alternatively, one can use --vmm=xm to use xm-based domU creation +instead (and must, on Xen <= 4.1). TODO: confirm that anita xl really works. + Xen-specific NetBSD issues -------------------------- @@ -477,6 +498,24 @@ correct set of daemons. Ensure that the for the new version. +Running Xen under qemu +---------------------- + +The astute reader will note that this section is somewhat twisted. +However, it can be useful to run Xen under qemu either because the +version of NetBSD as a dom0 does not run on the hardware in use, or to +generate automated test cases involving Xen. + +In 2015-01, the following combination was reported to mostly work: + + host OS: NetBSD/amd64 6.1.4 + qemu: 2.2.0 from pkgsrc + Xen kernel: xenkernel42-4.2.5nb1 from pkgsrc + dom0 kernel: NetBSD/amd64 6.1.5 + Xen tools: xentools42-4.2.5 from pkgsrc + +See http://gnats.netbsd.org/47720 for a problem with dom0 shutdown. + Unprivileged domains (domU) =========================== @@ -674,8 +713,8 @@ shutdown, in rc.conf add: xendomains="foo bar" -TODO: Explain why 4.1 rc.d/xendomains has xl, when one should use xm -on 4.1. Or fix the xentools41 package to have xm +Note that earlier versions of the xentools41 xendomains rc.d scripth +usd xl, when one should use xm with 4.1. Creating specific unprivileged domains (domU) ============================================= @@ -946,7 +985,7 @@ TODO: add link to NetBSD amazon howto. Using npf --------- -In standard kernels, npf is a module, and thus cannot be loadeed in a +In standard kernels, npf is a module, and thus cannot be loaded in a DOMU kernel. TODO: explain how to compile npf into a custom kernel, answering (but