<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <body>
        <h1>VirtualBox hypervisor driver</h1>
        <p>
        The libvirt VirtualBox driver can manage any VirtualBox version
        from version 4.0 onwards
        (<span class="since">since libvirt 3.0.0</span>).
    </p>

    <h2><a id="project">Project Links</a></h2>

    <ul>
      <li>
        The <a href="http://www.virtualbox.org/">VirtualBox</a>
        hypervisor
      </li>
    </ul>

    <h2>Connections to VirtualBox driver</h2>

    <p>
    The libvirt VirtualBox driver provides per-user drivers (the "session" instance).
    The uri of the driver protocol is "vbox". Some example connection URIs for the driver are:
    </p>

<pre>
vbox:///session                      (local access to per-user instance)
vbox+unix:///session                 (local access to per-user instance)
vbox+tcp://user@example.com/session  (remote access, SASl/Kerberos)
vbox+ssh://user@example.com/session  (remote access, SSH tunnelled)
</pre>

    <p>
      <strong>NOTE: as of libvirt 1.0.6, the VirtualBox driver will always
        run inside the libvirtd daemon, instead of being built-in to the
        libvirt.so library directly. This change was required due to the
        fact that VirtualBox code is LGPLv2-only licensed, which is not
        compatible with the libvirt.so license of LGPLv2-or-later. The
        daemon will be auto-started when the first connection to VirtualBox
        is requested. This change also means that it will not be possible
        to use VirtualBox URIs on the Windows platform, until additional
        work is completed to get the libvirtd daemon working there.</strong>
    </p>

    <h2><a id="xmlconfig">Example domain XML config</a></h2>

<pre>
&lt;domain type='vbox'&gt;
  &lt;name&gt;vbox&lt;/name&gt;
  &lt;uuid&gt;4dab22b31d52d8f32516782e98ab3fa0&lt;/uuid&gt;

  &lt;os&gt;
    &lt;type&gt;hvm&lt;/type&gt;
    &lt;boot dev='cdrom'/&gt;
    &lt;boot dev='hd'/&gt;
    &lt;boot dev='fd'/&gt;
    &lt;boot dev='network'/&gt;
  &lt;/os&gt;

  &lt;memory&gt;654321&lt;/memory&gt;
  &lt;vcpu&gt;1&lt;/vcpu&gt;

  &lt;features&gt;
    &lt;pae/&gt;
    &lt;acpi/&gt;
    &lt;apic/&gt;
  &lt;/features&gt;

  &lt;devices&gt;
    &lt;!--Set IDE controller model to PIIX4 (default PIIX3)--&gt;
    &lt;controller type='ide' model='piix4'/&gt;

    &lt;controller type='scsi' index='0'/&gt;

    &lt;!--VirtualBox SAS Controller--&gt;
    &lt;controller type='scsi' index='1' model='lsisas1068'/&gt;

    &lt;disk type='file' device='cdrom'&gt;
      &lt;source file='/home/user/Downloads/slax-6.0.9.iso'/&gt;
      &lt;target dev='hdc'/&gt;
      &lt;readonly/&gt;
    &lt;/disk&gt;

    &lt;disk type='file' device='disk'&gt;
      &lt;source file='/home/user/tmp/vbox.vdi'/&gt;
      &lt;target dev='hdd'/&gt;
    &lt;/disk&gt;

    &lt;!--Attach to the SCSI controller (index=0, default)--&gt;
    &lt;disk type='file' device='disk'&gt;
      &lt;source file='/home/user/tmp/vbox2.vdi'/&gt;
      &lt;target dev='sda' bus='scsi'/&gt;
    &lt;/disk&gt;

    &lt;!--Attach to the SAS controller (index=1)--&gt;
    &lt;disk type='file' device='disk'&gt;
      &lt;source file='/home/user/tmp/vbox3.vdi'/&gt;
      &lt;target dev='sda' bus='scsi'/&gt;
      &lt;address type='drive' controller='1' bus='0' target='0' unit='0'/&gt;
    &lt;/disk&gt;

    &lt;disk type='file' device='floppy'&gt;
      &lt;source file='/home/user/tmp/WIN98C.IMG'/&gt;
      &lt;target dev='fda'/&gt;
    &lt;/disk&gt;

    &lt;filesystem type='mount'&gt;
      &lt;source dir='/home/user/stuff'/&gt;
      &lt;target dir='my-shared-folder'/&gt;
    &lt;/filesystem&gt;

    &lt;!--BRIDGE--&gt;
    &lt;interface type='bridge'&gt;
      &lt;source bridge='eth0'/&gt;
      &lt;mac address='00:16:3e:5d:c7:9e'/&gt;
      &lt;model type='am79c973'/&gt;
    &lt;/interface&gt;

    &lt;!--NAT--&gt;
    &lt;interface type='user'&gt;
      &lt;mac address='56:16:3e:5d:c7:9e'/&gt;
      &lt;model type='82540eM'/&gt;
    &lt;/interface&gt;

    &lt;graphics type='desktop'/&gt;

    &lt;!--Activate the VRDE server with a port in 3389-3689 range--&gt;
    &lt;graphics type='rdp' autoport='yes' multiUser='yes'/&gt;

    &lt;sound model='sb16'/&gt;

    &lt;parallel type='dev'&gt;
      &lt;source path='/dev/pts/1'/&gt;
      &lt;target port='0'/&gt;
    &lt;/parallel&gt;

    &lt;parallel type='dev'&gt;
      &lt;source path='/dev/pts/2'/&gt;
      &lt;target port='1'/&gt;
    &lt;/parallel&gt;

    &lt;serial type="dev"&gt;
      &lt;source path="/dev/ttyS0"/&gt;
      &lt;target port="0"/&gt;
    &lt;/serial&gt;

    &lt;serial type="pipe"&gt;
      &lt;source path="/tmp/serial.txt"/&gt;
      &lt;target port="1"/&gt;
    &lt;/serial&gt;

    &lt;hostdev mode='subsystem' type='usb'&gt;
      &lt;source&gt;
        &lt;vendor id='0x1234'/&gt;
        &lt;product id='0xbeef'/&gt;
      &lt;/source&gt;
    &lt;/hostdev&gt;

    &lt;hostdev mode='subsystem' type='usb'&gt;
      &lt;source&gt;
        &lt;vendor id='0x4321'/&gt;
        &lt;product id='0xfeeb'/&gt;
      &lt;/source&gt;
    &lt;/hostdev&gt;
  &lt;/devices&gt;
&lt;/domain&gt;
</pre>

    </body>
</html>
