-
Install RTAI-Patched Redhat 9.0 in VMWare 7.0
Wang, Hancheng, May 14th
, 2010
Abstraction
The low-frequency, high-speed camera system will be built based
on linux system with RTAI.
Following this document, we can set up a real-time experimental
platform to make the
SPCA5xx-based webcam work(see the ppt) properly and get familiar
with linux.
Now, we choose Redhat 9.0 as the operation system, for which
there are lots of reference
materials. We also adopt VMWare 7.0 to make the process much
easier and to encourage us to try
whatever we want in this easy-recoverable system.
Keywords
RTAI, Redhat, Linux, VMWare, VMWare tools, kernel, patch,
update, 2.4.20-8
-
Procedures
In this part, we will learn to set up the system by 5 steps
(click to jump to the part you care about
in this document):
1. Install VMWare 7.0;
2. Install Redhat 9.0;
3. Install VMWare tools for Redhat 9.0;
4. Update Redhat from 2.4.20-8 to 2.4.27;
5. Patch RTAI to the kernel.
1. Install VMWare 7.0
a). Purchase and download a copy of VMWare 7.0 from its official
website, VMWare 7.0
download, or get it from anywhere you can(You know what I mean.
I wont mention this
again for any other commercial software.).
b). Open the install program, and you will see the graphic
interface below
Fig. 1 The starting interface for VMWare Setup
c). Follow its instruction and use its default setting(You can
specify where to install it, or what
plugins to include with. These wont affect our further use).
-
2. Install Redhat 9.0
a). Download all three .iso files for Redhat 9.0 installation:
shrike-i386-disc1.iso,
shrike-i386-disc2.iso, shrike-i386-disc3.iso. P2P-based download
tools, such as Thunder, are
required to get them successfully.
b). Open the VMWare Workstation and press ctrl + n to create a
new virtual machine.
c). Choose Custom(advanced) and continue.
Fig. 2 The wizard interface for creating a new virtual machine
in VMWare 7.0
d). For Hardware compatibility, use the default Workstation
6.5-7.0.
-
e). Choose Installer disc image file (iso): and browse to locate
your shrike-i386-disc1.iso.
Fig. 3 Set the source for install Redhat 9.0
f). For Guest operation system, select Linux; for Version,
select Red Hat Linux
g). Name your virtual machine and place it.
Fig. 4 Name the virtual machine and place it
-
h). Choose the number of processors and cores according your
computer.
i). Allocate memory to the virtual machine according to your
computer.
Fig. 5 Memory for the virtual machine
j). Keep clicking next to finish this wizard.
k). Now we come to the same install interface of Redhat 9.0 as
for a physical machine. Skip
the CD test unless youd like to have a try.
Fig. 6 Welcome interface for Redhat 9.0 installation
-
l).Wait for a while until the graphic interface appears. Then
click next until you see the
scene below. Dont change the types of mouse or keyboard even if
they are different from
your hardware as signals delivered to Redhat 9.0 are changed by
VMWare. English is also
preferred.
Fig. 7 Choose installation type
m). For Installation type, choose Custom so that we can specify
the file system ourselves.
n). For Disk partition setup, select Manually partition with
Disk Druid. Then, click yes
for the warning.
-
o). Click the free space and New a root partition as below.
Fig. 8 Create a root partition
p). Create a swap partition which will be us4ed for Linux as the
virtual memory for Windows.
This is not required, but it do speed up the system.
Fig. 9 Create the swap partition
-
Now we can see the picture below.
Fig. 10 Final partition situation
q). Configure the system as you wish. Dont forget to choose
Chinese support and some
necessary development tools.
r). Just drink a cup of tea, walk around for a while, or take a
shower. Then youll see a
window come up.
Fig. 11 Change CD Hint Window
-
Then we change the .iso file by right click the virtual machine
and left click setting on the
bottom.
Fig. 12 Go to the settings of virtual machine
Change the .iso file by browsing and mark Connected.
Fig. 13 Change the .iso file for installation
s). Change .iso for another time when being asked to. Wait for
several minutes, click several
next, then you will have a bright new Redhat 9.0 installed in
your VMWare 7.0!
-
3. Install VMWare tools for Redhat 9.0
After finish step 2, we get a fresh Redhat 9.0. The first time
you open it, you will be asked to
create a normal user account. Dont try to register it on
internet as the register server has
stopped for ages. Now, what we have is a operating system which
cant communicate with
host system , log on the internet, nor present high resolution.
To solve these problems, we
have to install VMWare tools.
a). Log in the system as root. Click VMInstall VMWare Tools as
below.
Fig. 14 Start to install VMWare Tools
b). Press ctrl + alt + F1(press F1 first and press alt + ctrl
before releasing F1), and
type commands as following.
Fig. 15 Install VMWare Tools in commandline
-
c). Keep pressing enter to adopt the default settings and
install the tools.
d). Restart the virtual machine after VMWare tools are
installed. Now, you can move your
mouse from Redhat 9.0 to the host system directly without press
ctrl + alt, or take files from
Redhat 9.0 to the host system directly by drag and drop. Also,
the internet becomes available,
and the system owns a higher resolution.
4. Update Redhat from 2.4.20-8 to 2.4.27
Why do we need to update the kernel? It is because Redhat 9.0
modifies the kernel from
standard 2.4.20 to its own 2.4.20-8 which does not support some
standard-version-aimed
programs, such as RTAI and the driver for SPCA5xx.
a) Download the kernel 2.4.27 from www.kernel.org, which I use
is linux-2.4.27.tar.bz2
b) cp linux-2.4.27-tar.bz2 /usr/src
c) tar jxvf linux-2.4.27.tar.bz2
d) ln linux-2.4.27 linux -s
e) cd linux
f) make mrproper (not required for first time kernel
compilation)
g) cp /boot/config-2.4.20-8 .config (you may take a snapshot
here or in the next step)
h) make menuconfig
i. This is the most important part. Be sure to build everything
needed into the kernel,
instead of compiling them as modules (If you cannot find some
modules listed
below, dont worry. Just read the configuration, select what you
think is useful, and
then save it and continue, as its easy to recover the system
from snapshots taken
before).
ii. The modules included in original kernel of Redhat Linux 9.0
are:
1. parport_pc
2. lp
3. parport
4. autofs
5. e100
6. e1000
7. ipt_REJECT
8. iptable_filter
9. ip_tables
10. sg
11. sr_mod
12. microcode
13. ide-scsi
14. scsi_mod
15. ide_cd
-
16. cdrom
17. keybdev
18. mousedev
19. hid
20. input
21. usb-uhci
22. ehci-hcd
23. usbcore
24. ext3
25. jbd
i) make dep
j) make clean
k) make bzImage
l) make modules
m) make modules_install
n) if you meet errors like No module BusLogic found for kernel
2.4.27, then do
i)cp /usr/src/linux-2.4.27/drivers/scsi/BusLogic.o
/lib/modules/2.4.27/kernel/drivers/scsi
ii)make modules_install
o) cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.27
p) cp System.map /boot/System.map-2.4.27
q) mkinitrd /boot/initrd-2.4.27.img 2.4.27
r) cd /boot
s) rm -f System.map vmlinuz
t) ln -s System.map-2.4.27 System.map
u) ln -s vmlinuz-2.4.27 vmlinuz
v) vim /boot/grub/grub.conf (revise the file as below, i.e., add
last four lines):
default=0
timeout=0
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
password md5 $1$4xbn4JKI$q9haaCOWymqjQAvhUmFKp1
title Red Hat Linux (2.4.20-8)
root (hd0,0)
kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi
initrd /boot/initrd-2.4.20-8.img
title Red Hat Linux (2.4.27+RTAI)
root (hd0,0)
-
kernel /boot/ vmlinuz root=/dev/hda1
initrd /boot/initrd-2.4.27.img
w) Reboot the machine, at GRUB menu, select the Red Hat
(2.4.27+RTAI). If the kernel is
properly configured, the system could be normally booted.
5. Patch RTAI to the kernel
a) Download the RTAI 3.1 package from www.rtai.org, which is
rtai-3.1.tar.bz2
b) Assume we store this file rtai-3.1.tar.bz2 in /home/
c) Extract files
i. bzip2 d rtai-3.1.tar.bz2
ii. tar xvf rtai-3.1.tar
d) Patch Kernel 2.4.27 with RTAI patch 2.4.27
i. cd /usr/src/linux
ii. patch p1 <
/home/rtai-3.1/rtai-core/arch/i386/patches/hal16-2.4.27.patch
e) Rebuild the kernel with the 2.4.27 patch
i. make menuconfig
1. Be sure to disable Set version information on all module
symbols
2. Be sure to enable "Adeos support" on "General setup"
3. Be sure to disable "Compile the kernel with frame pointers"
on "Kernel
hacking"
ii. make dep
iii. make clean
iv. make bzImage
v. make modules
vi. make modules_install
vii. mkinitrd /boot/initrd-2.4.27-adeos 2.4.27-adeos
viii. cp /usr/src/linux/arch/i386/boot/bzImage
/boot/bzImage-2.4.27
ix. cp /usr/src/linux/System.map /boot/System.map-2.4.27
x. (Reboot the machine, and reinstall vmware-tools as you have
updated the kernel)
f) Configure the RTAI
i. cd /home
ii. mkdir rtai-install
iii. cd rtai-install
iv. make f /home/rtai-3.1/makefile srctree=/home/rtai-3.1/
menuconfig
1. Try to exclude the Comedi support over LXRT in Add-ons
2. Exclude the RTAI Lab and RTAI Simulator if you dont have
those
supporting files installed.
3. Try to exclude the LTT supports and Watchdog support if you
have such
function built in the kernel.
-
g) Install RTAI-3.1
i. cd /home/rtai-install
ii. make install
iii. Add the installation directory into the shell PATH
variable:
1. Revise the file /root/.bash_profile, add:
PATH=$PATH:/usr/realtime/bin
h) Test RTAI-3.1
i. cd /usr/realtime/testuite/kern/latency
ii. ./run (ctrl+c to stop the calibration)
1. You can find the largest latency of our labs infrastructure
computer is a little
more than 3000ns (3x10-6
s)
Reference
1. Xu, Kai, Robot Control System References_version 1.2, ARMA
Lab, Columbia University,
Sep, 2008.
2. http://www.rtai.org/
3.
http://www.anqn.com/article/d/gjyy/2009-04-24/a09109370.shtml
4.
http://blog.csdn.net/huangsihua/archive/2009/04/14/4071664.aspx
5. http://blog.csdn.net/wasid/archive/2005/08/03/445320.aspx
Afterword
This document is only for your interest to get aware of the
process to build up a
RTAI-patched Redhat 9.0 in VMWare Station 7.0. For your ease,
you can get a copy of .vmdk file
directly and import it into your VMWare Workstation. Then its
done. Just have fun with it!