Diff for /wikisrc/ports/xen/howto.mdwn between versions 1.115 and 1.125

version 1.115, 2016/12/20 13:16:43 version 1.125, 2016/12/20 18:26:11
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.  In  Generally any machine that runs NetBSD/amd64 will work with Xen and PV
 theory i386 computers without amd64 support can be used for Xen <=  guests.  In theory i386 computers (without x86_64/amd64 support) can
 4.2, but we have no recent reports of this working (this is a hint).  be used for Xen <= 4.2, but we have no recent reports of this working
 For HVM guests, the VT or VMX CPU feature (Intel) or SVM/HVM/VT  (this is a hint).  For HVM guests, hardware support is needed, but it
 (amd64) is needed; "cpuctl identify 0" will show this.  TODO: Clean up  is common on recent machines.  For Intel CPUs, one needs the VT-x
 and check the above features.  extension, shown in "cpuctl identify 0" as VMX.  For AMD CPUs, one
   needs the AMD-V extensions, shown in "cpuctl identify 0" as SVM.
   There are further features for IOMMU virtualization, Intel's VT-d and
   AMD's AMD-Vi.  TODO: Explain whether Xen on NetBSD makes use of these
   features.  TODO: Review by someone who really understands this.
   
   Note that a FreeBSD dom0 requires VT-x and VT-d (or equivalent); this
   is because the FreeBSD dom0 does not run in PV mode.
   
 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 44  attempts to address both the case of run Line 51  attempts to address both the case of run
 and running domUs under it (NetBSD and other), and also running NetBSD  and running domUs under it (NetBSD and other), and also running NetBSD
 as a domU in a VPS.  as a domU in a VPS.
   
 Some versions of Xen support "PCI passthrough", which means that  Xen 3.1 in pkgsrc supports "PCI passthrough", which means that
 specific PCI devices can be made available to a specific domU instead  specific PCI devices can be made available to a specific domU instead
 of the dom0.  This can be useful to let a domU run X11, or access some  of the dom0.  This can be useful to let a domU run X11, or access some
 network interface or other peripheral.  network interface or other peripheral.
Line 62  things must be done, guiding the reader  Line 69  things must be done, guiding the reader 
 path when there are no known good reasons to stray.  path when there are no known good reasons to stray.
   
 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, with installing NetBSD on i386/amd64 hardware, and with
 on i386/amd64 hardware and installing software from pkgsrc.  installing software from pkgsrc.  See also the [Xen
 See also the [Xen website](http://www.xenproject.org/).  website](http://www.xenproject.org/).
   
 Versions of Xen and NetBSD  Versions of Xen and NetBSD
 ==========================  ==========================
Line 104  need to use xm instead of xl, or if you  Line 111  need to use xm instead of xl, or if you 
 (because your hardware is i386 only).  (because your hardware is i386 only).
   
 xenkernel45 provides Xen 4.5.  As of 2016-12, security patches were  xenkernel45 provides Xen 4.5.  As of 2016-12, security patches were
 released by Xen and applied to pkgsrc.  Xen 4.5 requires an amd64  released by Xen and applied to pkgsrc.  Xen 4.5 requires using a dom0
 dom0, but domUs can be amd64 or i386 PAE.  TODO: It is either a  running NetBSD's amd64 port (Intel or AMD hardware is fine), but domUs
 conservative choice or somewhat old.  can be amd64 or i386 PAE.  TODO: It is either a conservative choice or
   somewhat old.
   
 xenkernel46 provides Xen 4.6.  It is new to pkgsrc as of 2016-05.  As  xenkernel46 provides Xen 4.6.  It is new to pkgsrc as of 2016-05.  As
 of 2016-12, security patches were released by Xen and applied to  of 2016-12, security patches were released by Xen and applied to
 pkgsrc.  Xen 4.6 requires an amd64 dom0, but domUs can be amd64 or  pkgsrc.  Xen 4.6 similarly requires a NetBSD/amd64 dom0, but domUs can
 i386 PAE.  TODO: It is either a somewhat aggressive choice or the  be amd64 or i386 PAE.  TODO: It is either a somewhat aggressive choice
 standard choice  or the standard choice.
   
 Xen 4.7 (released 2016-06) and 4.8 (released 2016-12) are not yet in  Xen 4.7 (released 2016-06) and 4.8 (released 2016-12) are not yet in
 pkgsrc.  pkgsrc.
Line 140  NetBSD Line 148  NetBSD
 The netbsd-6, netbsd-7, and -current branches are all reasonable  The netbsd-6, netbsd-7, and -current branches are all reasonable
 choices, with more or less the same considerations for non-Xen use.  choices, with more or less the same considerations for non-Xen use.
 Therefore, netbsd-7 is recommended as the stable version of the most  Therefore, netbsd-7 is recommended as the stable version of the most
 recent release for production use.  For those wanting to learn Xen or  recent release for production use.  In addition, netbsd-7 and -current
 without production stability concerns, netbsd-7 is still likely most  have a important scheduler fix (in November of 2015) affecting
 appropriate, but -current is also a reasonable choice.  Xen runs fine  contention between dom0 and domUs; see
 on netbsd-5, but the xentools packages are likely difficult to build.  https://releng.netbsd.org/cgi-bin/req-7.cgi?show=1040 for a
   description.  For those wanting to learn Xen or without production
   stability concerns, netbsd-7 is still likely most appropriate, but
   -current is also a reasonable choice.  (Xen runs ok on netbsd-5, but
   the xentools packages are likely difficult to build, and netbsd-5 is
   not supported.)
   
 As of NetBSD 6, a NetBSD domU will support multiple vcpus.  There is  As of NetBSD 6, a NetBSD domU will support multiple vcpus.  There is
 no SMP support for NetBSD as dom0.  (The dom0 itself doesn't really  no SMP support for NetBSD as dom0.  (The dom0 itself doesn't really
Line 199  xl, the NetBSD 7 stable branch, and to u Line 212  xl, the NetBSD 7 stable branch, and to u
 dom0.  Either the i386PAE or amd64 version of NetBSD may be used as  dom0.  Either the i386PAE or amd64 version of NetBSD may be used as
 domUs.  domUs.
   
 Build problems  Status
 --------------  ------
   
 Ideally, all versions of Xen in pkgsrc would build on all versions of  
 NetBSD on both i386 and amd64.  However, that isn't the case.  Besides  
 aging code and aging compilers, qemu (included in xentools for HVM  
 support) is difficult to build.  The following are known to work or FAIL:  
   
         xenkernel3 netbsd-5 amd64  
         xentools3 netbsd-5 amd64  
         xentools3=hvm netbsd-5 amd64 ????  
         xenkernel33 netbsd-5 amd64  
         xentools33 netbsd-5 amd64  
         xenkernel41 netbsd-5 amd64  
         xentools41 netbsd-5 amd64  
         xenkernel42 netbsd-5 amd64  
         xentools42 netbsd-5 amd64  
   
         xenkernel3 netbsd-6 i386 FAIL  
         xentools3 netbsd-6 i386  
         xentools3-hvm netbsd-6 i386 FAIL (dependencies fail)  
         xenkernel33 netbsd-6 i386  
         xentools33 netbsd-6 i386  
         xenkernel41 netbsd-6 i386  
         xentools41 netbsd-6 i386  
         xenkernel42 netbsd-6 i386  
         xentools42 netbsd-6 i386 *MIXED  
   
         (all 3 and 33 seem to FAIL)  
         xenkernel41 netbsd-7 i386  
         xentools41 netbsd-7 i386  
         xenkernel42 netbsd-7 i386  
         xentools42 netbsd-7 i386 ??FAIL  
   
 (*On netbsd-6 i386, there is a xentools42 in the 2014Q3 official builds,  Ideally, all versions of Xen in pkgsrc would build on all supported
 but it does not build for gdt.)  versions of NetBSD/amd64, to the point where this section would be
   silly.  However, that has not always been the case.  Besides aging
   code and aging compilers, qemu (included in xentools for HVM support)
   is difficult to build.  Note that there is intentionally no data for
   4.5+ up for i386, and often omits xentools info if the corresponding
   kernel fails.
   
   The following table gives status, with the date last checked
   (generally on the most recent quarterly branch).  The first code is
   "builds" if it builds ok, and "FAIL" for a failure to build.  The
   second code/date only appears for xenkernel* and is "works" if it runs
   ok as a dom0, and "FAIL" if it won't boot or run a domU.
   
           xenkernel3 netbsd-6 i386 FAIL 201612
           xenkernel33 netbsd-6 i386 FAIL 201612
           xenkernel41 netbsd-6 i386 builds 201612
           xenkernel42 netbsd-6 i386 builds 201612
           xentools3 netbsd-6 i386 builds 201412
           xentools3-hvm netbsd-6 i386 FAIL 201412
           xentools33 netbsd-6 i386 builds 201412
           xentools41 netbsd-6 i386 builds 201612
           xentools42 netbsd-6 i386 ? 201412
   
           xenkernel3 netbsd-7 i386 FAIL 201412
           xenkernel33 netbsd-7 i386 FAIL 201412
           xenkernel41 netbsd-7 i386 builds 201412
           xenkernel42 netbsd-7 i386 builds 201412
           xentools41 netbsd-7 i386 builds 201412
           xentools42 netbsd-7 i386 ??FAIL 201412
   
           xenkernel3 netbsd-6 amd64 FAIL 201612
           xenkernel33 netbsd-6 amd64 FAIL 201612
           xenkernel41 netbsd-6 amd64 builds 201612 works 201612
           xenkernel42 netbsd-6 amd64 builds  201612 works 201612
           xenkernel45 netbsd-6 amd64 builds 201612
           xenkernel46 netbsd-6 amd64 builds 201612
           xentools41 netbsd-6 amd64 builds 201612
           xentools42 netbsd-6 amd64 builds 201612
           xentools45 netbsd-6 amd64 builds 201612
           xentools46 netbsd-6 amd64 FAIL 201612
   
           xenkernel3 netbsd-7 amd64 builds 201612
           xenkernel33 netbsd-7 amd64 builds 201612
           xenkernel41 netbsd-7 amd64 builds 201612
           xenkernel42 netbsd-7 amd64 builds 201612
           xenkernel45 netbsd-7 amd64 builds 201612
           xenkernel46 netbsd-7 amd64 builds 201612
           xentools3 netbsd-7 amd64 builds 201612
           xentools3-hvm netbsd-7 amd64 builds 201612
           xentools33 netbsd-7 amd64 FAIL 201612
           xentools41 netbsd-7 amd64 builds 201612
           xentools42 netbsd-7 amd64 builds 201612
           xentools45 netbsd-7 amd64 builds 201612
           xentools46 netbsd-7 amd64 builds 201612
   
 NetBSD as a dom0  NetBSD as a dom0
 ================  ================
Line 1093  TODO items for improving NetBSD/xen Line 1128  TODO items for improving NetBSD/xen
 Random pointers  Random pointers
 ===============  ===============
   
 TODO: This section contains links from elsewhere not yet integrated  This section contains links from elsewhere not yet integrated into the
 into the HOWTO.  HOWTO, and other guides.
   
 * http://www.lumbercartel.ca/library/xen/  * http://www.lumbercartel.ca/library/xen/
 * http://pbraun.nethence.com/doc/sysutils/xen_netbsd_dom0.html  * http://pbraun.nethence.com/doc/sysutils/xen_netbsd_dom0.html
   * https://gmplib.org/~tege/xen.html

Removed from v.1.115  
changed lines
  Added in v.1.125


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb