--- wikisrc/ports/xen/howto.mdwn 2020/11/15 15:09:31 1.186 +++ wikisrc/ports/xen/howto.mdwn 2020/11/15 15:31:47 1.187 @@ -115,7 +115,7 @@ NetBSD, when run as a domU, can and does Note: NetBSD support is called XEN3. However, it does support Xen 4, because the hypercall interface has remained identical. -# Creating a dom0 +# Creating a NetBSD dom0 In order to install a NetBSD as a dom0, one must first install a normal NetBSD system, and then pivot the install to a dom0 install by changing @@ -133,7 +133,7 @@ Therefore, use the most recent release, ## Installation of Xen -Use the most recent version of Xen in pkgsrc, unless the DESCR says that it ss not suitable. +Use the most recent version of Xen in pkgsrc, unless the DESCR says that it is not suitable. Therefore, choose 4.13. In the dom0, install xenkernel413 and xentools413 from pkgsrc. @@ -159,7 +159,13 @@ menu=Xen:load /netbsd-XEN3_DOM0.gz conso """]] This specifies that the dom0 should have 512MB of ram, leaving the rest -to be allocated for domUs. To use a serial console, use: +to be allocated for domUs. + +NB: This says add, not replace, so that you will be able to boot a +NetBSD kernel without Xen. Once Xen boots ok, you may want to set it +as default. + +To use a serial console, add settings as follows: [[!template id=filecontent name="/boot.cfg" text=""" menu=Xen:load /netbsd-XEN3_DOM0.gz;multiboot /xen.gz dom0_mem=512M console=com1 com1=9600,8n1 @@ -190,11 +196,11 @@ Set `xencommons=YES` in rc.conf: xencommons=YES """]] +\todo Recommend for/against xen-watchdog. + Now, reboot so that you are running a DOM0 kernel under Xen, rather than GENERIC without Xen. -TODO: Recommend for/against xen-watchdog. - Once the reboot is done, use `xl` to inspect Xen's boot messages, available resources, and running domains. For example: @@ -221,16 +227,7 @@ the state when the new xenstored starts. 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. - -## anita (for testing NetBSD) - -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): - -[[!template id=programlisting text=""" -anita --vmm=xl test file:///usr/obj/i386/ -"""]] +\todo Confirm if this is still true in 2020. ## Xen-specific NetBSD issues @@ -246,6 +243,16 @@ options as GENERIC. While it is debatab bug, users should be aware of this and can simply add missing config items if desired. +Finally, there have been occasional reports of trouble with X11 +servers in NetBSD as a dom0. + +## Updating Xen in a dom0 + +Basically, update the xenkernel and xentools packages and copy the new +Xen kernel into place, and reboot. This procedure should be usable to +update to a new Xen release, but the reader is reminded that having a +non-Xen boot methods was recommended earlier. + ## Updating NetBSD in a dom0 This is just like updating NetBSD on bare hardware, assuming the new @@ -256,7 +263,20 @@ and adjusts `/etc`. Note that one must update both the non-Xen kernel typically used for rescue purposes and the DOM0 kernel used with Xen. -## Converting from grub to /boot +## anita (for testing NetBSD) + +With a NetBSD dom0, even without any domUs, 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): + +[[!template id=programlisting text=""" +anita --vmm=xl test file:///usr/obj/i386/ +"""]] + +## Converting from grub to /boot (historical note) + +These instructions are provided only to help people using grub, which +used to be the normal approach. These instructions were used to convert a system from grub to /boot. The system was originally installed in February of @@ -286,13 +306,7 @@ default=1 timeout=30 """]] -## Upgrading Xen versions - -Minor version upgrades are trivial. Just rebuild/replace the -xenkernel version and copy the new xen.gz to `/` (where `/boot.cfg` -references it), and reboot. - -#Unprivileged domains (domU) +# Unprivileged domains (domU) This section describes general concepts about domUs. It does not address specific domU operating systems or how to install them. The @@ -334,6 +348,8 @@ are stored in files and Xen attaches the dom0 on domain creation. The system treats xbd0 as the boot device without needing explicit configuration. +There is not type line; that implicitly defines a pv domU. + By convention, domain config files are kept in `/usr/pkg/etc/xen`. Note that "xl create" takes the name of a config file, while other commands take the name of a domain. @@ -402,11 +418,7 @@ Note that NetBSD by default creates only than 4 total virtual disks at a time, run e.g. "./MAKEDEV vnd4" in the dom0. -Note that NetBSD by default creates only xbd[0123]. If you need more -virtual disks in a domU, run e.g. "./MAKEDEV xbd4" in the domU. - -Virtual Networking ------------------- +## Virtual Networking Xen provides virtual Ethernets, each of which connects the dom0 and a domU. For each virtual network, there is an interface "xvifN.M" in @@ -438,8 +450,7 @@ The MAC address specified is the one use domain. The interface in dom0 will use this address XOR'd with 00:00:00:01:00:00. Random MAC addresses are assigned if not given. -Starting domains automatically ------------------------------- +## Starting domains automatically To start domains `domU-netbsd` and `domU-linux` at boot and shut them down cleanly on dom0 shutdown, add the following in rc.conf: @@ -454,8 +465,8 @@ Creating domUs is almost entirely indepe have already presented the basics of config files. Note that you must have already completed the dom0 setup so that "xl list" works. -Creating a NetBSD PV domU --------------------------- +## Creating a NetBSD PV domU + See the earlier config file, and adjust memory. Decide on how much storage you will provide, and prepare it (file or LVM). @@ -527,8 +538,10 @@ not really a Xen-specific issue, but bec obtained from the dom0, it is far more likely to be out of sync or missing with Xen.) -Creating a Linux domU ---------------------- +Note that NetBSD by default creates only xbd[0123]. If you need more +virtual disks in a domU, run e.g. "./MAKEDEV xbd4" in the domU. + +## Creating a Linux domU Creating unprivileged Linux domains isn't much different from unprivileged NetBSD domains, but there are some details to know. @@ -582,15 +595,13 @@ Use type='pvh'. \todo Explain where the kernel comes from. -Creating a Solaris domU ------------------------ +## Creating a Solaris domU See possibly outdated [Solaris domU instructions](/ports/xen/howto-solaris/). -PCI passthrough: Using PCI devices in guest domains ---------------------------------------------------- +## PCI passthrough: Using PCI devices in guest domains NB: PCI passthrough only works on some Xen versions and as of 2020 it is not clear that it works on any version in pkgsrc. Reports