Diff for /wikisrc/ports/xen/howto.mdwn between versions 1.65 and 1.76

version 1.65, 2014/12/30 17:45:37 version 1.76, 2015/01/17 01:34:29
Line 173  support) is difficult to build.  The fol Line 173  support) is difficult to build.  The fol
         xenkernel42 netbsd-6 i386          xenkernel42 netbsd-6 i386
         xentools42 netbsd-6 i386 *MIXED          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,  (*On netbsd-6 i386, there is a xentools42 in the 2014Q3 official builds,
 but it does not build for gdt.)  but it does not build for gdt.)
   
Line 268  For debugging, one may copy xen-debug.gz Line 274  For debugging, one may copy xen-debug.gz
 to DIAGNOSTIC and DEBUG in NetBSD.  xen-debug.gz is basically only  to DIAGNOSTIC and DEBUG in NetBSD.  xen-debug.gz is basically only
 useful with a serial console.  Then, place a NetBSD XEN3_DOM0 kernel  useful with a serial console.  Then, place a NetBSD XEN3_DOM0 kernel
 in /, copied from releasedir/amd64/binary/kernel/netbsd-XEN3_DOM0.gz  in /, copied from releasedir/amd64/binary/kernel/netbsd-XEN3_DOM0.gz
 of a NetBSD build.  Both xen and NetBSD may be left compressed.  (If  of a NetBSD build.  If using i386, use
 using i386, use releasedir/i386/binary/kernel/netbsd-XEN3PAE_DOM0.gz.)  releasedir/i386/binary/kernel/netbsd-XEN3PAE_DOM0.gz.  (If using Xen
   3.1 and i386, you may use XEN3_DOM0 with the non-PAE Xen.  But you
 With Xen as the kernel, you must provide a dom0 NetBSD kernel to be  should not use Xen 3.1.)  Both xen and the NetBSD kernel may be (and
 used as a module; place this in /.  Suitable kernels are provided in  typically are) left compressed.
 releasedir/binary/kernel:  
   In a dom0 kernel, kernfs is mandatory for xend to comunicate with the
         i386 XEN3_DOM0  kernel, so ensure that /kern is in fstab.  TODO: Say this is default,
         i386 XEN3PAE_DOM0  or file a PR and give a reference.
         amd64 XEN3_DOM0  
   
 The first one is only for use with Xen 3.1 and i386-mode Xen (and you  
 should not do this).  Current Xen always uses PAE on i386, but you  
 should generally use amd64 for the dom0.  In a dom0 kernel, kernfs is  
 mandatory for xend to comunicate with the kernel, so ensure that /kern  
 is in fstab.  TODO: Say this is default, or file a PR and give a  
 reference.  
   
 Because you already installed NetBSD, you have a working boot setup  Because you already installed NetBSD, you have a working boot setup
 with an MBR bootblock, either bootxx_ffsv1 or bootxx_ffsv2 at the  with an MBR bootblock, either bootxx_ffsv1 or bootxx_ffsv2 at the
 beginning of your root filesystem, /boot present, and likely  beginning of your root filesystem, /boot present, and likely
 /boot.cfg.  (If not, fix before continuing!)  /boot.cfg.  (If not, fix before continuing!)
   
 See boot.cfg(5) for an example.  The basic line is  Add a line to to /boot.cfg to boot Xen.  See boot.cfg(5) for an
   example.  The basic line is
   
         menu=Xen:load /netbsd-XEN3_DOM0.gz console=pc;multiboot /xen.gz dom0_mem=256M          menu=Xen:load /netbsd-XEN3_DOM0.gz console=pc;multiboot /xen.gz dom0_mem=256M
   
 which specifies that the dom0 should have 256M, leaving the rest to be  which specifies that the dom0 should have 256M, leaving the rest to be
 allocated for domUs.  In an attempt to add performance, one can also  allocated for domUs.  To use In an attempt to add performance, one can
 add  also add
   
         dom0_max_vcpus=1 dom0_vcpus_pin          dom0_max_vcpus=1 dom0_vcpus_pin
   
Line 308  As with non-Xen systems, you should have Line 307  As with non-Xen systems, you should have
 kernel that works without Xen) and fallback versions of the non-Xen  kernel that works without Xen) and fallback versions of the non-Xen
 kernel, Xen, and the dom0 kernel.  kernel, Xen, and the dom0 kernel.
   
   Now, reboot so that you are running a DOM0 kernel under Xen, rather
   than GENERIC without Xen.
   
 Using grub (historic)  Using grub (historic)
 ---------------------  ---------------------
   
Line 326  Configuring Xen Line 328  Configuring Xen
   
 Xen logs will be in /var/log/xen.  Xen logs will be in /var/log/xen.
   
 Now, you have a system that will boot Xen and the dom0 kernel, and  Now, you have a system that will boot Xen and the dom0 kernel, but not
 just run the dom0 kernel.  There will be no domUs, and none can be  do anything else special.  Make sure that you have rebooted into Xen.
 started because you still have to configure the dom0 tools.  The  There will be no domUs, and none can be started because you still have
 daemons which should be run vary with Xen version and with whether one  to configure the dom0 tools.  The daemons which should be run vary
 is using xm or xl.  Note that xend is for supporting "xm", and should  with Xen version and with whether one is using xm or xl.  Note that
 only be used if you plan on using "xm".  Do NOT enable xend if you  xend is for supporting "xm", and should only be used if you plan on
 plan on using "xl" as it will cause problems.  using "xm".  Do NOT enable xend if you plan on using "xl" as it will
   cause problems.
   
 The installation of NetBSD should already have created devices for xen  The installation of NetBSD should already have created devices for xen
 (xencons, xenevt), but if they are not present, create them:  (xencons, xenevt), but if they are not present, create them:
Line 869  NetBSD as a domU in a VPS Line 872  NetBSD as a domU in a VPS
 The bulk of the HOWTO is about using NetBSD as a dom0 on your own  The bulk of the HOWTO is about using NetBSD as a dom0 on your own
 hardware.  This section explains how to deal with Xen in a domU as a  hardware.  This section explains how to deal with Xen in a domU as a
 virtual private server where you do not control or have access to the  virtual private server where you do not control or have access to the
 dom0.  dom0.  This is not intended to be an exhaustive list of VPS providers;
   only a few are mentioned that specifically support NetBSD.
   
 VPS operators provide varying degrees of access and mechanisms for  VPS operators provide varying degrees of access and mechanisms for
 configuration.  The big issue is usually how one controls which kernel  configuration.  The big issue is usually how one controls which kernel
 is booted, because the kernel is nominally in the dom0 filesystem (to  is booted, because the kernel is nominally in the dom0 filesystem (to
 which VPS users do not normally have acesss).  which VPS users do not normally have acesss).  A second issue is how
   to install NetBSD.
 A VPS user may want to compile a kernel for security updates, to run  A VPS user may want to compile a kernel for security updates, to run
 npf, run IPsec, or any other reason why someone would want to change  npf, run IPsec, or any other reason why someone would want to change
 their kernel.  their kernel.
   
 One approach is to have an adminstrative interface to upload a kernel,  One approach is to have an adminstrative interface to upload a kernel,
 or to select from a prepopulated list.  Other approaches are py-grub  or to select from a prepopulated list.  Other approaches are pygrub
 (deprecated) and pvgrub, which are ways to have a bootloader obtain a  (deprecated) and pvgrub, which are ways to have a bootloader obtain a
 kernel from the domU filesystem.  This is closer to a regular physical  kernel from the domU filesystem.  This is closer to a regular physical
 computer, where someone who controls a machine can replace the kernel.  computer, where someone who controls a machine can replace the kernel.
   
 py-grub  A second issue is multiple CPUs.  With NetBSD 6, domUs support
   multiple vcpus, and it is typical for VPS providers to enable multiple
   CPUs for NetBSD domUs.
   
   pygrub
 -------  -------
   
 py-grub runs in the dom0 and looks into the domU filesystem.  This  pygrub runs in the dom0 and looks into the domU filesystem.  This
 implies that the domU must have a kernel in a filesystem in a format  implies that the domU must have a kernel in a filesystem in a format
 known to py-grub.  As of 2014, py-grub seems to be of mostly historical interest.  known to pygrub.  As of 2014, pygrub seems to be of mostly historical
   interest.
   
 pvgrub  pvgrub
 ------  ------
Line 900  pvgrub is a version of grub that uses PV Line 909  pvgrub is a version of grub that uses PV
 calls.  It is booted from the dom0 as the domU kernel, and then reads  calls.  It is booted from the dom0 as the domU kernel, and then reads
 /grub/menu.lst and loads a kernel from the domU filesystem.  /grub/menu.lst and loads a kernel from the domU filesystem.
   
 [prgmr.com](http://prgmr.com/) uses this approach to let users choose  [Panix](http://www.panix.com/) lets users use pvgrub.  Panix reports
 their own operating system and kernel.  See then [prgmr.com NetBSD  that pvgrub works with FFsv2 with 16K/2K and 32K/4K block/frag sizes
 HOWTO](http://wiki.prgmr.com/mediawiki/index.php/NetBSD_as_a_DomU).  (and hence with defaults from "newfs -O 2").  See [Panix's pvgrub
   page](http://www.panix.com/v-colo/grub.html), which describes only
 Because [grub's FFS code](http://xenbits.xensource.com/hg/xen-unstable.hg/file/bca284f67702/tools/libfsimage/ufs/fsys_ufs.c)  Linux but should be updated to cover NetBSD :-).
 appears not to support all aspects of modern FFS,  
 typically one has an ext2 or FAT partition for the kernel, so that  [prgmr.com](http://prgmr.com/) also lets users with pvgrub to boot
 grub can understand it, which leads to /netbsd not being the actual  their own kernel.  See then [prgmr.com NetBSD
 kernel.  One must remember to update the special boot partiion.  HOWTO](http://wiki.prgmr.com/mediawiki/index.php/NetBSD_as_a_DomU)
   (which is in need of updating).
   
   It appears that [grub's FFS
   code](http://xenbits.xensource.com/hg/xen-unstable.hg/file/bca284f67702/tools/libfsimage/ufs/fsys_ufs.c)
   does not support all aspects of modern FFS, but there are also reports
   that FFSv2 works fine.  At prgmr, typically one has an ext2 or FAT
   partition for the kernel with the intent that grub can understand it,
   which leads to /netbsd not being the actual kernel.  One must remember
   to update the special boot partiion.
   
 Amazon  Amazon
 ------  ------
Line 929  TODO items for improving NetBSD/xen Line 947  TODO items for improving NetBSD/xen
 ===================================  ===================================
   
 * Package Xen 4.4.  * Package Xen 4.4.
 * Get PCI passthrough working on Xen 4.2.  * Get PCI passthrough working on Xen 4.2 (or 4.4).
 * Get pvgrub into pkgsrc, either via xentools or separately.  * Get pvgrub into pkgsrc, either via xentools or separately.
 * grub  * grub
   * Add support to pkgsrc grub2 for UFS2 and arbitrary fragsize/blocksize.    * Check/add support to pkgsrc grub2 for UFS2 and arbitrary
       fragsize/blocksize (UFS2 support may be present; the point is to
       make it so that with any UFS1/UFS2 filesystem setup that works
       with NetBSD grub will also work).
       See [pkg/40258](http://gnats.netbsd.org/40258).
   * Push patches upstream.    * Push patches upstream.
   * Get UFS2 patches into pvgrub.    * Get UFS2 patches into pvgrub.
 * Add support for PV ops to a version of /boot, and make it usable as  * Add support for PV ops to a version of /boot, and make it usable as

Removed from v.1.65  
changed lines
  Added in v.1.76


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