Skip to content
Ross Philipson edited this page Jan 19, 2015 · 28 revisions

The Linux PV drivers for OpenXT are a DKMS package that is built/rebuilt on in the Linux guest.

DKMS Manually for Development

It is possible to do development work on the Linux PV driver sources directly on in a guest VM with just the Github repository here:

https://github.com/OpenXT/pv-linux-drivers

Or with your own forked repository (and branch). Simply clone your repository in the guest. Then install these packages:

$ sudo apt-get install git vim dkms

The DKMS script is going to expect the DKMS sources to be in a predefined place, specifically here for version 1.0:

/usr/src/xenclient-pv-drivers-dkms-1.0

The simplest thing is to link this to the sources in your repo:

$ sudo ln -fs /home/somebody/pv-linux-drivers.git /usr/src/xenclient-pv-drivers-dkms-1.0

Then switch to the directory where the DKMS install script is:

$ cd /home/somebody/pv-linux-drivers.git/dkms

And run:

$ sudo ./postinst

If you want to remove your package at a later point (e.g. to re-install it), you can use this and then rerun the postinst script after your changes are done:

$ sudo dkms remove -m xenclient-pv-drivers-dkms -v 1.0 -k <kernel-ver>

Most of your built modules will end up here (if you want to manually replace them as you go):

/lib/modules/<kernel-ver>/updates/dkms

The modules xc-xen xc-blkfront xc-netfront end up in the initramfs too so you would have to deal with that by manual initramfs frobbing or doing a remove and re-install of the package.

If the VM in question does not have a actual tools package installed and you want XT to think they are (which is needed in some cases), you can update the VM config to say it has tool. Log in to dom0 and use the nr command to elevate permissions. Then do something like:

$ xec-vm -n Debian7x64Dbg set pv-addons true

$ xec-vm -n Debian7x64Dbg set pv-addons-version "14.0.0.1"

Driver Installation

This section comes from the OpenXT documentation but it presented here for convenience.

Note Do not install the OpenXT Tools on Linux using dpkg directly, nor by double-clicking on the package via the graphical desktop. Note that for this procedure:

  • an internet connection is required
  • the script must be executed as root
  • the script will download 100 MB of kernel source files in order to build a new Linux graphics driver

1 At a command line shell on the VM, change users to become the superuser:

sudo su

2 Display the available drives with the command and Observe the name of the optical drive with the OpenXT Tools; it will be something like /media/Optical-tools-<version number>.

df -k

3 Change to the linux directory on the optical drive with the OpenXT Tools package:

cd /media/OpenXT-tools-<version number>/linux

4 Run the install.sh script:

./install.sh

5 Reboot the VM.

Note The UIVM for OpenXT will show the tools as installed, but a reboot is required to properly complete the Tools installation.