CentOS 5.5 x86 64 Hypervisor Edition (Minimal)
From WBITT's Cooker!
m |
(→Edit the comps.xml file as per requirements) |
||
Line 377: | Line 377: | ||
</comps> | </comps> | ||
[root@buildhost-64 tmp]# | [root@buildhost-64 tmp]# | ||
+ | </pre> | ||
+ | |||
+ | You may want to run a sanity check on your comps.xml file. It will reveal any errors/typing mistakes, etc. | ||
+ | <pre> | ||
+ | [root@buildhost-64 tmp]# xmllint --valid comps.xml-hypervisor | ||
</pre> | </pre> | ||
Revision as of 05:25, 5 January 2011
Author: Muhammad Kamran Azeem (kamran _at_ wbitt _dot_ com)
Created: 04 Jan 2011
Last Revised: 04 Jan 2011
It started, when I developed an itch to have a CENTOS 5.5 ServerCD, so I could setup my Physical and Vitual Machines, quickly. However CENTOS website does not provide one. It provides a live CD, which was of no use to me. And I was not in a mood (nor could afford) to download full 4.x GB of DVD. This desire to have a CENTOS ServerCD, changed to create a (minimalistic) Hypervisor CD. This way, I can use the same CD to install the bare-minimum set of hypervisor pacakages (XEN or KVM) on my physical machines. And, I can use the same CD to install a minimalistic (core) installation of a guest OS on the VMs I would create. The driving force behind this hypervisor cd was, (as explained in my other article), the latest version of RedHat Enterprise Virtualization, which is basically a very small foot-print CD/distribution, and is used to setup a bare-minimum KVM hypervisor on physical machines. So, you can say, I was in competition with RedHat ! :) . I fell short of few (hundred) megabytes, but I did come up with a minimalistic approach. Below is how I did it.
You can refer to my other article Tiny CentOS 5.5 32 bit (i386), for more details and detailed steps. However, in this article, I have further simplified the steps. You no longer need to copy one RPM at a time to a temporary directory and test install it. Using "yumdownloader" is the easiest method. And the most important is that you no longer have to have a local repository of the full DVD. With the method below, you can pull everything directly from the internet. i.e. from the CENTOS websote (centos.org).
Infrastructure
Physical Host
The physical host is a Fedora 14 machine, with 4 GB RAM, and 200 GB of disk. Out of which about 70 GB is free space.
The disk has a directory /data/cdimages , which hosts various ISO images of different OS, I have. This directory has the following layout (only the part interesting to us is shown below).
[root@fedora14 cdimages]# tree -d . ├── CentOS-5.5-x86_64 │ ├── CentOS │ ├── images │ │ ├── pxeboot │ │ └── xen │ ├── isolinux │ ├── NOTES │ └── repodata └── CentOS-5.5-x86_64-hypervisor
The /data/cdimages/CentOS-5.5-x86_64 is the full DVD copied in this directory. If you cannot afford to download full DVD, (for perfectly understandable reasons), you can download the packages, directly from the CENTOS website. The method to do so, is already mentioned here: http://cooker.wbitt.com/index.php/CENTOS_Server_CD_project#Creating_the_.22core.22_install-tree_from_a_http_site
The /data/cdimages/CentOS-5.5-x86_64-hypervisor directory shown above, is an empty directory. It is possible that you don't have this directory created at this moment. We can create this directory at a later stage.
The directory /data/cdimages on the physical host, is made available as an NFS writeable share to the 192.168.122.0/24 network. As following:
[root@fedora14 cdimages]# cat /etc/exports /data/cdimages 192.168.122.0/255.255.255.0(rw,no_root_squash) [root@fedora14 cdimages]# [root@fedora14 cdimages]# service nfs restart
(Make sure that the firewall is not blocking incoming NFS requests on the physical host).
This is a good method to save space, both on the physical host and on the VMs. That means, you don't have to "fill-up" your build host (VM) will all the DVD/RPM files and ISO images. So they don't need large virtual disks for it. All of the work, can be performed, when we mount this directory /data/cdimages, from the physical host, to the buildhost-64 VM.
The physical host has the IP: 192.168.122.1 , on the virbr0 interface. It may (or may not) have any IP on it's eth0 interface, which is irrelevant to this text.
Build Host
The buildhost (named buildhost-64) is actually a CentOS 5.5 64 bit (x86_64) Virtual Machine, running inside a Fedora 14 physical host. It is installed with the minimal installation available with default CENTOS installer. It has additional packages installed on it, which are:
[root@buildhost-64 ~]# yum -y install anaconda anaconda-runtime mkisofs cdrecord
The BuildHost has only 512 MB Virtual Memory, and 4GB Virtual Disk. We basically do not need much disk space on the build host. The space is needed to pull the RPMs using "yumdownloader" command. The BuildHost (VM) has the IP: 192.168.122.229, on its eth0 interface.
Steps
Make the repositories available on the buildhost-64
See if you are able to view the NFS share made available on the physical host.
[root@buildhost-32 ~]# showmount -e 192.168.122.1 Export list for 192.168.122.1: /data/cdimages 192.168.122.0/255.255.255.0
Create a mount point on the build host, and mount the NFS share on it.
[root@buildhost-64 ~]# mkdir /mnt/cdimages [root@buildhost-64 ~]# mount -t nfs 192.168.122.1:/data/cdimages/ /mnt/cdimages/ [root@buildhost-64 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 3.8G 913M 2.8G 34% / tmpfs 252M 0 252M 0% /dev/shm 192.168.122.1:/data/cdimages/ 191G 113G 69G 63% /mnt/cdimages [root@buildhost-64 ~]#
As you can see, the /data/cdimages from the physical host is now available on our buildhost-64, as /mnt/cdimages.
Create an empty directory CentOS-5.5-x86_64-hypervisor inside /mnt/cdimages, if not already done so. It must be empty though. This directory is going to hold our new custom distribution.
[root@buildhost-64 ~]# mkdir /mnt/cdimages/CentOS-5.5-x86_64-hypervisor
Copy the DVD structure, (excluding the CentOS directory), from /mnt/cdimages/CentOS-5.5-x86_64/ to this newly created directory /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/.
[root@buildhost-64 ~]# rsync -av --exclude CentOS/ \ /mnt/cdimages/CentOS-5.5-x86_64/ /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/
Without the CentOS directory, which holds all the RPMs of the distribution, the structure (with some necessary files), is about 226 MB in total.
[root@buildhost-64 ~]# du -sh /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/ 226M /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/
I created temporary directories named /tmp/transitRPMs and /tmp/RPMtest. /tmp/transitRPMs will hold the RPMs pulled by yumdownloader. /tmp/RPMtest will be used to test the RPMs. This is optional, because it doesn't make much sense after the packages are downloaded using yumdownloader, which checks for dependencies itself. Note: We cannot use directories created inside NFS mounts to use with RPM, or YUM, or YUMDOWNLOADER. Thus it is important to have a directory created on the local filesystem for both pulling the RPMs and testing them.
[root@buildhost-64 tmp]# mkdir /tmp/transitRPMs [root@buildhost-64 tmp]# mkdir /tmp/RPMtest
Pulling the necessary RPMs
Note: The transitRPMs (or whatever name you chose for it), must not be on an NFS share. I found problems getting RPM and YUM to work inside NFS mounts.
[root@buildhost-64 tmp]# yum -y install yum-utils
Simple way to pull the the required RPM, along it's dependencies, is to use YUMDOWNLOADER (part of yum-utils package). The other (manual) method is to of-course copy the files one at a time, to the /tmp/transitRPMs directory. (Not very appealing of-course).
Here is how to pull just the kernel and all of it's related dependencies.
[root@buildhost-64 tmp]# yumdownloader --destdir=/tmp/transitRPMs/ --installroot=/tmp/transitRPMs/ --resolve kernel . . . . . . --> Processing Dependency: libk5crypto.so.3()(64bit) for package: openssl --> Running transaction check ---> Package krb5-libs.x86_64 0:1.6.1-36.el5_4.1 set to be updated --> Processing Dependency: libkeyutils.so.1(KEYUTILS_0.3)(64bit) for package: krb5-libs --> Processing Dependency: libkeyutils.so.1()(64bit) for package: krb5-libs --> Running transaction check ---> Package keyutils-libs.x86_64 0:1.2-1.el5 set to be updated --> Finished Dependency Resolution . . . . . . kernel-2.6.18-194.el5.x86_64.rpm | 19 MB 00:00 device-mapper-multipath-0.4.7-34.el5.x86_64.rpm | 3.0 MB 00:00 libsysfs-2.0.0-6.x86_64.rpm | 45 kB 00:00 iputils-20020927-46.el5.x86_64.rpm | 131 kB 00:00 libstdc++-4.1.2-48.el5.x86_64.rpm | 352 kB 00:00 libacl-2.2.39-6.el5.x86_64.rpm | 19 kB 00:00 libcap-1.10-26.x86_64.rpm | 23 kB 00:00 cpio-2.6-23.el5_4.1.x86_64.rpm | 122 kB 00:00 filesystem-2.4.0-3.el5.x86_64.rpm | 1.0 MB 00:00 nash-5.1.19.6-61.x86_64.rpm | 1.1 MB 00:00 binutils-2.17.50.0.6-14.el5.x86_64.rpm | 2.9 MB 00:00 SysVinit-2.86-15.el5.x86_64.rpm | 117 kB 00:00 bash-3.2-24.el5.x86_64.rpm | 1.9 MB 00:00 libselinux-1.33.4-5.5.el5.x86_64.rpm | 77 kB 00:00 db4-4.3.29-10.el5.x86_64.rpm | 898 kB 00:00 [root@buildhost-64 tmp]#
[root@buildhost-64 tmp]# ls /tmp/transitRPMs/*.rpm | wc -l 82 [root@buildhost-64 tmp]# du -sh /tmp/transitRPMs/ 104M /tmp/transitRPMs/
Of-course, the above is minimal most as it can get. It will give you a login prompt and shell access. But you won't have yum, wget, ftp, etc. And, you have to assign IP as well yourself. However this can be ideal for testing multiple machines, just to test availability over the network. But again, nothing fancy.
To get all the packages we need, for our "HypervisorEdition", below is what all I pulled.
[root@buildhost-64 ~]# yumdownloader --destdir=/tmp/transitRPMs/ --installroot=/tmp/transitRPMs/ --resolve kernel \ vim-minimal wget yum dhclient grub rootfiles openssh-clients openssh-server \ iptables selinux-policy-targeted setools kernel-xen telnet tcpdump wireshark nmap \ zip bzip2 rsync which traceroute ftp vixie-cron iptraf vnc-server \ xen kvm kvm-tools virt-viewer virt-manager xterm \ xorg-x11-xinit xorg-x11-server-Xorg xorg-x11-twm xorg-x11-xdm bitmap-fonts desktop-backgrounds-basic \ xorg-x11-drivers xorg-x11-fonts-75dpi xorg-x11-fonts-100dpi xorg-x11-fonts-ISO8859-1-75dpi \ xorg-x11-fonts-ISO8859-1-100dpi xorg-x11-fonts-misc xorg-x11-fonts-truetype xorg-x11-fonts-Type1
[root@buildhost-64 tmp]# ls /tmp/transitRPMs/*.rpm | wc -l 371 [root@buildhost-64 tmp]# du -sh /tmp/transitRPMs/ 275M /tmp/transitRPMs/
Test the installation of pulled RPMs (for the sake of completeness)
I use the testrun.sh script, shown in the scripts section below, to test the installation of RPMs, which were pulled just now using yumdownloader. You have to edit the script to specify correct locations of the RPMTEST variable.
[root@buildhost-64 tmp]# ./testrun.sh /tmp/transitRPMs/ warning: /tmp/transitRPMs//alsa-lib-1.0.17-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897 Preparing... ########################################### [100%] [root@buildhost-64 tmp]# No errors here. This means that the test installation of the RPMs was successful. Good.
Synchronize the transitRPMs location with the build-tree
Once the test is successful, you can rsync this (transitRPMs) directory to your buildtree (/mnt/cdimages/CentOS-5.5-x86_64-hypervisor).
Create the CentOS directory in your build directory, if you have not created it already. It should be empty at this point.
[root@buildhost-64 tmp]# mkdir /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/CentOS
Now sync the directory.
[root@buildhost-64 tmp]# rsync -av /tmp/transitRPMs/ /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/CentOS/ building file list ... done . . . . . . xorg-x11-xinit-1.0.2-15.el5.x86_64.rpm xorg-x11-xkb-utils-1.0.2-2.1.x86_64.rpm xterm-215-8.el5_4.1.x86_64.rpm xz-libs-4.999.9-0.3.beta.20091007git.el5.x86_64.rpm yum-3.2.22-26.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm zip-2.31-2.el5.x86_64.rpm zlib-1.2.3-3.x86_64.rpm sent 284376910 bytes received 8188 bytes 11607555.02 bytes/sec total size is 284309498 speedup is 1.00 [root@buildhost-64 tmp]#
Edit the comps.xml file as per requirements
I pulled a copy of original comps.xml from the original CENTOS repository. Removed all the "xml:lang" lines from it. Also removed all un-necessary groups and categories from it. Modified contents of the groups: core, base, xen and kvm. Below is the minimal version of comps.xml, for my CENTOS 5.5 64 bit Hypervisor Edition.
[root@buildhost-64 tmp]# cat comps.xml-hypervisor <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE newcomps PUBLIC "-//CentOS//DTD Comps info//EN" "comps.dtd"> <comps> <group> <id>base</id> <name>Base</name> <description>This group includes a minimal set of packages, inclusding X.</description> <default>false</default> <uservisible>true</uservisible> <packagelist> <packagereq type="default">vim-minimal</packagereq> <packagereq type="default">grub</packagereq> <packagereq type="default">openssh-clients</packagereq> <packagereq type="default">openssh-server</packagereq> <packagereq type="default">dhclient</packagereq> <packagereq type="default">rootfiles</packagereq> <packagereq type="default">iptables</packagereq> <packagereq type="optional">kernel-xen</packagereq> <packagereq type="default">telnet</packagereq> <packagereq type="default">tcpdump</packagereq> <packagereq type="default">nmap</packagereq> <packagereq type="optional">wireshark</packagereq> <packagereq type="default">zip</packagereq> <packagereq type="default">bzip2</packagereq> <packagereq type="default">rsync</packagereq> <packagereq type="default">which</packagereq> <packagereq type="default">traceroute</packagereq> <packagereq type="default">ftp</packagereq> <packagereq type="default">vixie-cron</packagereq> <packagereq type="optional">iptraf</packagereq> <packagereq type="default">setools</packagereq> <packagereq type="default">selinux-policy-targeted</packagereq> <packagereq type="default">selinux-policy</packagereq> <packagereq type="optional">vnc-server</packagereq> <packagereq type="optional">xterm</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-twm</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-xinit</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-xfs</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-server-utils</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-server-Xorg</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-xdm</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-drivers</packagereq> <packagereq type="conditional" requires="xterm">bitmap-fonts</packagereq> <packagereq type="conditional" requires="xterm">desktop-backgrounds-basic</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-fonts-75dpi</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-fonts-100dpi</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-fonts-ISO8859-1-75dpi</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-fonts-ISO8859-1-100dpi</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-fonts-misc</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-fonts-truetype</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-fonts-Type1</packagereq> <packagereq type="conditional" requires="xterm">xorg-x11-xauth</packagereq> </packagelist> </group> <group> <id>core</id> <name>Core</name> <description>Smallest possible installation</description> <default>true</default> <uservisible>false</uservisible> <packagelist> <packagereq type="mandatory">SysVinit</packagereq> <packagereq type="mandatory">basesystem</packagereq> <packagereq type="mandatory">bash</packagereq> <packagereq type="mandatory">centos-release</packagereq> <packagereq type="mandatory">coreutils</packagereq> <packagereq type="mandatory">cpio</packagereq> <packagereq type="mandatory">e2fsprogs</packagereq> <packagereq type="mandatory">redhat-logos</packagereq> <packagereq type="mandatory">centos-release-notes</packagereq> <packagereq type="mandatory">filesystem</packagereq> <packagereq type="mandatory">glibc</packagereq> <packagereq type="mandatory">initscripts</packagereq> <packagereq type="mandatory">iproute</packagereq> <packagereq type="mandatory">iputils</packagereq> <packagereq type="mandatory">libgcc</packagereq> <packagereq type="mandatory">libtermcap</packagereq> <packagereq type="mandatory">mkinitrd</packagereq> <packagereq type="mandatory">procps</packagereq> <packagereq type="mandatory">readline</packagereq> <packagereq type="mandatory">rpm</packagereq> <packagereq type="mandatory">setup</packagereq> <packagereq type="mandatory">shadow-utils</packagereq> <packagereq type="mandatory">sysklogd</packagereq> <packagereq type="mandatory">termcap</packagereq> <packagereq type="mandatory">util-linux</packagereq> <packagereq type="mandatory">yum</packagereq> <packagereq type="mandatory">wget</packagereq> </packagelist> </group> <group> <id>xen</id> <name>Virtualization</name> <description>Virtualization Support with XEN</description> <default>false</default> <uservisible>true</uservisible> <packagelist> <packagereq type="default">kernel-xen</packagereq> <packagereq type="optional">libvirt</packagereq> <packagereq type="default">xen</packagereq> <packagereq type="optional">virt-manager</packagereq> <packagereq type="optional">virt-viewer</packagereq> </packagelist> </group> <group> <id>kvm</id> <name>KVM</name> <description>Virtualization Support with KVM</description> <default>false</default> <uservisible>true</uservisible> <packagelist> <packagereq type='default'>celt051</packagereq> <packagereq type='default'>etherboot-zroms</packagereq> <packagereq type='default'>etherboot-zroms-kvm</packagereq> <packagereq type='default'>kmod-kvm</packagereq> <packagereq type='default'>kvm</packagereq> <packagereq type='default'>kvm-qemu-img</packagereq> <packagereq type='default'>log4cpp</packagereq> <packagereq type='default'>qcairo</packagereq> <packagereq type='default'>qffmpeg-libs</packagereq> <packagereq type='default'>qpixman</packagereq> <packagereq type='default'>qspice-libs</packagereq> <packagereq type='default'>libvirt</packagereq> <packagereq type='optional'>etherboot-pxes</packagereq> <packagereq type='optional'>etherboot-roms</packagereq> <packagereq type='optional'>etherboot-roms-kvm</packagereq> <packagereq type='optional'>iasl</packagereq> <packagereq type='optional'>kvm-tools</packagereq> <packagereq type="optional">virt-manager</packagereq> <packagereq type="optional">virt-viewer</packagereq> </packagelist> </group> <category> <id>virtualization</id> <name>Virtualization</name> <description>Virtualization Support.</description> <display_order>93</display_order> <grouplist> <groupid>xen</groupid> <groupid>kvm</groupid> </grouplist> </category> </comps> [root@buildhost-64 tmp]#
You may want to run a sanity check on your comps.xml file. It will reveal any errors/typing mistakes, etc.
[root@buildhost-64 tmp]# xmllint --valid comps.xml-hypervisor
Create the Repository
Use the script shown below in the scripts section to create the repository in your build directory. You have to edit the script to specify correct values for the variables used for COMPS.XML file.
[root@buildhost-64 tmp]# ./createrepo.sh /mnt/cdimages/CentOS-5.5-x86_64-hypervisor Doing: rm -f /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/* Doing: cp -v /tmp/comps.xml-hypervisor /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/comps.xml `/tmp/comps.xml-hypervisor' -> `/mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/comps.xml' Doing: createrepo -u media://1272326751.405938 -g /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/comps.xml /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/ 371/371 - CentOS/libgnomeui-2.16.0-5.el5.x86_64.rpm Saving Primary metadata Saving file lists metadata Saving other metadata [root@buildhost-64 tmp]#
Build the ISO file out of your build-tree
Time for the final step. Build the ISO. Use the buildiso.sh script shown in the scripts section below, to create the ISO. You have to edit the script to specify location and name of the ISO file.
[root@buildhost-64 tmp]# ./buildiso.sh /mnt/cdimages/CentOS-5.5-x86_64-hypervisor INFO: UTF-8 character encoding detected by locale settings. Assuming UTF-8 encoded filenames on source filesystem, use -input-charset to override. mkisofs 2.01 (cpu-pc-linux-gnu) Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/pxeboot Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/pxeboot/TRANS.TBL Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/xen Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/xen/TRANS.TBL Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/TRANS.TBL Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/TRANS.TBL Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/CentOS Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/isolinux Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/isolinux/TRANS.TBL Excluded by match: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/isolinux/boot.cat Using RPM_G000.;1 for /RPM-GPG-KEY-CentOS-5 (RPM-GPG-KEY-beta) Using RELEA000.;1 for /RELEASE-NOTES-en (RELEASE-NOTES-en_US) Using RELEA000.HTM;1 for /RELEASE-NOTES-es.html (RELEASE-NOTES-en.html) Using RELEA001.HTM;1 for /RELEASE-NOTES-en.html (RELEASE-NOTES-en_US.html) . . . . . . Using XORG_01V.RPM;1 for /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/CentOS/xorg-x11-drv-digitaledge-1.1.0-1.1.x86_64.rpm (xorg-x11-drv-s3virge-1.9.1-2.1.x86_64.rpm) Using XORG_01W.RPM;1 for /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/CentOS/xorg-x11-drv-s3virge-1.9.1-2.1.x86_64.rpm (xorg-x11-fonts-75dpi-7.1-2.1.el5.noarch.rpm) Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 . . . . . . Writing: Extension record Start Block 92 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 93 2.07% done, estimate finish Tue Jan 4 11:47:07 2011 4.13% done, estimate finish Tue Jan 4 11:47:07 2011 6.20% done, estimate finish Tue Jan 4 11:47:07 2011 8.26% done, estimate finish Tue Jan 4 11:47:19 2011 10.32% done, estimate finish Tue Jan 4 11:47:16 2011 . . . . . . 94.97% done, estimate finish Tue Jan 4 11:47:47 2011 97.04% done, estimate finish Tue Jan 4 11:47:47 2011 99.11% done, estimate finish Tue Jan 4 11:47:46 2011 Total translation table size: 103926 Total rockridge attributes bytes: 44898 Total directory bytes: 71680 Path table size(bytes): 98 Done with: The File(s) Block(s) 241935 Writing: Ending Padblock Start Block 242028 Done with: Ending Padblock Block(s) 150 Max brk space used 84000 242178 extents written (473 MB) [root@buildhost-64 tmp]#
Thats all. The ISO file is ready. Burn it on a CD, or use directly, or whatever suits you.
End of steps. The task of building the custom CENTOS ISO is successfully completed at this point.
Scripts used to test RPMs, create repo, and build ISO
testrun.sh (Used for testing a directory full of RPMs)
[root@buildhost-64 tmp]# cat testrun.sh #!/bin/bash TESTDIR=$1 if [ "$TESTDIR" == "" ] ; then echo "You should provide the name of test directory containing RPMS. Please specify full path." exit 1 fi RPMTEST="/tmp/RPMtest" rpm --initdb --dbpath ${RPMTEST} rpm --test --dbpath ${RPMTEST} --root ${RPMTEST} -ivh ${TESTDIR}/*.rpm [root@buildhost-64 tmp]#
Usage:
[root@buildhost-64 tmp]# ./testrun.sh /tmp/transitRPMs warning: /tmp/transitRPMs/alsa-lib-1.0.17-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897 Preparing... ########################################### [100%] [root@buildhost-64 tmp]#
createrepo.sh (Used to create repository)
[root@buildhost-64 tmp]# cat createrepo.sh #!/bin/bash BUILDDIR=$1 if [ "${BUILDDIR}" == "" ]; then echo "Build Directory cannot be empty. Please specify full path." exit 1 fi COMPSFILE="/tmp/comps.xml-hypervisor" export DISCINFO=$(head -1 ${BUILDDIR}/.discinfo) echo "Doing: rm -f ${BUILDDIR}/repodata/*" rm -f ${BUILDDIR}/repodata/* echo "Doing: cp -v ${COMPSFILE} ${BUILDDIR}/repodata/comps.xml" cp -v ${COMPSFILE} ${BUILDDIR}/repodata/comps.xml echo "Doing: createrepo -u "media://${DISCINFO}" -g ${BUILDDIR}/repodata/comps.xml ${BUILDDIR}/" createrepo -u "media://${DISCINFO}" -g ${BUILDDIR}/repodata/comps.xml ${BUILDDIR}/ [root@buildhost-64 tmp]#
Usage:
[root@buildhost-64 tmp]# ./createrepo.sh /mnt/cdimages/CentOS-5.5-x86_64-hypervisor Doing: rm -f /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/* Doing: cp -v /tmp/comps.xml-hypervisor /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/comps.xml `/tmp/comps.xml-hypervisor' -> `/mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/comps.xml' Doing: createrepo -u media://1272326751.405938 -g /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/comps.xml /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/ 371/371 - CentOS/libgnomeui-2.16.0-5.el5.x86_64.rpm Saving Primary metadata Saving file lists metadata Saving other metadata [root@buildhost-64 tmp]#
buildiso.sh (Used to build the ISO file)
[root@buildhost-64 tmp]# cat buildiso.sh #!/bin/bash BUILDDIR=$1 if [ "${BUILDDIR}" == "" ]; then echo "Build Directory cannot be empty. Please specify full path." exit 1 fi ISODIR="/mnt/cdimages/" ISOFILE="CentOS-5.5-x86_64-HypervisorEdition.iso" # Remove the non-english RELEASE-NOTES. rm -f ${BUILDDIR}/RELEASE-NOTES-[a-d,f-z]* # Remove NOTES directory, which contains RELEASE-NOTES in plathora of different languages. rm -f ${BUILDDIR}/NOTES* # Remove the target ISO file, if it already exists. rm ${ISODIR}/${ISOFILE} # [OPTIONAL] Create the README file in the CD root: cat > ${BUILDDIR}/README << EOFREADME ################################################################################################ # README : Contains summary about this CD # Author : Muhammad Kamran Azeem (kamran@wbitt.com) # Created : 20110103 # Revision: 20110103 # Summary : This CD is CENTOS 5.5 x86_64 (64 bit), rebuilt by WBITT team, as Hypervisor Edition. ################################################################################################# Detail:- 1) This is a bootable CD. (Of-course ;) 2) The CD contains four groups only: * core [Not visible in installer.] * base * xen (Named/shown as group: Virtualization) * kvm (Named/shown as group: KVM) 3) These groups can be used in your kickstart files. 4) The groups are designed in such a way, that if you do not select any group (uncheck all of them at the time of installation), you will get a minimal installation, containing yum and wget. In minimal install you won't get any protection. 5) SELINUX and IPTABLES are not installed in the minimal (@core) installation. all other packages if needed must be copied, or installed from the CD directly. Or whatever way you prefer, including, but not limiting to using YUM. 6) The base contains xterm. If you select that, xterm and its (minimal) necessary X packages will also get installed automatically. (Vesa drivers) 7) If you decide to use kickstart, then please note, that the software in this CD is (should be) compatible with your current kickstarts. 8) The complete CD can be copied to an NFS/HTTP/FTP server, and can in-turn be used for network based installations, of the same. 9) The CD has both KVM and XEN hypervisors. Includes kernel-xen. 10) If you select the category "Virtualization" at the install time, and do not check "customize software selection", XEN will be installed. End of README file. EOFREADME # [OPTIONAL] Create a sample kickstart file in the CD root: cat > ${BUILDDIR}/sample-kickstart.ks << EOFKS ################################################################################################ # Author : Muhammad Kamran Azeem (kamran@wbitt.com) # Created: 2011-01-03 # Revised: 2011-01-03 # Summary: A minimalistic kickstart file by WBITT Team # Note : USE AT YOUR OWN RISK. Adjust as per your requirements. ################################################################################################ install text # url --url http://192.168.122.1/CentOS-5.5-x86_64-Hypervisor/ lang en_US.UTF-8 keyboard us network --device eth0 --bootproto dhcp --hostname centos-55-64-hypervisor --noipv6 # The password below is actually redhat rootpw --iscrypted $1$Q6duWtpC$OcyfP8NCdH1EZBxHmM/tL0 firewall --enabled --port=22:tcp authconfig --enableshadow --enablemd5 selinux --enabled timezone Asia/Riyadh # I prefer you create at least a 2 GB disk for the minimal install. # Adjust the following three lines as needed. # zerombr # bootloader --location=mbr --append="" # clearpart --all --initlabel # part / --fstype=ext3 --size=200 --grow # part swap --fstype=swap --size=256 reboot %packages # The options for groups are: core, base, xen, kvm @core %post # chkconfig --level 35 sendmail off # chkconfig --level 35 cups off EOFKS # Finally, create the ISO. mkisofs -r -R -J -T -v \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -V "CentOS-5.5-Hypervisor 64-bit" -p "KamranAzeem (kamran@wbitt.com)" -A "CentOS-5.5-Hypervisor-Edition 64 bit-2011/01/03" \ -b isolinux/isolinux.bin -c isolinux/boot.cat -x "lost+found" \ -o ${ISODIR}/${ISOFILE} ${BUILDDIR} [root@buildhost-64 tmp]#
Usage:
[root@buildhost-64 tmp]# ./buildiso.sh /mnt/cdimages/CentOS-5.5-x86_64-hypervisor INFO: UTF-8 character encoding detected by locale settings. Assuming UTF-8 encoded filenames on source filesystem, use -input-charset to override. mkisofs 2.01 (cpu-pc-linux-gnu) Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/pxeboot Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/pxeboot/TRANS.TBL Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/xen Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/xen/TRANS.TBL Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/TRANS.TBL Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/TRANS.TBL Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/CentOS Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/isolinux Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/isolinux/TRANS.TBL Excluded by match: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/isolinux/boot.cat Using RPM_G000.;1 for /RPM-GPG-KEY-CentOS-5 (RPM-GPG-KEY-beta) Using RELEA000.;1 for /RELEASE-NOTES-en (RELEASE-NOTES-en_US) Using RELEA000.HTM;1 for /RELEASE-NOTES-es.html (RELEASE-NOTES-en.html) Using RELEA001.HTM;1 for /RELEASE-NOTES-en.html (RELEASE-NOTES-en_US.html) . . . . . . Using XORG_01V.RPM;1 for /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/CentOS/xorg-x11-drv-digitaledge-1.1.0-1.1.x86_64.rpm (xorg-x11-drv-s3virge-1.9.1-2.1.x86_64.rpm) Using XORG_01W.RPM;1 for /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/CentOS/xorg-x11-drv-s3virge-1.9.1-2.1.x86_64.rpm (xorg-x11-fonts-75dpi-7.1-2.1.el5.noarch.rpm) Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 . . . . . . Writing: Extension record Start Block 92 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 93 2.07% done, estimate finish Tue Jan 4 11:47:07 2011 4.13% done, estimate finish Tue Jan 4 11:47:07 2011 6.20% done, estimate finish Tue Jan 4 11:47:07 2011 8.26% done, estimate finish Tue Jan 4 11:47:19 2011 10.32% done, estimate finish Tue Jan 4 11:47:16 2011 . . . . . . 94.97% done, estimate finish Tue Jan 4 11:47:47 2011 97.04% done, estimate finish Tue Jan 4 11:47:47 2011 99.11% done, estimate finish Tue Jan 4 11:47:46 2011 Total translation table size: 103926 Total rockridge attributes bytes: 44898 Total directory bytes: 71680 Path table size(bytes): 98 Done with: The File(s) Block(s) 241935 Writing: Ending Padblock Start Block 242028 Done with: Ending Padblock Block(s) 150 Max brk space used 84000 242178 extents written (473 MB) [root@buildhost-64 tmp]#
Complete list of RPMS (for our CENTOS 5.5 x86_64 Hypervisor Edition)
[root@buildhost-64 tmp]# ls /mnt/cdimages/hypervisor-64/ | wc -l 327 [root@buildhost-64 tmp]# du -sh /mnt/cdimages/hypervisor-64/ 271M /mnt/cdimages/hypervisor-64/
[root@buildhost-64 tmp]# ls -tr1 /mnt/cdimages/hypervisor-64/ alsa-lib-1.0.17-1.el5.x86_64.rpm atk-1.12.2-1.fc6.x86_64.rpm audiofile-0.2.6-5.x86_64.rpm audit-libs-1.7.17-3.el5.x86_64.rpm audit-libs-python-1.7.17-3.el5.x86_64.rpm avahi-0.6.16-7.el5.x86_64.rpm avahi-glib-0.6.16-7.el5.x86_64.rpm basesystem-8.0-5.1.1.el5.centos.noarch.rpm bash-3.2-24.el5.x86_64.rpm binutils-2.17.50.0.6-14.el5.x86_64.rpm bitmap-fonts-0.3-5.1.1.noarch.rpm bitstream-vera-fonts-1.10-7.noarch.rpm bridge-utils-1.1-2.x86_64.rpm bzip2-1.0.3-4.el5_2.x86_64.rpm bzip2-libs-1.0.3-4.el5_2.x86_64.rpm cairo-1.2.4-5.el5.x86_64.rpm celt051-0.5.1.3-0.el5.x86_64.rpm centos-release-5-5.el5.centos.x86_64.rpm centos-release-notes-5.5-0.x86_64.rpm checkpolicy-1.33.1-6.el5.x86_64.rpm chkconfig-1.3.30.2-2.el5.x86_64.rpm chkfontpath-1.10.1-1.1.x86_64.rpm coreutils-5.97-23.el5_4.2.x86_64.rpm cpio-2.6-23.el5_4.1.x86_64.rpm cpp-4.1.2-48.el5.x86_64.rpm cracklib-2.8.9-3.3.x86_64.rpm cracklib-dicts-2.8.9-3.3.x86_64.rpm crontabs-1.10-8.noarch.rpm cryptsetup-luks-1.0.3-5.el5.x86_64.rpm cups-libs-1.3.7-18.el5.x86_64.rpm cyrus-sasl-2.1.22-5.el5_4.3.x86_64.rpm cyrus-sasl-lib-2.1.22-5.el5_4.3.x86_64.rpm cyrus-sasl-md5-2.1.22-5.el5_4.3.x86_64.rpm db4-4.3.29-10.el5.x86_64.rpm dbus-1.1.2-14.el5.x86_64.rpm dbus-glib-0.73-8.el5.x86_64.rpm dbus-libs-1.1.2-14.el5.x86_64.rpm dbus-python-0.70-9.el5_4.x86_64.rpm desktop-backgrounds-basic-2.0-41.el5.centos.noarch.rpm desktop-file-utils-0.10-7.x86_64.rpm device-mapper-1.02.39-1.el5.x86_64.rpm device-mapper-event-1.02.39-1.el5.x86_64.rpm device-mapper-multipath-0.4.7-34.el5.x86_64.rpm dhclient-3.0.5-23.el5.x86_64.rpm diffutils-2.8.1-15.2.3.el5.x86_64.rpm dmidecode-2.10-3.el5.x86_64.rpm dmraid-1.0.0.rc13-63.el5.x86_64.rpm dmraid-events-1.0.0.rc13-63.el5.x86_64.rpm dnsmasq-2.45-1.1.el5_3.x86_64.rpm docbook-dtds-1.0-30.1.noarch.rpm e2fsprogs-1.39-23.el5.x86_64.rpm e2fsprogs-libs-1.39-23.el5.x86_64.rpm e4fsprogs-libs-1.41.9-3.el5.x86_64.rpm elfutils-libelf-0.137-3.el5.x86_64.rpm esound-0.2.36-3.x86_64.rpm etherboot-zroms-kvm-5.4.4-13.el5.centos.x86_64.rpm ethtool-6-4.el5.x86_64.rpm expat-1.95.8-8.3.el5_4.2.x86_64.rpm filesystem-2.4.0-3.el5.x86_64.rpm findutils-4.2.27-6.el5.x86_64.rpm fipscheck-1.2.0-1.el5.x86_64.rpm fipscheck-lib-1.2.0-1.el5.x86_64.rpm fontconfig-2.4.1-7.el5.x86_64.rpm freetype-2.2.1-21.el5_3.x86_64.rpm ftp-0.17-35.el5.x86_64.rpm gamin-0.1.7-8.el5.x86_64.rpm gawk-3.1.5-14.el5.x86_64.rpm GConf2-2.14.0-9.el5.x86_64.rpm gdbm-1.8.0-26.2.1.x86_64.rpm glib2-2.12.3-4.el5_3.1.x86_64.rpm glibc-2.5-49.x86_64.rpm glibc-common-2.5-49.x86_64.rpm gnome-keyring-0.6.0-1.fc6.x86_64.rpm gnome-mime-data-2.4.2-3.1.x86_64.rpm gnome-mount-0.5-3.el5.x86_64.rpm gnome-python2-2.16.0-1.fc6.x86_64.rpm gnome-python2-bonobo-2.16.0-1.fc6.x86_64.rpm gnome-python2-desktop-2.16.0-3.el5.x86_64.rpm gnome-python2-gconf-2.16.0-1.fc6.x86_64.rpm gnome-python2-gnomekeyring-2.16.0-3.el5.x86_64.rpm gnome-python2-gnomevfs-2.16.0-1.fc6.x86_64.rpm gnome-vfs2-2.16.2-6.el5.x86_64.rpm gnutls-1.4.1-3.el5_3.5.x86_64.rpm grep-2.5.1-55.el5.x86_64.rpm grub-0.97-13.5.x86_64.rpm gtk2-2.10.4-20.el5.x86_64.rpm gtk-vnc-0.3.8-3.el5.x86_64.rpm gtk-vnc-python-0.3.8-3.el5.x86_64.rpm gzip-1.3.5-11.el5.centos.1.x86_64.rpm hal-0.5.8.1-59.el5.x86_64.rpm hicolor-icon-theme-0.9-2.1.noarch.rpm hmaccalc-0.9.6-3.el5.x86_64.rpm hwdata-0.213.18-1.el5.1.noarch.rpm info-4.8-14.el5.x86_64.rpm initscripts-8.45.30-2.el5.centos.x86_64.rpm iproute-2.6.18-11.el5.x86_64.rpm iptables-1.3.5-5.3.el5_4.1.x86_64.rpm iptraf-3.0.0-5.el5.x86_64.rpm iputils-20020927-46.el5.x86_64.rpm iscsi-initiator-utils-6.2.0.871-0.16.el5.x86_64.rpm kbd-1.12-21.el5.x86_64.rpm kernel-2.6.18-194.el5.x86_64.rpm kernel-xen-2.6.18-194.el5.x86_64.rpm keyutils-libs-1.2-1.el5.x86_64.rpm kmod-kvm-83-164.el5.x86_64.rpm kpartx-0.4.7-34.el5.x86_64.rpm krb5-libs-1.6.1-36.el5_4.1.x86_64.rpm kvm-83-164.el5.x86_64.rpm kvm-qemu-img-83-164.el5.x86_64.rpm kvm-tools-83-164.el5.x86_64.rpm less-436-2.el5.x86_64.rpm libacl-2.2.39-6.el5.x86_64.rpm libart_lgpl-2.3.17-4.x86_64.rpm libattr-2.4.32-1.1.x86_64.rpm libbonobo-2.16.0-1.fc6.x86_64.rpm libbonoboui-2.16.0-1.fc6.x86_64.rpm libcap-1.10-26.x86_64.rpm libcroco-0.6.1-2.1.x86_64.rpm libdaemon-0.10-5.el5.x86_64.rpm libdmx-1.0.2-3.1.x86_64.rpm libdrm-2.0.2-1.1.x86_64.rpm libevent-1.4.13-1.x86_64.rpm libfontenc-1.0.2-2.2.el5.x86_64.rpm libFS-1.0.0-3.1.x86_64.rpm libgcc-4.1.2-48.el5.x86_64.rpm libgcrypt-1.4.4-5.el5.x86_64.rpm libglade2-2.6.0-2.x86_64.rpm libgnome-2.16.0-6.el5.x86_64.rpm libgnomecanvas-2.14.0-4.1.x86_64.rpm libgnomeui-2.16.0-5.el5.x86_64.rpm libgpg-error-1.4-2.x86_64.rpm libgsf-1.14.1-6.1.x86_64.rpm libgssapi-0.10-2.x86_64.rpm libICE-1.0.1-2.1.x86_64.rpm libIDL-0.8.7-1.fc6.x86_64.rpm libjpeg-6b-37.x86_64.rpm libnotify-0.4.2-6.el5.x86_64.rpm libogg-1.1.3-3.el5.x86_64.rpm libpcap-0.9.4-15.el5.x86_64.rpm libpng-1.2.10-7.1.el5_3.2.x86_64.rpm librsvg2-2.16.1-1.el5.x86_64.rpm libselinux-1.33.4-5.5.el5.x86_64.rpm libselinux-python-1.33.4-5.5.el5.x86_64.rpm libselinux-utils-1.33.4-5.5.el5.x86_64.rpm libsemanage-1.9.1-4.4.el5.x86_64.rpm libsepol-1.15.2-3.el5.x86_64.rpm libSM-1.0.1-3.1.x86_64.rpm libsmi-0.4.5-2.el5.x86_64.rpm libstdc++-4.1.2-48.el5.x86_64.rpm libsysfs-2.0.0-6.x86_64.rpm libtermcap-2.0.8-46.1.x86_64.rpm libtiff-3.8.2-7.el5_3.4.x86_64.rpm libusb-0.1.12-5.1.x86_64.rpm libuser-0.54.7-2.1.el5_4.1.x86_64.rpm libutempter-1.1.4-4.el5.x86_64.rpm libvirt-0.6.3-33.el5.x86_64.rpm libvirt-python-0.6.3-33.el5.x86_64.rpm libvolume_id-095-14.21.el5.x86_64.rpm libwnck-2.16.0-4.fc6.x86_64.rpm libX11-1.0.3-11.el5.x86_64.rpm libXau-1.0.1-3.1.x86_64.rpm libXaw-1.0.2-8.1.x86_64.rpm libXcursor-1.1.7-1.1.x86_64.rpm libXdmcp-1.0.1-2.1.x86_64.rpm libXext-1.0.1-2.1.x86_64.rpm libXfixes-4.0.1-2.1.x86_64.rpm libXfont-1.2.2-1.0.3.el5_1.x86_64.rpm libXfontcache-1.0.2-3.1.x86_64.rpm libXft-2.1.10-1.1.x86_64.rpm libXi-1.0.1-4.el5_4.x86_64.rpm libXinerama-1.0.1-2.1.x86_64.rpm libxkbfile-1.0.3-3.1.x86_64.rpm libxml2-2.6.26-2.1.2.8.x86_64.rpm libxml2-python-2.6.26-2.1.2.8.x86_64.rpm libXmu-1.0.2-5.x86_64.rpm libXpm-3.5.5-3.x86_64.rpm libXrandr-1.1.1-3.3.x86_64.rpm libXrender-0.9.1-3.1.x86_64.rpm libXres-1.0.1-3.1.x86_64.rpm libxslt-1.1.17-2.el5_2.2.x86_64.rpm libXt-1.0.2-3.2.el5.x86_64.rpm libXTrap-1.0.0-3.1.x86_64.rpm libXtst-1.0.1-3.1.x86_64.rpm libXv-1.0.1-4.1.x86_64.rpm libXxf86dga-1.0.1-3.1.x86_64.rpm libXxf86misc-1.0.1-3.1.x86_64.rpm libXxf86vm-1.0.1-3.1.x86_64.rpm log4cpp-1.0-9.el5.x86_64.rpm logrotate-3.7.4-9.x86_64.rpm lvm2-2.02.56-8.el5.x86_64.rpm m2crypto-0.16-6.el5.6.x86_64.rpm MAKEDEV-3.23-1.2.x86_64.rpm mcstrans-0.2.11-3.el5.x86_64.rpm mesa-libGL-6.5.1-7.8.el5.x86_64.rpm mesa-libGLU-6.5.1-7.8.el5.x86_64.rpm mingetty-1.07-5.2.2.x86_64.rpm mkinitrd-5.1.19.6-61.x86_64.rpm mktemp-1.5-23.2.2.x86_64.rpm module-init-tools-3.3-0.pre3.1.60.el5.x86_64.rpm nash-5.1.19.6-61.x86_64.rpm nc-1.84-10.fc6.x86_64.rpm ncurses-5.5-24.20060715.x86_64.rpm net-tools-1.60-81.el5.x86_64.rpm nfs-utils-1.0.9-44.el5.x86_64.rpm nfs-utils-lib-1.0.8-7.6.el5.x86_64.rpm nmap-4.11-1.1.x86_64.rpm notification-daemon-0.3.5-9.el5.x86_64.rpm nspr-4.7.6-1.el5_4.x86_64.rpm nss-3.12.3.99.3-1.el5.centos.2.x86_64.rpm numactl-0.9.8-11.el5.x86_64.rpm openjade-1.3.2-27.x86_64.rpm openldap-2.3.43-12.el5.x86_64.rpm opensp-1.5.2-4.x86_64.rpm openssh-4.3p2-41.el5.x86_64.rpm openssh-clients-4.3p2-41.el5.x86_64.rpm openssh-server-4.3p2-41.el5.x86_64.rpm openssl-0.9.8e-12.el5_4.6.x86_64.rpm ORBit2-2.14.3-5.el5.x86_64.rpm pam-0.99.6.2-6.el5_4.1.x86_64.rpm pango-1.14.9-6.el5.centos.x86_64.rpm parted-1.8.1-27.el5.x86_64.rpm passwd-0.73-1.x86_64.rpm pciutils-2.2.3-8.el5_4.x86_64.rpm pcre-6.6-2.el5_1.7.x86_64.rpm perl-5.8.8-27.el5.x86_64.rpm pm-utils-0.99.3-10.el5.centos.x86_64.rpm policycoreutils-1.33.12-14.8.el5.x86_64.rpm popt-1.10.2.3-18.el5.x86_64.rpm portmap-4.0-65.2.2.1.x86_64.rpm procps-3.2.7-16.el5.x86_64.rpm psmisc-22.2-7.x86_64.rpm pycairo-1.2.0-1.1.x86_64.rpm pygobject2-2.12.1-5.el5.x86_64.rpm pygtk2-2.10.1-12.el5.x86_64.rpm pygtk2-libglade-2.10.1-12.el5.x86_64.rpm pyorbit-2.14.1-3.el5.x86_64.rpm python-2.4.3-27.el5.x86_64.rpm python-elementtree-1.2.6-5.x86_64.rpm python-iniparse-0.2.3-4.el5.noarch.rpm python-numeric-23.7-2.2.2.x86_64.rpm python-sqlite-1.1.7-1.2.1.x86_64.rpm python-urlgrabber-3.1.0-5.el5.noarch.rpm python-virtinst-0.400.3-9.el5.noarch.rpm qcairo-1.8.7.1-3.el5.x86_64.rpm qffmpeg-libs-0.4.9-0.15.20080908.el5.x86_64.rpm qpixman-0.13.3-4.el5.x86_64.rpm qspice-libs-0.3.0-54.el5.x86_64.rpm readline-5.1-3.el5.x86_64.rpm redhat-logos-4.9.99-11.el5.centos.noarch.rpm rootfiles-8.1-1.1.1.noarch.rpm rpm-4.4.2.3-18.el5.x86_64.rpm rpm-libs-4.4.2.3-18.el5.x86_64.rpm rpm-python-4.4.2.3-18.el5.x86_64.rpm rsync-2.6.8-3.1.x86_64.rpm rsyslog-3.22.1-3.el5.x86_64.rpm scrollkeeper-0.3.14-9.el5.x86_64.rpm SDL-1.2.10-8.el5.x86_64.rpm sed-4.1.5-5.fc6.x86_64.rpm selinux-policy-2.4.6-279.el5.noarch.rpm selinux-policy-targeted-2.4.6-279.el5.noarch.rpm setools-3.0-3.el5.x86_64.rpm setup-2.5.58-7.el5.noarch.rpm sgml-common-0.6.3-18.noarch.rpm sgpio-1.2.0_10-2.el5.x86_64.rpm shadow-utils-4.0.17-15.el5.x86_64.rpm shared-mime-info-0.19-5.el5.x86_64.rpm sqlite-3.3.6-5.x86_64.rpm startup-notification-0.8-4.1.x86_64.rpm SysVinit-2.86-15.el5.x86_64.rpm tar-1.15.1-30.el5.x86_64.rpm tcl-8.4.13-4.el5.x86_64.rpm tcpdump-3.9.4-15.el5.x86_64.rpm tcp_wrappers-7.6-40.7.el5.x86_64.rpm telnet-0.17-39.el5.x86_64.rpm termcap-5.5-1.20060701.1.noarch.rpm traceroute-2.0.1-5.el5.x86_64.rpm ttmkfdir-3.0.9-23.el5.x86_64.rpm tzdata-2010e-1.el5.noarch.rpm udev-095-14.21.el5.x86_64.rpm usermode-1.88-3.el5.2.x86_64.rpm util-linux-2.13-0.52.el5_4.1.x86_64.rpm vim-minimal-7.0.109-6.el5.x86_64.rpm virt-manager-0.6.1-12.el5.x86_64.rpm virt-viewer-0.0.2-3.el5.x86_64.rpm vixie-cron-4.1-77.el5_4.1.x86_64.rpm vnc-server-4.1.2-14.el5_3.1.x86_64.rpm vte-0.14.0-2.el5.x86_64.rpm wget-1.11.4-2.el5_4.1.x86_64.rpm which-2.16-7.x86_64.rpm wireshark-1.0.8-1.el5_3.1.x86_64.rpm xen-3.0.3-105.el5.x86_64.rpm xen-libs-3.0.3-105.el5.x86_64.rpm xkeyboard-config-0.8-9.el5.noarch.rpm xml-common-0.6.3-18.noarch.rpm xorg-x11-drivers-7.1-4.2.el5.x86_64.rpm xorg-x11-drv-acecad-1.1.0-2.1.x86_64.rpm xorg-x11-drv-aiptek-1.0.1-2.x86_64.rpm xorg-x11-drv-ast-0.89.9-1.el5.x86_64.rpm xorg-x11-drv-ati-6.6.3-3.27.el5.x86_64.rpm xorg-x11-drv-calcomp-1.1.0-1.1.x86_64.rpm xorg-x11-drv-cirrus-1.1.0-2.fc6.x86_64.rpm xorg-x11-drv-citron-2.2.0-1.1.x86_64.rpm xorg-x11-drv-digitaledge-1.1.0-1.1.x86_64.rpm xorg-x11-drv-dmc-1.1.0-2.x86_64.rpm xorg-x11-drv-dummy-0.2.0-2.1.x86_64.rpm xorg-x11-drv-dynapro-1.1.0-2.x86_64.rpm xorg-x11-drv-elo2300-1.1.0-1.1.x86_64.rpm xorg-x11-drv-elographics-1.1.0-1.1.x86_64.rpm xorg-x11-drv-evdev-1.0.0.5-5.el5.x86_64.rpm xorg-x11-drv-fbdev-0.3.0-3.x86_64.rpm xorg-x11-drv-fpit-1.1.0-1.1.x86_64.rpm xorg-x11-drv-hyperpen-1.1.0-2.x86_64.rpm xorg-x11-drv-i810-1.6.5-9.36.el5.x86_64.rpm xorg-x11-drv-jamstudio-1.1.0-1.1.x86_64.rpm xorg-x11-drv-joystick-1.1.0-1.1.x86_64.rpm xorg-x11-drv-keyboard-1.1.0-3.x86_64.rpm xorg-x11-drv-magellan-1.1.0-1.1.x86_64.rpm xorg-x11-drv-magictouch-1.0.0.5-2.1.x86_64.rpm xorg-x11-drv-mga-1.4.10-7.el5.x86_64.rpm xorg-x11-drv-microtouch-1.1.0-1.1.x86_64.rpm xorg-x11-drv-mouse-1.1.1-1.1.x86_64.rpm xorg-x11-drv-mutouch-1.1.0-3.x86_64.rpm xorg-x11-drv-nv-2.1.15-3.el5.x86_64.rpm xorg-x11-drv-palmax-1.1.0-1.1.x86_64.rpm xorg-x11-drv-penmount-1.1.0-2.1.x86_64.rpm xorg-x11-drv-qxl-0.0.12-1.2.el5.x86_64.rpm xorg-x11-drv-s3-0.4.1-2.1.x86_64.rpm xorg-x11-drv-s3virge-1.9.1-2.1.x86_64.rpm xorg-x11-drv-savage-2.1.1-5.fc6.x86_64.rpm xorg-x11-drv-siliconmotion-1.4.1-2.1.x86_64.rpm xorg-x11-drv-sis-0.9.1-7.1.el5.x86_64.rpm xorg-x11-drv-sisusb-0.8.1-4.1.x86_64.rpm xorg-x11-drv-spaceorb-1.1.0-1.1.x86_64.rpm xorg-x11-drv-summa-1.1.0-1.1.x86_64.rpm xorg-x11-drv-tdfx-1.2.1-3.1.x86_64.rpm xorg-x11-drv-tek4957-1.1.0-1.1.x86_64.rpm xorg-x11-drv-trident-1.2.1-3.fc6.x86_64.rpm xorg-x11-drv-ur98-1.1.0-1.1.x86_64.rpm xorg-x11-drv-vesa-1.3.0-8.2.el5.x86_64.rpm xorg-x11-drv-vga-4.1.0-2.1.x86_64.rpm xorg-x11-drv-via-0.2.1-9.x86_64.rpm xorg-x11-drv-vmmouse-12.4.0-2.1.x86_64.rpm xorg-x11-drv-vmware-10.13.0-2.1.x86_64.rpm xorg-x11-drv-void-1.1.0-3.1.x86_64.rpm xorg-x11-drv-voodoo-1.1.0-3.1.x86_64.rpm xorg-x11-filesystem-7.1-2.fc6.noarch.rpm xorg-x11-fonts-100dpi-7.1-2.1.el5.noarch.rpm xorg-x11-fonts-75dpi-7.1-2.1.el5.noarch.rpm xorg-x11-fonts-base-7.1-2.1.el5.noarch.rpm xorg-x11-fonts-ISO8859-1-100dpi-7.1-2.1.el5.noarch.rpm xorg-x11-fonts-ISO8859-1-75dpi-7.1-2.1.el5.noarch.rpm xorg-x11-fonts-misc-7.1-2.1.el5.noarch.rpm xorg-x11-fonts-truetype-7.1-2.1.el5.noarch.rpm xorg-x11-fonts-Type1-7.1-2.1.el5.noarch.rpm xorg-x11-font-utils-7.1-2.x86_64.rpm xorg-x11-server-utils-7.1-4.fc6.x86_64.rpm xorg-x11-server-Xorg-1.1.1-48.76.el5.x86_64.rpm xorg-x11-twm-1.0.1-3.1.x86_64.rpm xorg-x11-utils-7.1-2.fc6.x86_64.rpm xorg-x11-xauth-1.0.1-2.1.x86_64.rpm xorg-x11-xdm-1.0.5-7.el5.x86_64.rpm xorg-x11-xfs-1.0.2-4.x86_64.rpm xorg-x11-xinit-1.0.2-15.el5.x86_64.rpm xorg-x11-xkb-utils-1.0.2-2.1.x86_64.rpm xterm-215-8.el5_4.1.x86_64.rpm xz-libs-4.999.9-0.3.beta.20091007git.el5.x86_64.rpm yum-3.2.22-26.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm zip-2.31-2.el5.x86_64.rpm zlib-1.2.3-3.x86_64.rpm [root@buildhost-64 tmp]#
Screen Shots
Download the ISO
Built on: 04 Jan 2011 http://downloads.wbitt.com/downloads/CentOS-5.5-x86_64-HypervisorEdition.iso
MD5SUM : adae0a1dd92adcf52caf1afd7104c0b3
SHA1SUM : a08c200d97f700025d33ee848384a8d573510453