...
Code Block | ||
---|---|---|
| ||
uuid = 00000000-0000-0000-0000-000000000002 hvm = true memory = 256 disk = /dev/vg/testhvm:phy:hda:w:disk disk = /var/opt/xen/iso_import/w2k3eesp2.iso:file:hdd:r:cdrom boot = dc pae = true acpi = true apic = true |
LibXL / XL Installation Instructions
This section highlights how to install the current LibXL (plus associated XL binary) in OpenXT and how to use it.
Installation of LibXL and XL
Firstly, we will make sure that LibXL and its associated binary will be compiled as part of the xen-tools package. In order to do so, we edit the file build/repos/xenclient-oe/recipes-extended/xen/xen-tools.bb to contain:
oe_runmake -C tools subdir-all-libaio
oe_runmake -C tools subdir-all-blktap2
oe_runmake -C tools subdir-all-libxl
within the function do_compile() and
oe_runmake -C tools subdir-install-blktap2
oe_runmake -C tools subdir-install-libxl
within the function do_install(). This will compile and install the necessary libraries and binaries to use LibXL. Next step is ensuring that the previously used blktap library is no longer in use. There are four recipes that reference the blktap library. They are:
- ./xenclient-oe/recipes-openxt/qemu-dm/qemu-dm.inc:4:DEPENDS = "xen-tools alsa-lib pciutils libpng blktap libv4v openssl zlib libcap-ng libdmbus"
- /xenclient-oe/recipes-core/images/xenclient-syncvm-image.bb:29: blktap
- ./xenclient-oe/recipes-core/tasks/task-xenclient-installer.bb:15: blktap
- ./xenclient-oe/recipes-core/tasks/task-xenclient-dom0.bb:63: blktap
Removing the occurences of blktap (and making sure that xen-tools is listed) will guarantee that Xen's blktap library is being used from now on.
The interface is the new blktap library has slightly changed, so we need to make a few changes to the install scripts to accommodate for the changes.
In the xenclient-installer directory, edit the file:
part2/stages/Functions/install-main
and replace tap-ctl destroy calls with:
tap-ctl destroy -p $UIVM_GCONF_DEV_PID -m $UIVM_GCONF_DEV_TRUNC >&2
The complete source can be found on my github page.
Once the installer is edited, we can make a new build via
./do_build.sh -s dom0,installer,installer2,ship.