--- wikisrc/ports/xen/howto.mdwn 2020/11/15 14:31:58 1.180 +++ wikisrc/ports/xen/howto.mdwn 2020/11/15 14:37:20 1.181 @@ -79,8 +79,7 @@ because the hypercall interface has rema Older Xen had a python-based management tool called xm, now replaced by xl. -Architecture ------------- +## Architecture Xen 4.5 and later runs on x86_64 hardware (the NetBSD amd64 port). There is a concept of Xen running on ARM, but there are no reports of this working with NetBSD. @@ -100,14 +99,12 @@ In 2018-05, trouble booting a dom0 was r 512M it worked reliably. This does not make sense, but if you see "not ELF" after Xen boots, try increasing dom0 RAM. -Installation of NetBSD ----------------------- +## Installation of NetBSD [Install NetBSD/amd64](/guide/inst/) just as you would if you were not using Xen. -Installation of Xen -------------------- +## Installation of Xen 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. @@ -197,8 +194,7 @@ make this work, one should not expect to (and thus xencommons). There is currently no reason to expect that this will get fixed any time soon. -anita (for testing NetBSD) --------------------------- +## 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 @@ -208,8 +204,7 @@ root, because anita must create a domU): anita --vmm=xl test file:///usr/obj/i386/ """]] -Xen-specific NetBSD issues --------------------------- +## Xen-specific NetBSD issues There are (at least) two additional things different about NetBSD as a dom0 kernel compared to hardware. @@ -223,8 +218,7 @@ options as GENERIC. While it is debatab bug, users should be aware of this and can simply add missing config items if desired. -Updating NetBSD in a dom0 -------------------------- +## Updating NetBSD in a dom0 This is just like updating NetBSD on bare hardware, assuming the new version supports the version of Xen you are running. Generally, one @@ -234,8 +228,7 @@ 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 ------------------------------ +## Converting from grub to /boot These instructions were used to convert a system from grub to /boot. The system was originally installed in February of @@ -265,8 +258,7 @@ default=1 timeout=30 """]] -Upgrading Xen versions ---------------------- +## Upgrading Xen versions Minor version upgrades are trivial. Just rebuild/replace the xenkernel version and copy the new xen.gz to `/` (where `/boot.cfg` @@ -287,8 +279,7 @@ mediated by Xen, and configured in the d Entropy in domUs can be an issue; physical disks and network are on the dom0. NetBSD's /dev/random system works, but is often challenged. -Config files ------------- +## Config files See /usr/pkg/share/examples/xen/xlexample* for a small number of well-commented examples, mostly for running @@ -334,8 +325,7 @@ equivalent to pushing the power button; power-press event and do a clean shutdown. Shutting down the dom0 will trigger controlled shutdowns of all configured domUs. -CPU and memory --------------- +## CPU and memory A domain is provided with some number of vcpus, up to the number of CPUs seen by the hypervisor. For a domU, it is controlled @@ -349,8 +339,7 @@ than the available memory. Xen also provides a "balloon" driver, which can be used to let domains use more memory temporarily. -Virtual disks -------------- +## Virtual disks In domU config files, the disks are defined as a sequence of 3-tuples: @@ -702,8 +691,9 @@ NetBSD apparently only use specific vers \todo Explain better. -pvgrub ------- +## Boot methods + +### pvgrub pvgrub is a version of grub that uses PV operations instead of BIOS calls. It is booted from the dom0 as the domU kernel, and then reads @@ -728,8 +718,7 @@ partition for the kernel with the intent which leads to /netbsd not being the actual kernel. One must remember to update the special boot partition. -pygrub -------- +### pygrub pygrub runs in the dom0 and looks into the domU file system. This implies that the domU must have a kernel in a file system in a format @@ -743,7 +732,8 @@ historical DomU images using it still wo As of 2014, pygrub seems to be of mostly historical interest. New DomUs should use pvgrub. -Amazon ------- +## Specific Providers + +### Amazon See the [Amazon EC2 page](/amazon_ec2/).