Installing VMITools (VM Introspection Toolkit) with Xen on CentOS 6

This guide provides a good introduction on how to install VMI Tools and Xen on CentOS 6.

Due to dependancy requirements, CentOS 5 is unable to support VMITools by default unless a more recent version of glib2 is compiled from source. Therefore we base this installation on CentOS 6 (6.3 at time of writing).

Xen Installation

Redhat dropped support for Xen based virtualisation with the released of RHEL 6, resulting in the need to manually install the required Xen packages. In previous versions of this post I have referred to Falko’s excellent guide on installing Xen 4 on CentOS 6, link to guide can be found here.

However the recent release of the Xen kernel 3.6 has broken compatibility with the latest version of the libVirt (virsh). In order to restore compatibility we will install the slightly older version of Xen until the libVirt library is updated to resolve the error.

First we add the repos that still contain the older versions of Xen.

cd /etc/yum.repos.d/
wget http://www.gitco.de/linux/x86_64/centos/6/gitco-centos6-x86_64.repo
wget http://xenbits.xen.org/people/mayoung/EL6.xen/EL6.xen.repo

Edit gitco-centos6-x86_64.repo and add ‘enabled’ switches, so it looks like this. We only need this middle entry for Xen Files. The other repo we downloaded contains a better packaged Xen Kernel which we will use.

[gitco-kernel-dom0-centos6-x64]
name= GITCO [ KERNEL DOM0 ] Repository
baseurl=http://www.gitco.de/linux/x86_64/centos/6/kernel-dom0
enabled=0
gpgcheck=1
gpgkey=http://www.gitco.de/linux/x86_64/centos/6/GITCO-RPM-KEY

[gitco-xen4.0.1-centos6-x64]
name= GITCO [ XEN-4.0.1 ] Repository
baseurl=http://www.gitco.de/linux/x86_64/centos/6/xen4.0.1
enabled=1
gpgcheck=1
gpgkey=http://www.gitco.de/linux/x86_64/centos/6/GITCO-RPM-KEY

[gitco-misc-centos6-x64]
name= GITCO [ MISC PACKAGES ] Repository
baseurl=http://www.gitco.de/linux/x86_64/centos/6/misc
enabled=0
gpgcheck=1
gpgkey=http://www.gitco.de/linux/x86_64/centos/6/GITCO-RPM-KEY

yum install xen kernel-xen

follow the rest of falkos guide for the libvirt installation.

VMITools Installation

Install the required packages for installation.

yum install git glib2-devel check-devel

We create a folder named src in the root directory, to use as a basis for our installation.

mkdir /root/src/

cd into the src directory, and checkout a clone of the latest VMITools.

git clone https://code.google.com/p/vmitools/

cd into the vmitools folder, then run the following commands.

./autogen.sh
./configure

After a while the output should return success. Then perform make.

make

As well as installing the library (Optional, necessary for applications wishing to implement the libVMI framework.

make install

Now when you try to compile some of the examples you will run into this error.

Can be easily fixed by editing your .bashrc file within your home folder, and adding this line.

1.) use < .bashrc > file in your home directory (instead of .bash_profile)
2.) add the following line to this file:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib ; export LD_LIBRARY_PATH

DO ONE MORE THING : also add this line to < /etc/ld.so.conf > file

JimStim v1.5 stimulator board – Assembly

Today I did some soldering and constructed the JimStim V1.5 stimulator board. This nifty little board is a MegaSquirt simulator that enables you to bench-test your MegaSquirt ECU by simulating all the necessary sensor inputs required for the MegaSquirt to work.

The MegaSquirts sensor inputs can be easily tested using JimStim. This is achieved through using potentiometers to variate sensor voltages to be processed by the ECU.

JimStim is capable of simulating the following sensor outputs:

  • MAT (manifold air temperature)
  • CLT (coolant)
  • TPS (throttle position sensor)
  • O2 (O2/lambda sensor)

Included also is a nifty micro-controller that allows JimStim to simulate a toothed wheel sensor signal, which in turn simulates engine RPM. This feature is especially handy as you can confirm that your MegaSquirt operates correctly in what is effectively a controlled test environment. When building a MegaSquirt (especially if it’s your first time building) it can be a lifesaver in identifying any issues with your MegaSquirt that could potentially damage your expensive EFI kit, as well being a HUGE timesaver (I can’t empathise this one point enough) when it comes to physically wiring the MegaSquirt into your car. For example, if you were attempting a first-start after a new install and encountered issues with establishing a stable RPM sync, you could can during testing that the MegaSquirt you built works perfectly and that the issue must lie somewhere else within the car.

JimStim can be purchased from DIYAutoTune as a unassembled kit for you to solder together, or as a ready-to-go preassembled board.

Here are a few shots of soldering together my JimStim.

wpid706-20110705-_MG_1266.jpg

wpid707-20110705-_MG_1267.jpg

wpid709-20110705-_MG_1268.jpg

wpid690-20110705-_MG_1270.jpg

wpid692-20110705-_MG_1275.jpg

wpid694-20110705-_MG_1279.jpg

wpid696-20110705-_MG_1280.jpg

wpid698-20110705-_MG_1281.jpg

wpid700-20110705-_MG_1282.jpg

wpid702-20110705-_MG_1284.jpg

Burnt Cylinder Head Valves

The escort has been running rather rough recently. We suspect the values are giving us grief as the engine is still running the original head that came with the car when we first purchased it back in 2006. Once stripped down it was fairly obviously to identity the problem, the continued usage of unleaded fuel on an un-converted head has completely burnt out the exhaust valves.

Burnt XFlow Cylinder Head

I can’t afford to have the valves reseated with unleaded inserts, so a replacement head will have to suffice. Luckily we have a few lying about to choose from 😀