[PATCH 14/29] docs: Convert 'drvxen' page to rST

Peter Krempa pkrempa at redhat.com
Mon Mar 28 12:10:29 UTC 2022


Fix the referenced anchor in 'formatdomain.rst' right away.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 docs/drvxen.html.in   | 358 ------------------------------------------
 docs/drvxen.rst       | 338 +++++++++++++++++++++++++++++++++++++++
 docs/formatdomain.rst |   2 +-
 docs/meson.build      |   2 +-
 4 files changed, 340 insertions(+), 360 deletions(-)
 delete mode 100644 docs/drvxen.html.in
 create mode 100644 docs/drvxen.rst

diff --git a/docs/drvxen.html.in b/docs/drvxen.html.in
deleted file mode 100644
index 95be36c879..0000000000
--- a/docs/drvxen.html.in
+++ /dev/null
@@ -1,358 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <body>
-    <h1>libxl hypervisor driver for Xen</h1>
-
-    <ul id="toc"></ul>
-
-    <p>
-      The libvirt libxl driver provides the ability to manage virtual
-      machines on any Xen release from 4.6.0 onwards.
-    </p>
-
-    <h2><a id="project">Project Links</a></h2>
-
-    <ul>
-      <li>
-        The <a href="https://www.xenproject.org">Xen</a>
-        hypervisor on Linux and Solaris hosts
-      </li>
-    </ul>
-
-    <h2><a id="prereq">Deployment pre-requisites</a></h2>
-
-    <p>
-      The libvirt libxl driver uses Xen's libxl API, also known as
-      libxenlight, to implement libvirt's hypervisor driver
-      functionality. libxl provides a consolidated interface for
-      managing a Xen host and its virtual machines, unlike old
-      versions of Xen where applications often had to communicate
-      with xend, xenstored, and the hypervisor itself via hypercalls.
-      With libxl the only pre-requisit is a properly installed Xen
-      host with the libxl toolstack running in a service domain
-      (often Domain-0).
-    </p>
-
-    <h2><a id="uri">Connections to libxl driver</a></h2>
-
-    <p>
-      The libvirt libxl driver is a single-instance privileged driver,
-      with a driver name of 'xen'. Some example connection URIs for
-      the libxl driver are:
-    </p>
-
-<pre>
-xen:///system                     (local access, direct)
-xen+unix:///system                (local access, via daemon)
-xen://example.com/system          (remote access, TLS/x509)
-xen+tcp://example.com/system      (remote access, SASl/Kerberos)
-xen+ssh://root@example.com/system (remote access, SSH tunnelled)
-</pre>
-
-
-    <h2><a id="configFiles">Location of configuration files</a></h2>
-
-    <p>
-      The libxl driver comes with sane default values. However, during its
-      initialization it reads a configuration file which offers system
-      administrator to override some of that default. The file is located
-      under <code>/etc/libvirt/libxl.conf</code>
-    </p>
-
-
-    <h2><a id="imex">Import and export of libvirt domain XML configs</a></h2>
-
-    <p>
-      The libxl driver currently supports three native
-      config formats. The first, known as <code>xen-xm</code>, is the
-      original Xen virtual machine config format used by the legacy
-      xm/xend toolstack. The second, known as <code>xen-sxpr</code>,
-      is also one of the original formats that was used by xend's
-      legacy HTTP RPC service (<span class='removed'>removed in 5.6.0</span>)
-    </p>
-
-    <p>
-      The third format is <code>xen-xl</code>, which is the virtual
-      machine config format supported by modern Xen. The <code>xen-xl</code>
-      format is described in the xl.cfg(5) man page.
-    </p>
-
-    <h3><a id="xmlimport">Converting from XM config files to domain XML</a></h3>
-
-    <p>
-      The <code>virsh domxml-from-native</code> provides a way to convert an
-      existing set of xl, xm, or sxpr config files to libvirt Domain XML,
-      which can then be used by libvirt.
-    </p>
-
-    <pre>$ virsh -c xen:///system domxml-from-native xen-xm rhel5.cfg
-<domain type='xen'>
-  <name>rhel5pv</name>
-  <uuid>8f07fe28-753f-2729-d76d-bdbd892f949a</uuid>
-  <memory>2560000</memory>
-  <currentMemory>307200</currentMemory>
-  <vcpu>4</vcpu>
-  <bootloader>/usr/bin/pygrub</bootloader>
-  <os>
-    <type arch='x86_64' machine='xenpv'>linux</type>
-  </os>
-  <clock offset='utc'/>
-  <on_poweroff>destroy</on_poweroff>
-  <on_reboot>restart</on_reboot>
-  <on_crash>restart</on_crash>
-  <devices>
-    <disk type='file' device='disk'>
-      <driver name='tap' type='aio'/>
-      <source file='/var/lib/xen/images/rhel5pv.img'/>
-      <target dev='xvda' bus='xen'/>
-    </disk>
-    <disk type='file' device='disk'>
-      <driver name='tap' type='qcow'/>
-      <source file='/root/qcow1-xen.img'/>
-      <target dev='xvdd' bus='xen'/>
-    </disk>
-    <interface type='bridge'>
-      <mac address='00:16:3e:60:36:ba'/>
-      <source bridge='xenbr0'/>
-    </interface>
-    <console type='pty'>
-      <target port='0'/>
-    </console>
-    <input type='mouse' bus='xen'/>
-    <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/>
-  </devices>
-</domain></pre>
-
-    <h3><a id="xmlexport">Converting from domain XML to XM config files</a></h3>
-
-    <p>
-      The <code>virsh domxml-to-native</code> provides a way to convert a
-      guest description using libvirt Domain XML into xl, xm, or sxpr config
-      format.
-    </p>
-
-    <pre>$ virsh -c xen:///system domxml-to-native xen-xm rhel5pv.xml
-name = "rhel5pv"
-uuid = "8f07fe28-753f-2729-d76d-bdbd892f949a"
-maxmem = 2500
-memory = 300
-vcpus = 4
-bootloader = "/usr/bin/pygrub"
-kernel = "/var/lib/xen/boot_kernel.0YK-cS"
-ramdisk = "/var/lib/xen/boot_ramdisk.vWgrxK"
-extra = "ro root=/dev/VolGroup00/LogVol00 rhgb quiet"
-on_poweroff = "destroy"
-on_reboot = "restart"
-on_crash = "restart"
-sdl = 0
-vnc = 1
-vncunused = 1
-vnclisten = "0.0.0.0"
-disk = [ "tap:aio:/var/lib/xen/images/rhel5pv.img,xvda,w", "tap:qcow:/root/qcow1-xen.img,xvdd,w" ]
-vif = [ "mac=00:16:3e:60:36:ba,bridge=virbr0,script=vif-bridge,vifname=vif5.0" ]</pre>
-
-    <h2><a id="xencommand">Pass-through of arbitrary command-line arguments
-    to the qemu device model</a></h2>
-
-    <p><span class="since">Since 6.7.0</span>, the Xen driver supports passing
-      arbitrary command-line arguments to the qemu device model used by Xen with
-      the <code><xen:commandline></code> element under <code>domain</code>.
-      In order to use command-line pass-through, an XML namespace request must be
-      issued that pulls in <code>http://libvirt.org/schemas/domain/xen/1.0</code>.
-      With the namespace in place, it is then possible to add
-      <code><xen:arg></code>sub-elements to
-      <code><xen:commandline></code> describing each argument passed to
-      the device model when starting the domain.
-    </p>
-    <p>The following example illustrates passing arguments to the QEMU device
-      model that define a floppy drive, which Xen does not support through its
-      public APIs:
-    </p>
-    <pre>
-<domain type="xen" xmlns:xen="http://libvirt.org/schemas/domain/xen/1.0">
-  ...
-  <xen:commandline>
-    <xen:arg value='-drive'/>
-    <xen:arg value='file=/path/to/image,format=raw,if=none,id=drive-fdc0-0-0'/>
-    <xen:arg value='-global'/>
-    <xen:arg value='isa-fdc.driveA=drive-fdc0-0-0'/>
-  </xen:commandline>
-</domain>
-    </pre>
-
-    <h2><a id="xmlconfig">Example domain XML config</a></h2>
-
-    <p>
-      Below are some example XML configurations for Xen guest domains.
-      For full details of the available options, consult the <a href="formatdomain.html">domain XML format</a>
-      guide.
-    </p>
-
-    <h3>Paravirtualized guest bootloader</h3>
-
-    <p>
-      Using a bootloader allows a paravirtualized guest to be booted using
-      a kernel stored inside its virtual disk image
-    </p>
-
-        <pre><domain type='xen' >
-  <name>fc8</name>
-  <bootloader>/usr/bin/pygrub</bootloader>
-  <os>
-    <type>linux</type>
-  </os>
-  <memory>131072</memory>
-  <vcpu>1</vcpu>
-  <devices>
-    <disk type='file'>
-      <source file='/var/lib/xen/images/fc4.img'/>
-      <target dev='sda1'/>
-    </disk>
-    <interface type='bridge'>
-      <source bridge='xenbr0'/>
-      <mac address='aa:00:00:00:00:11'/>
-      <script path='/etc/xen/scripts/vif-bridge'/>
-    </interface>
-    <console tty='/dev/pts/5'/>
-  </devices>
-</domain></pre>
-
-    <h3>Paravirtualized guest direct kernel boot</h3>
-
-    <p>
-      For installation of paravirtualized guests it is typical to boot the
-      domain using a kernel and initrd stored in the host OS
-    </p>
-
-        <pre><domain type='xen' >
-  <name>fc8</name>
-  <os>
-    <type>linux</type>
-    <kernel>/var/lib/xen/install/vmlinuz-fedora8-x86_64</kernel>
-    <initrd>/var/lib/xen/install/initrd-vmlinuz-fedora8-x86_64</initrd>
-    <cmdline> kickstart=http://example.com/myguest.ks </cmdline>
-  </os>
-  <memory>131072</memory>
-  <vcpu>1</vcpu>
-  <devices>
-    <disk type='file'>
-      <source file='/var/lib/xen/images/fc4.img'/>
-      <target dev='sda1'/>
-    </disk>
-    <interface type='bridge'>
-      <source bridge='xenbr0'/>
-      <mac address='aa:00:00:00:00:11'/>
-      <script path='/etc/xen/scripts/vif-bridge'/>
-    </interface>
-    <graphics type='vnc' port='-1'/>
-    <console tty='/dev/pts/5'/>
-  </devices>
-</domain></pre>
-
-    <h3>Fullyvirtualized guest BIOS boot</h3>
-
-    <p>
-      Fullyvirtualized guests use the emulated BIOS to boot off the primary
-      harddisk, CDROM or Network PXE ROM.
-    </p>
-
-        <pre><domain type='xen' id='3'>
-  <name>fv0</name>
-  <uuid>4dea22b31d52d8f32516782e98ab3fa0</uuid>
-  <os>
-    <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
-    <boot dev='hd'/>
-  </os>
-  <memory>524288</memory>
-  <vcpu>1</vcpu>
-  <on_poweroff>destroy</on_poweroff>
-  <on_reboot>restart</on_reboot>
-  <on_crash>restart</on_crash>
-  <features>
-    <pae/>
-    <acpi/>
-    <apic/>
-  </features>
-  <clock sync="localtime"/>
-  <devices>
-    <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
-    <interface type='bridge'>
-      <source bridge='xenbr0'/>
-      <mac address='00:16:3e:5d:c7:9e'/>
-      <script path='vif-bridge'/>
-    </interface>
-    <disk type='file'>
-      <source file='/var/lib/xen/images/fv0'/>
-      <target dev='hda'/>
-    </disk>
-    <disk type='file' device='cdrom'>
-      <source file='/var/lib/xen/images/fc5-x86_64-boot.iso'/>
-      <target dev='hdc'/>
-      <readonly/>
-    </disk>
-    <disk type='file' device='floppy'>
-      <source file='/root/fd.img'/>
-      <target dev='fda'/>
-    </disk>
-    <graphics type='vnc' port='5904'/>
-  </devices>
-</domain></pre>
-
-    <h3>Fullyvirtualized guest direct kernel boot</h3>
-
-    <p>
-      With Xen 3.2.0 or later it is possible to bypass the BIOS and directly
-      boot a Linux kernel and initrd as a fullyvirtualized domain. This allows
-      for complete automation of OS installation, for example using the Anaconda
-      kickstart support.
-    </p>
-
-        <pre><domain type='xen' id='3'>
-  <name>fv0</name>
-  <uuid>4dea22b31d52d8f32516782e98ab3fa0</uuid>
-  <os>
-    <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
-    <kernel>/var/lib/xen/install/vmlinuz-fedora8-x86_64</kernel>
-    <initrd>/var/lib/xen/install/initrd-vmlinuz-fedora8-x86_64</initrd>
-    <cmdline> kickstart=http://example.com/myguest.ks </cmdline>
-  </os>
-  <memory>524288</memory>
-  <vcpu>1</vcpu>
-  <on_poweroff>destroy</on_poweroff>
-  <on_reboot>restart</on_reboot>
-  <on_crash>restart</on_crash>
-  <features>
-    <pae/>
-    <acpi/>
-    <apic/>
-  </features>
-  <clock sync="localtime"/>
-  <devices>
-    <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
-    <interface type='bridge'>
-      <source bridge='xenbr0'/>
-      <mac address='00:16:3e:5d:c7:9e'/>
-      <script path='vif-bridge'/>
-    </interface>
-    <disk type='file'>
-      <source file='/var/lib/xen/images/fv0'/>
-      <target dev='hda'/>
-    </disk>
-    <disk type='file' device='cdrom'>
-      <source file='/var/lib/xen/images/fc5-x86_64-boot.iso'/>
-      <target dev='hdc'/>
-      <readonly/>
-    </disk>
-    <disk type='file' device='floppy'>
-      <source file='/root/fd.img'/>
-      <target dev='fda'/>
-    </disk>
-    <graphics type='vnc' port='5904'/>
-  </devices>
-</domain></pre>
-
-  </body>
-</html>
diff --git a/docs/drvxen.rst b/docs/drvxen.rst
new file mode 100644
index 0000000000..c131d52c7a
--- /dev/null
+++ b/docs/drvxen.rst
@@ -0,0 +1,338 @@
+.. role:: since
+
+===============================
+libxl hypervisor driver for Xen
+===============================
+
+.. contents::
+
+The libvirt libxl driver provides the ability to manage virtual machines on any
+Xen release from 4.6.0 onwards.
+
+Project Links
+-------------
+
+-  The `Xen <https://www.xenproject.org>`__ hypervisor on Linux and Solaris
+   hosts
+
+Deployment pre-requisites
+-------------------------
+
+The libvirt libxl driver uses Xen's libxl API, also known as libxenlight, to
+implement libvirt's hypervisor driver functionality. libxl provides a
+consolidated interface for managing a Xen host and its virtual machines, unlike
+old versions of Xen where applications often had to communicate with xend,
+xenstored, and the hypervisor itself via hypercalls. With libxl the only
+pre-requisit is a properly installed Xen host with the libxl toolstack running
+in a service domain (often Domain-0).
+
+Connections to libxl driver
+---------------------------
+
+The libvirt libxl driver is a single-instance privileged driver, with a driver
+name of 'xen'. Some example connection URIs for the libxl driver are:
+
+::
+
+   xen:///system                     (local access, direct)
+   xen+unix:///system                (local access, via daemon)
+   xen://example.com/system          (remote access, TLS/x509)
+   xen+tcp://example.com/system      (remote access, SASl/Kerberos)
+   xen+ssh://root@example.com/system (remote access, SSH tunnelled)
+
+Location of configuration files
+-------------------------------
+
+The libxl driver comes with sane default values. However, during its
+initialization it reads a configuration file which offers system administrator
+to override some of that default. The file is located under
+``/etc/libvirt/libxl.conf``
+
+Import and export of libvirt domain XML configs
+-----------------------------------------------
+
+The libxl driver currently supports three native config formats. The first,
+known as ``xen-xm``, is the original Xen virtual machine config format used by
+the legacy xm/xend toolstack. The second, known as ``xen-sxpr``, is also one of
+the original formats that was used by xend's legacy HTTP RPC service (
+:since:`removed in 5.6.0` )
+
+The third format is ``xen-xl``, which is the virtual machine config format
+supported by modern Xen. The ``xen-xl`` format is described in the xl.cfg(5) man
+page.
+
+Converting from XM config files to domain XML
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``virsh domxml-from-native`` provides a way to convert an existing set of
+xl, xm, or sxpr config files to libvirt Domain XML, which can then be used by
+libvirt.
+
+::
+
+   $ virsh -c xen:///system domxml-from-native xen-xm rhel5.cfg
+   <domain type='xen'>
+     <name>rhel5pv</name>
+     <uuid>8f07fe28-753f-2729-d76d-bdbd892f949a</uuid>
+     <memory>2560000</memory>
+     <currentMemory>307200</currentMemory>
+     <vcpu>4</vcpu>
+     <bootloader>/usr/bin/pygrub</bootloader>
+     <os>
+       <type arch='x86_64' machine='xenpv'>linux</type>
+     </os>
+     <clock offset='utc'/>
+     <on_poweroff>destroy</on_poweroff>
+     <on_reboot>restart</on_reboot>
+     <on_crash>restart</on_crash>
+     <devices>
+       <disk type='file' device='disk'>
+         <driver name='tap' type='aio'/>
+         <source file='/var/lib/xen/images/rhel5pv.img'/>
+         <target dev='xvda' bus='xen'/>
+       </disk>
+       <disk type='file' device='disk'>
+         <driver name='tap' type='qcow'/>
+         <source file='/root/qcow1-xen.img'/>
+         <target dev='xvdd' bus='xen'/>
+       </disk>
+       <interface type='bridge'>
+         <mac address='00:16:3e:60:36:ba'/>
+         <source bridge='xenbr0'/>
+       </interface>
+       <console type='pty'>
+         <target port='0'/>
+       </console>
+       <input type='mouse' bus='xen'/>
+       <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/>
+     </devices>
+   </domain>
+
+Converting from domain XML to XM config files
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``virsh domxml-to-native`` provides a way to convert a guest description
+using libvirt Domain XML into xl, xm, or sxpr config format.
+
+::
+
+   $ virsh -c xen:///system domxml-to-native xen-xm rhel5pv.xml
+   name = "rhel5pv"
+   uuid = "8f07fe28-753f-2729-d76d-bdbd892f949a"
+   maxmem = 2500
+   memory = 300
+   vcpus = 4
+   bootloader = "/usr/bin/pygrub"
+   kernel = "/var/lib/xen/boot_kernel.0YK-cS"
+   ramdisk = "/var/lib/xen/boot_ramdisk.vWgrxK"
+   extra = "ro root=/dev/VolGroup00/LogVol00 rhgb quiet"
+   on_poweroff = "destroy"
+   on_reboot = "restart"
+   on_crash = "restart"
+   sdl = 0
+   vnc = 1
+   vncunused = 1
+   vnclisten = "0.0.0.0"
+   disk = [ "tap:aio:/var/lib/xen/images/rhel5pv.img,xvda,w", "tap:qcow:/root/qcow1-xen.img,xvdd,w" ]
+   vif = [ "mac=00:16:3e:60:36:ba,bridge=virbr0,script=vif-bridge,vifname=vif5.0" ]
+
+Pass-through of arbitrary command-line arguments to the qemu device model
+-------------------------------------------------------------------------
+
+:since:`Since 6.7.0` , the Xen driver supports passing arbitrary command-line
+arguments to the qemu device model used by Xen with the ``<xen:commandline>``
+element under ``domain``. In order to use command-line pass-through, an XML
+namespace request must be issued that pulls in
+``http://libvirt.org/schemas/domain/xen/1.0``. With the namespace in place, it
+is then possible to add ``<xen:arg>``\ sub-elements to ``<xen:commandline>``
+describing each argument passed to the device model when starting the domain.
+
+The following example illustrates passing arguments to the QEMU device model
+that define a floppy drive, which Xen does not support through its public APIs:
+
+::
+
+   <domain type="xen" xmlns:xen="http://libvirt.org/schemas/domain/xen/1.0">
+     ...
+     <xen:commandline>
+       <xen:arg value='-drive'/>
+       <xen:arg value='file=/path/to/image,format=raw,if=none,id=drive-fdc0-0-0'/>
+       <xen:arg value='-global'/>
+       <xen:arg value='isa-fdc.driveA=drive-fdc0-0-0'/>
+     </xen:commandline>
+   </domain>
+
+Example domain XML config
+-------------------------
+
+Below are some example XML configurations for Xen guest domains. For full
+details of the available options, consult the `domain XML
+format <formatdomain.html>`__ guide.
+
+Paravirtualized guest bootloader
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Using a bootloader allows a paravirtualized guest to be booted using a kernel
+stored inside its virtual disk image
+
+::
+
+   <domain type='xen' >
+     <name>fc8</name>
+     <bootloader>/usr/bin/pygrub</bootloader>
+     <os>
+       <type>linux</type>
+     </os>
+     <memory>131072</memory>
+     <vcpu>1</vcpu>
+     <devices>
+       <disk type='file'>
+         <source file='/var/lib/xen/images/fc4.img'/>
+         <target dev='sda1'/>
+       </disk>
+       <interface type='bridge'>
+         <source bridge='xenbr0'/>
+         <mac address='aa:00:00:00:00:11'/>
+         <script path='/etc/xen/scripts/vif-bridge'/>
+       </interface>
+       <console tty='/dev/pts/5'/>
+     </devices>
+   </domain>
+
+Paravirtualized guest direct kernel boot
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For installation of paravirtualized guests it is typical to boot the domain
+using a kernel and initrd stored in the host OS
+
+::
+
+   <domain type='xen' >
+     <name>fc8</name>
+     <os>
+       <type>linux</type>
+       <kernel>/var/lib/xen/install/vmlinuz-fedora8-x86_64</kernel>
+       <initrd>/var/lib/xen/install/initrd-vmlinuz-fedora8-x86_64</initrd>
+       <cmdline> kickstart=http://example.com/myguest.ks </cmdline>
+     </os>
+     <memory>131072</memory>
+     <vcpu>1</vcpu>
+     <devices>
+       <disk type='file'>
+         <source file='/var/lib/xen/images/fc4.img'/>
+         <target dev='sda1'/>
+       </disk>
+       <interface type='bridge'>
+         <source bridge='xenbr0'/>
+         <mac address='aa:00:00:00:00:11'/>
+         <script path='/etc/xen/scripts/vif-bridge'/>
+       </interface>
+       <graphics type='vnc' port='-1'/>
+       <console tty='/dev/pts/5'/>
+     </devices>
+   </domain>
+
+Fullyvirtualized guest BIOS boot
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Fullyvirtualized guests use the emulated BIOS to boot off the primary harddisk,
+CDROM or Network PXE ROM.
+
+::
+
+   <domain type='xen' id='3'>
+     <name>fv0</name>
+     <uuid>4dea22b31d52d8f32516782e98ab3fa0</uuid>
+     <os>
+       <type>hvm</type>
+       <loader>/usr/lib/xen/boot/hvmloader</loader>
+       <boot dev='hd'/>
+     </os>
+     <memory>524288</memory>
+     <vcpu>1</vcpu>
+     <on_poweroff>destroy</on_poweroff>
+     <on_reboot>restart</on_reboot>
+     <on_crash>restart</on_crash>
+     <features>
+       <pae/>
+       <acpi/>
+       <apic/>
+     </features>
+     <clock sync="localtime"/>
+     <devices>
+       <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
+       <interface type='bridge'>
+         <source bridge='xenbr0'/>
+         <mac address='00:16:3e:5d:c7:9e'/>
+         <script path='vif-bridge'/>
+       </interface>
+       <disk type='file'>
+         <source file='/var/lib/xen/images/fv0'/>
+         <target dev='hda'/>
+       </disk>
+       <disk type='file' device='cdrom'>
+         <source file='/var/lib/xen/images/fc5-x86_64-boot.iso'/>
+         <target dev='hdc'/>
+         <readonly/>
+       </disk>
+       <disk type='file' device='floppy'>
+         <source file='/root/fd.img'/>
+         <target dev='fda'/>
+       </disk>
+       <graphics type='vnc' port='5904'/>
+     </devices>
+   </domain>
+
+Fullyvirtualized guest direct kernel boot
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+With Xen 3.2.0 or later it is possible to bypass the BIOS and directly boot a
+Linux kernel and initrd as a fullyvirtualized domain. This allows for complete
+automation of OS installation, for example using the Anaconda kickstart support.
+
+::
+
+   <domain type='xen' id='3'>
+     <name>fv0</name>
+     <uuid>4dea22b31d52d8f32516782e98ab3fa0</uuid>
+     <os>
+       <type>hvm</type>
+       <loader>/usr/lib/xen/boot/hvmloader</loader>
+       <kernel>/var/lib/xen/install/vmlinuz-fedora8-x86_64</kernel>
+       <initrd>/var/lib/xen/install/initrd-vmlinuz-fedora8-x86_64</initrd>
+       <cmdline> kickstart=http://example.com/myguest.ks </cmdline>
+     </os>
+     <memory>524288</memory>
+     <vcpu>1</vcpu>
+     <on_poweroff>destroy</on_poweroff>
+     <on_reboot>restart</on_reboot>
+     <on_crash>restart</on_crash>
+     <features>
+       <pae/>
+       <acpi/>
+       <apic/>
+     </features>
+     <clock sync="localtime"/>
+     <devices>
+       <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
+       <interface type='bridge'>
+         <source bridge='xenbr0'/>
+         <mac address='00:16:3e:5d:c7:9e'/>
+         <script path='vif-bridge'/>
+       </interface>
+       <disk type='file'>
+         <source file='/var/lib/xen/images/fv0'/>
+         <target dev='hda'/>
+       </disk>
+       <disk type='file' device='cdrom'>
+         <source file='/var/lib/xen/images/fc5-x86_64-boot.iso'/>
+         <target dev='hdc'/>
+         <readonly/>
+       </disk>
+       <disk type='file' device='floppy'>
+         <source file='/root/fd.img'/>
+         <target dev='fda'/>
+       </disk>
+       <graphics type='vnc' port='5904'/>
+     </devices>
+   </domain>
diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
index 4fb2e1a9f4..95ace2677e 100644
--- a/docs/formatdomain.rst
+++ b/docs/formatdomain.rst
@@ -8352,5 +8352,5 @@ Example configs
 Example configurations for each driver are provide on the driver specific pages
 listed below

--  `Xen examples <drvxen.html#xmlconfig>`__
+-  `Xen examples <drvxen.html#example-domain-xml-config>`__
 -  `QEMU/KVM examples <drvqemu.html#example-domain-xml-config>`__
diff --git a/docs/meson.build b/docs/meson.build
index 940fbedcfa..6147f85d16 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -22,7 +22,6 @@ docs_html_in_files = [
   'csharp',
   'dbus',
   'docs',
-  'drvxen',
   'firewall',
   'format',
   'formatcaps',
@@ -81,6 +80,7 @@ docs_rst_files = [
   'drvvbox',
   'drvvirtuozzo',
   'drvvmware',
+  'drvxen',
   'errors',
   'formatbackup',
   'formatcheckpoint',
-- 
2.35.1



More information about the libvir-list mailing list