Installation

How to install RT-Xen 2.0

1. How to install RT-Xen 2.0:

The video of how to install RT-Xen 2.0 is how-to-install-rt-xen-2.0

Note: after you installed RT-Xen, remember to run `sudo /sbin/ldconfig` to load the libraries, and run `service xencommons start` to start the xenstored and xenconsoled service.

2. How to create a guest domain image:

The video of how to create a guest domain image is  how-to-create-guest-image.

3. How to install LITMUS^RT inside the guest domain image:

The video of how to install LITMUS^RT in the guest domain you created is how-to-install-litmus. 

These videos are created by Hao Zhang, Master Candidate in Computer and Information Science at the University of Pennsylvania.

How to install RT-Xen 1.0

1. Install Xen on a Linux Host Machine;

We recommend using Fedora 64 bit version, and Xen 4.0.1 compiled from source code.

Instructions for installing Xen and Fedora.

note: I followed this website to install the para kernel on 64 bit Fedora.  And this website to install the guest operating systems.

update: When compiling the kernel, please do not use the .config file downloaded from their website. Please follow this site to configure the kernel by yourself. Otherwise, many debug parameters were turned on and the performance is highly decreased.

update: You can find Fedora 13, 64 bit version in this link.  This version is well tested in our platform. 

2. Apply our patch;

If you successfully compiled Xen and Linux Kernel, congratulations. Please goto Download page and download our RT-Xen, unzip it, and replace the original Xen file and compile it again.

Suppose the xen0512.zip and the xen-4.0.1 folder are in the same folder RT-Xen and you are in the RT-Xen folder now.

You can run the script below to get the RT-Xen installed, i.e., you can create a shell script named intasll_rt_xen.sh , copy the script below and run "sh intasll_rt_xen.sh"

#step 1: unzip the xen0512.zip and replace teh original Xen file;

unzip xen0512  

#step 2: switch to root

su

#step3: grant the read and execution privilege to the xen-4.0.1 folder and its files;

chmod a+rwx xen-4.0.1 -R

#step 4: come into the xen-4.0.1  folder  and recompile the Xen;

cd xen-4.0.1

make xen

make tools

make install-xen

make install-tools

If you encounter the problem "xgettext: Stringa non ASCII in xen/xm/._main.py:1". You can delete the file xen-4.0.1/tools/python/xen/xm/._main.py and then recompile the RT-Xen. 

This problem is because the incompatibility between Mac and other PCs. 

If you are able to compile from the original Xen but not from RT-Xen, please contact me.

3. Testing RT-XEN:

Please go to Getting Started Page for how to test RT-XEN

Note: We currently only support single core guest OS. Thus, Domain0 is configured with 1 VCPU, pinned to core 0. And all other guest OSs is configured 1 VCPU each, and all pinned to core 1.

Extra info about how to configure guest OS is attached below:

Extra Info:

Standard Configuration:

RT-Xen is enabled by default. And the default budget and period for each domain is (25, 50).

To use the original Xen, just add  "sched=credit" to the grub line.

For example, the entries for Xen in my menu.lst looks like:

-------------------------

title        RT-Xen, dom0 Linux 

root         (hd0,2)

kernel       /xen-4.0.gz dummy=dummy dom0_mem=1024M sched=rt dom0_max_vcpus=1 

module       /vmlinuz-2.6.32.13 dummy=dummy root=/dev/mapper/vg_flamenco118-lv_root ro nomodeset printk.time=1

module       /initrd-2.6.32.13-xen.img

title        Xen 4.0.1, dom0 Linux 

root         (hd0,2)

kernel       /xen-4.0.gz dummy=dummy dom0_mem=1024M sched=credit dom0_max_vcpus=1

module       /vmlinuz-2.6.32.13 dummy=dummy root=/dev/mapper/vg_flamenco118-lv_root ro nomodeset printk.time=1

module       /initrd-2.6.32.13-xen.img

title        pv_ops dom0-test (2.6.32) with serial console

root         (hd0,2)

kernel       /xen-4.0.gz dummy=dummy dom0_mem=1024M dom0_max_vcpus=1 loglvl=all guest_loglvl=all sync_console console_to_ring com1=115200,8n1 console=com1

module       /vmlinuz-2.6.32.13 dummy=dummy ro root=/dev/mapper/vg_flamenco118-lv_root console=hvc0 earlyprintk=xen nomodeset printk.time=1

module       /initrd-2.6.32.13-xen.img

-------------------------

The configuration file I use to boot the guest domain looks like:

-------------------------

name="vm1"

vcpus=1

memory=256

cpus="1"

disk = ['file:/home/xisisu/Desktop/VMs/vm1,xvda,w' ]

vif = [ '' ]

bootloader = "/usr/bin/pygrub"

on_reboot = 'restart'

on_crash = 'restart'

-------------------------

Adjusting budget & period in RT-XEN:

Note: For Xen 0.3, please use sched-rt, instead of sched-ss.

1. To test whether you installed RT-XEN correctly, boot with our Sporadic Server scheduler, start a guest domain, and run the following command to check the budget and period of them;

2. After starting a domain, you can use command "xm sched-ss -d target -b budget -p period" to adjust a domain's budget and period. An example is given below: