<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://cooker.wbitt.com/skins/common/feed.css?207"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>WBITT's Cooker! - User contributions [en]</title>
		<link>http://cooker.wbitt.com/index.php/Special:Contributions/Kasim</link>
		<description>From WBITT's Cooker!</description>
		<language>en</language>
		<generator>MediaWiki 1.15.1</generator>
		<lastBuildDate>Sat, 20 Jun 2026 08:14:12 GMT</lastBuildDate>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Here are the steps we followed in our lab to accomplish this assignment.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not. One way you could do is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics of how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, the actual work starts. On guest machine, we need to make few changes in the grub file which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open the grub.conf file using VI editor and append the following lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And also in the grub.conf file, append the following parameters right after the kernel value as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#vi /etc/grub.conf&lt;br /&gt;
kernel /vmlinuz-2.4.9-21 ro root=LABEL=/ console=tty0 console=ttyS0,115200&lt;br /&gt;
:wq&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 11:00:25 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Here are the steps we followed in our lab to accomplish this assignment.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not. One way you could do is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics of how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, the actual work starts. On guest machine, we need to make few changes in the grub file which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open the grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And also in the grub.conf file, append the following parameters right after the kernel value as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#vi /etc/grub.conf&lt;br /&gt;
kernel /vmlinuz-2.4.9-21 ro root=LABEL=/ console=tty0 console=ttyS0,115200&lt;br /&gt;
:wq&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:59:10 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Here are the steps we followed in our lab to accomplish this assignment.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not. One way you could do is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics about how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, our actual task starts. Make changes in the grub file of guest machine which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open the grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And also in the grub.conf file, append the following parameters right after the kernel value as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#vi /etc/grub.conf&lt;br /&gt;
kernel /vmlinuz-2.4.9-21 ro root=LABEL=/ console=tty0 console=ttyS0,115200&lt;br /&gt;
:wq&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:56:22 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Here are the steps we followed in our lab to accomplish this assignment.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not.&lt;br /&gt;
&lt;br /&gt;
One way you could do is to give the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics about how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, our actual task starts. Make changes in the grub file of guest machine which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open the grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And also in the grub.conf file, append the following parameters right after the kernel value as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#vi /etc/grub.conf&lt;br /&gt;
kernel /vmlinuz-2.4.9-21 ro root=LABEL=/ console=tty0 console=ttyS0,115200&lt;br /&gt;
:wq&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:54:51 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Here are the steps we used in our lab to accomplish this task.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not.&lt;br /&gt;
&lt;br /&gt;
One way you could do is to give the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics about how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, our actual task starts. Make changes in the grub file of guest machine which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open the grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And also in the grub.conf file, append the following parameters right after the kernel value as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#vi /etc/grub.conf&lt;br /&gt;
kernel /vmlinuz-2.4.9-21 ro root=LABEL=/ console=tty0 console=ttyS0,115200&lt;br /&gt;
:wq&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:53:57 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Here are the steps we used in our lab to accomplish this task.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not.&lt;br /&gt;
&lt;br /&gt;
One way you could do is to give the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics about how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, our actual task starts. Make changes in the grub file of guest machine which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open the grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And also in the grub.conf file, append the following parameters right after the kernel value as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#vi /etc/grub.conf&lt;br /&gt;
kernel /vmlinuz-2.4.9-21 ro root=LABLE=/ console=tty0 console=ttyS0,115200&lt;br /&gt;
:wq&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:53:32 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Here are the steps we used in our lab to accomplish this task.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not.&lt;br /&gt;
&lt;br /&gt;
One way you could do is to give the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics about how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, our actual task starts. Make changes in the grub file of guest machine which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open the grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And also in the grub.conf file, append the following parameters right after the kernel value as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#vi /etc/grub.conf&lt;br /&gt;
kernel /vmlinuz-2.4.9-21 ro root=/dev/hda6 console=tty0 console=ttyS0,115200&lt;br /&gt;
:wq&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:52:47 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Here are the steps used in our lab to accomplish this task.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not.&lt;br /&gt;
&lt;br /&gt;
One way you could do is to give the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics about how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, our actual task starts. Make changes in the grub file of guest machine which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open the grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And also in the grub.conf file, append the following parameters right after the kernel value as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#vi /etc/grub.conf&lt;br /&gt;
kernel /vmlinuz-2.4.9-21 ro root=/dev/hda6 console=tty0 console=ttyS0,115200&lt;br /&gt;
:wq&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:51:47 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Perform the following mentioned steps on your guest machine.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not.&lt;br /&gt;
&lt;br /&gt;
One way you could do is to give the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics about how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, our actual task starts. Make changes in the grub file of guest machine which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open the grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And also in the grub.conf file, append the following parameters right after the kernel value as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#vi /etc/grub.conf&lt;br /&gt;
kernel /vmlinuz-2.4.9-21 ro root=/dev/hda6 console=tty0 console=ttyS0,115200&lt;br /&gt;
:wq&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:49:45 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Perform the following mentioned steps on your guest machine.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not.&lt;br /&gt;
&lt;br /&gt;
One way you could do is to give the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics about how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, our actual task starts. Make changes in the grub file of guest machine which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open the grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And also in the grub.conf file, append the following parameters right after kernel value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#vi /etc/grub.conf&lt;br /&gt;
kernel /vmlinuz-2.4.9-21 ro root=/dev/hda6 console=tty0 console=ttyS0,115200&lt;br /&gt;
:wq&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:49:00 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Perform the following mentioned steps on your guest machine.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not.&lt;br /&gt;
&lt;br /&gt;
One way you could do is to give the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics about how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, our actual task starts. Make changes in the grub file of guest machine which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open the grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And also in the grub.conf file, append the following parameters right after kernel value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#vi /etc/grub.conf&lt;br /&gt;
kernel /vmlinuz-2.4.9-21 ro root=/dev/hda6 console=tty0 console=ttyS0,115200&lt;br /&gt;
:wq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:48:33 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Perform the following mentioned steps on your guest machine.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not.&lt;br /&gt;
&lt;br /&gt;
One way you could do is to give the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics about how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, our actual task starts. Make changes in the grub file of guest machine which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:42:14 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here I am going to present how to redirect console messages from virtual machine to physical (base) machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Perform the following mentioned steps on your guest machine.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not.&lt;br /&gt;
&lt;br /&gt;
One way you could do is to give the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics about how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, our actual task starts. Make changes in the grub file of guest machine which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the follwoing command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:40:56 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>Redirecting Linux console messages to another machine</title>
			<link>http://cooker.wbitt.com/index.php/Redirecting_Linux_console_messages_to_another_machine</link>
			<description>&lt;p&gt;Kasim:&amp;#32;Created page with ' Here I am going to present how to redirect console messages from machine to another machine. We used, in our lab, one physical machine running Linux OS and created one virtual m…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Here I am going to present how to redirect console messages from machine to another machine. We used, in our lab, one physical machine running Linux OS and created one virtual machine in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Requirement:&amp;lt;/b&amp;gt;&lt;br /&gt;
*One physical machine running Linux OS&lt;br /&gt;
*Created one virtual machine (Linux OS)&lt;br /&gt;
 &lt;br /&gt;
Perform the following mentioned steps on your guest machine.&lt;br /&gt;
&lt;br /&gt;
Before we begin, it is important to know that your Serial Ports (COM1 and COM2) are named as /dev/ttyS0 and /dev/ttyS1 respectively and so on.&lt;br /&gt;
&lt;br /&gt;
Check if Linux detects your serial port or not.&lt;br /&gt;
&lt;br /&gt;
One way you could do is to give the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#dmesg |grep ttyS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see something like this:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above output shows that your COM1 and COM2 ports are available and Linux recognizes them.&lt;br /&gt;
&lt;br /&gt;
Another way to test is to give the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the command does not return any error message then your Serial Ports are recognized by your Linux system.&lt;br /&gt;
In case, Linux does not detect your Serial Port, then try giving the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setserial /dev/ttyS0 autoconfig auto_irq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, above we just discussed only basics about how to find serial ports installed in our machine.&lt;br /&gt;
&lt;br /&gt;
Here, our actual task starts. Make changes in the grub file of guest machine which was created in our lab.&lt;br /&gt;
&lt;br /&gt;
Add the following line to grub.conf file of guest machine. Open grub.conf file using VI editor and append below lines to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=10 serial console&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a copy of the inittab file and add the following line to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#cp /etc/inittab /etc/inittab.orig&lt;br /&gt;
#vi /etc/inittab&lt;br /&gt;
co:23:respawn:/sbin/agetty ttyS0 115200 linux&lt;br /&gt;
:wq&lt;br /&gt;
#init q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Well, now we need to reboot our guest machine and check whether it is accessible using the follwoing command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Virsh console Node1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 26 Mar 2011 10:39:29 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Redirecting_Linux_console_messages_to_another_machine</comments>		</item>
		<item>
			<title>CentOS 5.5 x86 64 Hypervisor Edition (Minimal)</title>
			<link>http://cooker.wbitt.com/index.php/CentOS_5.5_x86_64_Hypervisor_Edition_(Minimal)</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Muhammad Kamran Azeem (kamran _at_ wbitt _dot_ com)&lt;br /&gt;
&lt;br /&gt;
Created:      04 Jan 2011&lt;br /&gt;
&lt;br /&gt;
Last Revised: 04 Jan 2011&lt;br /&gt;
&lt;br /&gt;
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, when I noticed RedHat's virtualization solution, RHEV, or, RedHat Enterprise Virtualization. RHEV is a slim/cut down version of RHEL 6, working as a KVM Hypervisor, with a very small install foot-print. I noticed that it is a similar concept as Citrix XEN Server. If I can make such a CD / custom-distribution, I can use it to install the bare-minimum set of hypervisor packages (XEN or KVM) on my physical machines. Then, I can use the same CD to install a minimalistic (core) installation of a guest OS on the VMs I would create.  &lt;br /&gt;
&lt;br /&gt;
So, you can say, I was in competition with RedHat! :) I succeeded in my minimalistic Hypervisor approach (&amp;lt; 500MB), even if I got exceeded by a few (hundred) megabytes, compared to RedHat. Below is how I did it. &lt;br /&gt;
&lt;br /&gt;
Note: 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 &amp;quot;yumdownloader&amp;quot; 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).&lt;br /&gt;
&lt;br /&gt;
==Benefits - Why a Hypervisor CD (Server CD) in the first place?==&lt;br /&gt;
Well, the key benefits are:&lt;br /&gt;
* centos.org does not provide a server CD for centos 5.5. That is a good enough reason to create one ourselves, in the first place.&lt;br /&gt;
* Small ISO size, makes it easier and ideal to download, even in bandwidth/volume limited environments.&lt;br /&gt;
* Less packages means, less vulnerabilities (if you decide to use it in production). Less holes to exploit.&lt;br /&gt;
* Less packages to update, when any updates are released from upstream vendor. This results in faster update of the system. And low bandwidth consumption. In case you have a farm of such &amp;quot;thin&amp;quot; servers, lesser bandwidth/volume would be needed to update all of the servers in your farm, compared to fat/thick installations.&lt;br /&gt;
* Delivers you SSH and YUM, so you can add anything you want, on top of it.&lt;br /&gt;
* Creates a very small (534 MB ~ 7504MB) foot print on the disk (depending on your package selection). The Virtual machines, can now be assigned virtual disks, as low as 1.5 GB in size (tested) , or 1.0 GB in size (not tested yet).&lt;br /&gt;
* Based on point above, multiple small VMs can be created in a disk constrained physical machine. 10 Virtual Machines would roughly consume about 15 GB of space. &lt;br /&gt;
* Once it is installed on a VM and rebooted, you can change the memory assignment to the VM, lowering it to 64 MB. And it will still work! (tested).&lt;br /&gt;
* Ideal for clusters of any size.&lt;br /&gt;
&lt;br /&gt;
===What does this CD provide===&lt;br /&gt;
Although the actual CD is created in the steps listed farther below, still it would be appropriate to list it's key software packages.&lt;br /&gt;
* YUM, wget, FTP client&lt;br /&gt;
* VI editor (vim-minimal)&lt;br /&gt;
* DHCP client&lt;br /&gt;
* SSH Server and SSH client&lt;br /&gt;
* SELinux&lt;br /&gt;
* IP Tables&lt;br /&gt;
* nmap, tcpdump, wireshark, iptraf, traceroute, etc.&lt;br /&gt;
* XEN Hypervisor&lt;br /&gt;
* KVM Hypervisor&lt;br /&gt;
* virt-viewer, virt-manager&lt;br /&gt;
* VNC Server&lt;br /&gt;
* Basic X Window System with TWM (Tom's Window Manager) and XTERM&lt;br /&gt;
&lt;br /&gt;
==Infrastructure==&lt;br /&gt;
===Physical Host===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@fedora14 cdimages]# tree -d&lt;br /&gt;
.&lt;br /&gt;
├── CentOS-5.5-x86_64&lt;br /&gt;
│   ├── CentOS&lt;br /&gt;
│   ├── images&lt;br /&gt;
│   │   ├── pxeboot&lt;br /&gt;
│   │   └── xen&lt;br /&gt;
│   ├── isolinux&lt;br /&gt;
│   ├── NOTES&lt;br /&gt;
│   └── repodata&lt;br /&gt;
└── CentOS-5.5-x86_64-hypervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@fedora14 cdimages]# cat /etc/exports&lt;br /&gt;
/data/cdimages 192.168.122.0/255.255.255.0(rw,no_root_squash)&lt;br /&gt;
[root@fedora14 cdimages]#&lt;br /&gt;
&lt;br /&gt;
[root@fedora14 cdimages]# service nfs restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Make sure that the firewall is not blocking incoming NFS requests on the physical host).&lt;br /&gt;
&lt;br /&gt;
This is a good method to save space, both on the physical host and on the VMs. That means, you don't have to &amp;quot;fill-up&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Build Host===&lt;br /&gt;
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: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 ~]# yum -y install anaconda anaconda-runtime mkisofs cdrecord&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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 &amp;quot;yumdownloader&amp;quot; command. The BuildHost (VM) has the IP: 192.168.122.229, on its eth0 interface.&lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
===Make the repositories available on the buildhost-64===&lt;br /&gt;
See if you are able to view the NFS share made available on the physical host.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 ~]# showmount -e 192.168.122.1&lt;br /&gt;
Export list for 192.168.122.1:&lt;br /&gt;
/data/cdimages 192.168.122.0/255.255.255.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a mount point on the build host, and mount the NFS share on it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 ~]# mkdir /mnt/cdimages&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-64 ~]# mount -t nfs 192.168.122.1:/data/cdimages/  /mnt/cdimages/&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-64 ~]# df -h&lt;br /&gt;
Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;
/dev/vda1             3.8G  913M  2.8G  34% /&lt;br /&gt;
tmpfs                 252M     0  252M   0% /dev/shm&lt;br /&gt;
192.168.122.1:/data/cdimages/&lt;br /&gt;
                      191G  113G   69G  63% /mnt/cdimages&lt;br /&gt;
[root@buildhost-64 ~]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, the /data/cdimages from the physical host is now available on our buildhost-64, as /mnt/cdimages. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 ~]# mkdir /mnt/cdimages/CentOS-5.5-x86_64-hypervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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/.   &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 ~]# rsync -av --exclude CentOS/  \&lt;br /&gt;
   /mnt/cdimages/CentOS-5.5-x86_64/   /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without the CentOS directory, which holds all the RPMs of the distribution, the structure (with some necessary files), is about 226 MB in total.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 ~]# du -sh /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/&lt;br /&gt;
226M	/mnt/cdimages/CentOS-5.5-x86_64-hypervisor/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# mkdir /tmp/transitRPMs&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-64 tmp]# mkdir /tmp/RPMtest&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pulling the necessary RPMs===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# yum -y install yum-utils&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
Here is how to pull just the kernel and all of it's related dependencies.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# yumdownloader  --destdir=/tmp/transitRPMs/  --installroot=/tmp/transitRPMs/ --resolve kernel&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
--&amp;gt; Processing Dependency: libk5crypto.so.3()(64bit) for package: openssl&lt;br /&gt;
--&amp;gt; Running transaction check&lt;br /&gt;
---&amp;gt; Package krb5-libs.x86_64 0:1.6.1-36.el5_4.1 set to be updated&lt;br /&gt;
--&amp;gt; Processing Dependency: libkeyutils.so.1(KEYUTILS_0.3)(64bit) for package: krb5-libs&lt;br /&gt;
--&amp;gt; Processing Dependency: libkeyutils.so.1()(64bit) for package: krb5-libs&lt;br /&gt;
--&amp;gt; Running transaction check&lt;br /&gt;
---&amp;gt; Package keyutils-libs.x86_64 0:1.2-1.el5 set to be updated&lt;br /&gt;
--&amp;gt; Finished Dependency Resolution&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
kernel-2.6.18-194.el5.x86_64.rpm                                                                                                      |  19 MB     00:00     &lt;br /&gt;
device-mapper-multipath-0.4.7-34.el5.x86_64.rpm                                                                                       | 3.0 MB     00:00     &lt;br /&gt;
libsysfs-2.0.0-6.x86_64.rpm                                                                                                           |  45 kB     00:00     &lt;br /&gt;
iputils-20020927-46.el5.x86_64.rpm                                                                                                    | 131 kB     00:00     &lt;br /&gt;
libstdc++-4.1.2-48.el5.x86_64.rpm                                                                                                     | 352 kB     00:00     &lt;br /&gt;
libacl-2.2.39-6.el5.x86_64.rpm                                                                                                        |  19 kB     00:00     &lt;br /&gt;
libcap-1.10-26.x86_64.rpm                                                                                                             |  23 kB     00:00     &lt;br /&gt;
cpio-2.6-23.el5_4.1.x86_64.rpm                                                                                                        | 122 kB     00:00     &lt;br /&gt;
filesystem-2.4.0-3.el5.x86_64.rpm                                                                                                     | 1.0 MB     00:00     &lt;br /&gt;
nash-5.1.19.6-61.x86_64.rpm                                                                                                           | 1.1 MB     00:00     &lt;br /&gt;
binutils-2.17.50.0.6-14.el5.x86_64.rpm                                                                                                | 2.9 MB     00:00     &lt;br /&gt;
SysVinit-2.86-15.el5.x86_64.rpm                                                                                                       | 117 kB     00:00     &lt;br /&gt;
bash-3.2-24.el5.x86_64.rpm                                                                                                            | 1.9 MB     00:00     &lt;br /&gt;
libselinux-1.33.4-5.5.el5.x86_64.rpm                                                                                                  |  77 kB     00:00     &lt;br /&gt;
db4-4.3.29-10.el5.x86_64.rpm                                                                                                          | 898 kB     00:00     &lt;br /&gt;
[root@buildhost-64 tmp]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# ls /tmp/transitRPMs/*.rpm | wc -l&lt;br /&gt;
82&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-64 tmp]# du -sh /tmp/transitRPMs/ &lt;br /&gt;
104M	/tmp/transitRPMs/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
To get all the packages we need, for our &amp;quot;HypervisorEdition&amp;quot;, below is what all I pulled. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 ~]# yumdownloader  --destdir=/tmp/transitRPMs/  --installroot=/tmp/transitRPMs/ --resolve kernel \ &lt;br /&gt;
vim-minimal wget yum dhclient grub rootfiles openssh-clients openssh-server sysklogd passwd star attr\ &lt;br /&gt;
iptables selinux-policy-targeted setools policycoreutils-newrole kernel-xen telnet tcpdump wireshark nmap \ &lt;br /&gt;
zip bzip2 rsync which traceroute ftp vixie-cron iptraf vnc-server kudzu \ &lt;br /&gt;
xen kvm kvm-tools virt-viewer virt-manager xterm \ &lt;br /&gt;
xorg-x11-xinit xorg-x11-server-Xorg xorg-x11-twm xorg-x11-xdm bitmap-fonts desktop-backgrounds-basic \ &lt;br /&gt;
xorg-x11-drivers xorg-x11-fonts-75dpi xorg-x11-fonts-100dpi xorg-x11-fonts-ISO8859-1-75dpi \ &lt;br /&gt;
xorg-x11-fonts-ISO8859-1-100dpi xorg-x11-fonts-misc xorg-x11-fonts-truetype xorg-x11-fonts-Type1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# ls /tmp/transitRPMs/*.rpm | wc -l&lt;br /&gt;
371&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-64 tmp]# du -sh  /tmp/transitRPMs/&lt;br /&gt;
275M	/tmp/transitRPMs/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test the installation of pulled RPMs (for the sake of completeness)===&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# ./testrun.sh /tmp/transitRPMs/&lt;br /&gt;
warning: /tmp/transitRPMs//alsa-lib-1.0.17-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897&lt;br /&gt;
Preparing...                ########################################### [100%]&lt;br /&gt;
[root@buildhost-64 tmp]# &lt;br /&gt;
&lt;br /&gt;
No errors here. This means that the test installation of the RPMs was successful. Good.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Synchronize the transitRPMs location with the build-tree===&lt;br /&gt;
Once the test is successful, you can rsync this (transitRPMs) directory to your buildtree (/mnt/cdimages/CentOS-5.5-x86_64-hypervisor). &lt;br /&gt;
&lt;br /&gt;
Create the CentOS directory in your build directory, if you have not created it already. It should be empty at this point.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# mkdir /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/CentOS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now sync the directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# rsync -av --exclude var/  /tmp/transitRPMs/ /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/CentOS/&lt;br /&gt;
building file list ... done&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
xorg-x11-xinit-1.0.2-15.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-xkb-utils-1.0.2-2.1.x86_64.rpm&lt;br /&gt;
xterm-215-8.el5_4.1.x86_64.rpm&lt;br /&gt;
xz-libs-4.999.9-0.3.beta.20091007git.el5.x86_64.rpm&lt;br /&gt;
yum-3.2.22-26.el5.centos.noarch.rpm&lt;br /&gt;
yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm&lt;br /&gt;
yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm&lt;br /&gt;
zip-2.31-2.el5.x86_64.rpm&lt;br /&gt;
zlib-1.2.3-3.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
sent 284376910 bytes  received 8188 bytes  11607555.02 bytes/sec&lt;br /&gt;
total size is 284309498  speedup is 1.00&lt;br /&gt;
[root@buildhost-64 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Edit the comps.xml file as per requirements===&lt;br /&gt;
I pulled a copy of original comps.xml from the original CENTOS repository. Removed all the &amp;quot;xml:lang&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# cat comps.xml-hypervisor&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE newcomps PUBLIC &amp;quot;-//CentOS//DTD Comps info//EN&amp;quot; &amp;quot;comps.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;comps&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;base&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Base&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;This group includes a minimal set of packages, inclusding X.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;true&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;vim-minimal&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;grub&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;openssh-clients&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;openssh-server&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;dhclient&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;rootfiles&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;iptables&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;kernel-xen&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;telnet&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;tcpdump&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;nmap&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;wireshark&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;zip&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;bzip2&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;rsync&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;which&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;traceroute&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;ftp&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;vixie-cron&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;iptraf&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;setools&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;selinux-policy-targeted&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;selinux-policy&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;passwd&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;star&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;attr&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;policycoreutils-newrole&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;sysklogd&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;vnc-server&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;xterm&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-twm&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-xinit&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-xfs&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-server-utils&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-server-Xorg&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-xdm&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-drivers&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;bitmap-fonts&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;desktop-backgrounds-basic&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-fonts-75dpi&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-fonts-100dpi&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-fonts-ISO8859-1-75dpi&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-fonts-ISO8859-1-100dpi&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-fonts-misc&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-fonts-truetype&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-fonts-Type1&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;xterm&amp;quot;&amp;gt;xorg-x11-xauth&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;core&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Core&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Smallest possible installation&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;true&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;false&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;SysVinit&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;basesystem&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;bash&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;centos-release&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;coreutils&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;cpio&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;e2fsprogs&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;redhat-logos&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;centos-release-notes&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;filesystem&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;glibc&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;initscripts&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;iproute&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;iputils&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;libgcc&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;libtermcap&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;mkinitrd&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;procps&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;readline&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;rpm&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;setup&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;shadow-utils&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;sysklogd&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;termcap&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;util-linux&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;yum&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;wget&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;kudzu&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;xen&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Virtualization&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Virtualization Support with XEN&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;true&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;kernel-xen&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;libvirt&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;xen&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;virt-manager&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;virt-viewer&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;kvm&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;KVM&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Virtualization Support with KVM&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;true&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='default'&amp;gt;celt051&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='default'&amp;gt;etherboot-zroms&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='default'&amp;gt;etherboot-zroms-kvm&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='default'&amp;gt;kmod-kvm&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='default'&amp;gt;kvm&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='default'&amp;gt;kvm-qemu-img&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='default'&amp;gt;log4cpp&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='default'&amp;gt;qcairo&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='default'&amp;gt;qffmpeg-libs&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='default'&amp;gt;qpixman&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='default'&amp;gt;qspice-libs&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='default'&amp;gt;libvirt&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='optional'&amp;gt;etherboot-pxes&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='optional'&amp;gt;etherboot-roms&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='optional'&amp;gt;etherboot-roms-kvm&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='optional'&amp;gt;iasl&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type='optional'&amp;gt;kvm-tools&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;virt-manager&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;virt-viewer&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;category&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;virtualization&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Virtualization&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Virtualization Support.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;display_order&amp;gt;93&amp;lt;/display_order&amp;gt;&lt;br /&gt;
    &amp;lt;grouplist&amp;gt;&lt;br /&gt;
      &amp;lt;groupid&amp;gt;xen&amp;lt;/groupid&amp;gt;&lt;br /&gt;
      &amp;lt;groupid&amp;gt;kvm&amp;lt;/groupid&amp;gt;&lt;br /&gt;
    &amp;lt;/grouplist&amp;gt;&lt;br /&gt;
  &amp;lt;/category&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/comps&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may want to run a sanity check on your comps.xml file. It will reveal any errors/typing mistakes, etc.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# xmllint --valid  comps.xml-hypervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create the Repository===&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# ./createrepo.sh /mnt/cdimages/CentOS-5.5-x86_64-hypervisor&lt;br /&gt;
Doing: rm -f /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/*&lt;br /&gt;
Doing: cp -v /tmp/comps.xml-hypervisor /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/comps.xml&lt;br /&gt;
`/tmp/comps.xml-hypervisor' -&amp;gt; `/mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/comps.xml'&lt;br /&gt;
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/&lt;br /&gt;
371/371 - CentOS/libgnomeui-2.16.0-5.el5.x86_64.rpm                             &lt;br /&gt;
Saving Primary metadata&lt;br /&gt;
Saving file lists metadata&lt;br /&gt;
Saving other metadata&lt;br /&gt;
[root@buildhost-64 tmp]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build the ISO file out of your build-tree===&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# ./buildiso.sh /mnt/cdimages/CentOS-5.5-x86_64-hypervisor&lt;br /&gt;
INFO:	UTF-8 character encoding detected by locale settings.&lt;br /&gt;
	Assuming UTF-8 encoded filenames on source filesystem,&lt;br /&gt;
	use -input-charset to override.&lt;br /&gt;
mkisofs 2.01 (cpu-pc-linux-gnu)&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/pxeboot&lt;br /&gt;
Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/pxeboot/TRANS.TBL&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/xen&lt;br /&gt;
Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/xen/TRANS.TBL&lt;br /&gt;
Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/TRANS.TBL&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata&lt;br /&gt;
Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/TRANS.TBL&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/CentOS&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/isolinux&lt;br /&gt;
Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/isolinux/TRANS.TBL&lt;br /&gt;
Excluded by match: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/isolinux/boot.cat&lt;br /&gt;
Using RPM_G000.;1 for  /RPM-GPG-KEY-CentOS-5 (RPM-GPG-KEY-beta)&lt;br /&gt;
Using RELEA000.;1 for  /RELEASE-NOTES-en (RELEASE-NOTES-en_US)&lt;br /&gt;
Using RELEA000.HTM;1 for  /RELEASE-NOTES-es.html (RELEASE-NOTES-en.html)&lt;br /&gt;
Using RELEA001.HTM;1 for  /RELEASE-NOTES-en.html (RELEASE-NOTES-en_US.html)&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
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)&lt;br /&gt;
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)&lt;br /&gt;
Writing:   Initial Padblock                        Start Block 0&lt;br /&gt;
Done with: Initial Padblock                        Block(s)    16&lt;br /&gt;
Writing:   Primary Volume Descriptor               Start Block 16&lt;br /&gt;
Done with: Primary Volume Descriptor               Block(s)    1&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
Writing:   Extension record                        Start Block 92&lt;br /&gt;
Done with: Extension record                        Block(s)    1&lt;br /&gt;
Writing:   The File(s)                             Start Block 93&lt;br /&gt;
  2.07% done, estimate finish Tue Jan  4 11:47:07 2011&lt;br /&gt;
  4.13% done, estimate finish Tue Jan  4 11:47:07 2011&lt;br /&gt;
  6.20% done, estimate finish Tue Jan  4 11:47:07 2011&lt;br /&gt;
  8.26% done, estimate finish Tue Jan  4 11:47:19 2011&lt;br /&gt;
 10.32% done, estimate finish Tue Jan  4 11:47:16 2011&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
 94.97% done, estimate finish Tue Jan  4 11:47:47 2011&lt;br /&gt;
 97.04% done, estimate finish Tue Jan  4 11:47:47 2011&lt;br /&gt;
 99.11% done, estimate finish Tue Jan  4 11:47:46 2011&lt;br /&gt;
Total translation table size: 103926&lt;br /&gt;
Total rockridge attributes bytes: 44898&lt;br /&gt;
Total directory bytes: 71680&lt;br /&gt;
Path table size(bytes): 98&lt;br /&gt;
Done with: The File(s)                             Block(s)    241935&lt;br /&gt;
Writing:   Ending Padblock                         Start Block 242028&lt;br /&gt;
Done with: Ending Padblock                         Block(s)    150&lt;br /&gt;
Max brk space used 84000&lt;br /&gt;
242178 extents written (473 MB)&lt;br /&gt;
[root@buildhost-64 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thats all. The ISO file is ready. Burn it on a CD, or use directly, or whatever suits you. &lt;br /&gt;
&lt;br /&gt;
End of steps. The task of building the custom CENTOS ISO is successfully completed at this point.&lt;br /&gt;
&lt;br /&gt;
==Scripts used to test RPMs, create repo, and build ISO==&lt;br /&gt;
===testrun.sh (Used for testing a directory full of RPMs)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# cat testrun.sh &lt;br /&gt;
#!/bin/bash&lt;br /&gt;
TESTDIR=$1&lt;br /&gt;
if [ &amp;quot;$TESTDIR&amp;quot; == &amp;quot;&amp;quot; ] ; then&lt;br /&gt;
  echo &amp;quot;You should provide the name of test directory containing RPMS. Please specify full path.&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
RPMTEST=&amp;quot;/tmp/RPMtest&amp;quot;&lt;br /&gt;
rpm --initdb --dbpath ${RPMTEST} &lt;br /&gt;
rpm --test --dbpath ${RPMTEST} --root ${RPMTEST} -ivh ${TESTDIR}/*.rpm&lt;br /&gt;
[root@buildhost-64 tmp]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# ./testrun.sh /tmp/transitRPMs&lt;br /&gt;
warning: /tmp/transitRPMs/alsa-lib-1.0.17-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897&lt;br /&gt;
Preparing...                ########################################### [100%]&lt;br /&gt;
[root@buildhost-64 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===createrepo.sh (Used to create repository)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# cat createrepo.sh &lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BUILDDIR=$1&lt;br /&gt;
if [ &amp;quot;${BUILDDIR}&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
  echo &amp;quot;Build Directory cannot be empty. Please specify full path.&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
COMPSFILE=&amp;quot;/tmp/comps.xml-hypervisor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export DISCINFO=$(head -1 ${BUILDDIR}/.discinfo)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Doing: rm -f ${BUILDDIR}/repodata/*&amp;quot;&lt;br /&gt;
rm -f ${BUILDDIR}/repodata/* &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Doing: cp -v ${COMPSFILE} ${BUILDDIR}/repodata/comps.xml&amp;quot;&lt;br /&gt;
cp -v ${COMPSFILE} ${BUILDDIR}/repodata/comps.xml &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Doing: createrepo -u &amp;quot;media://${DISCINFO}&amp;quot; -g ${BUILDDIR}/repodata/comps.xml ${BUILDDIR}/&amp;quot;&lt;br /&gt;
createrepo  -u &amp;quot;media://${DISCINFO}&amp;quot; -g ${BUILDDIR}/repodata/comps.xml ${BUILDDIR}/&lt;br /&gt;
[root@buildhost-64 tmp]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# ./createrepo.sh /mnt/cdimages/CentOS-5.5-x86_64-hypervisor&lt;br /&gt;
Doing: rm -f /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/*&lt;br /&gt;
Doing: cp -v /tmp/comps.xml-hypervisor /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/comps.xml&lt;br /&gt;
`/tmp/comps.xml-hypervisor' -&amp;gt; `/mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata/comps.xml'&lt;br /&gt;
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/&lt;br /&gt;
371/371 - CentOS/libgnomeui-2.16.0-5.el5.x86_64.rpm                             &lt;br /&gt;
Saving Primary metadata&lt;br /&gt;
Saving file lists metadata&lt;br /&gt;
Saving other metadata&lt;br /&gt;
[root@buildhost-64 tmp]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===buildiso.sh (Used to build the ISO file)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# cat buildiso.sh &lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BUILDDIR=$1&lt;br /&gt;
if [ &amp;quot;${BUILDDIR}&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
  echo &amp;quot;Build Directory cannot be empty. Please specify full path.&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
ISODIR=&amp;quot;/mnt/cdimages/&amp;quot;&lt;br /&gt;
ISOFILE=&amp;quot;CentOS-5.5-x86_64-HypervisorEdition.iso&amp;quot;&lt;br /&gt;
READMEFILE=&amp;quot;README.WBITT&amp;quot;&lt;br /&gt;
KICKSTARTFILE=&amp;quot;sample-kickstart.ks&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Remove the non-english RELEASE-NOTES. &lt;br /&gt;
rm -f ${BUILDDIR}/RELEASE-NOTES-[a-d,f-z]*&lt;br /&gt;
&lt;br /&gt;
# Remove NOTES directory, which contains RELEASE-NOTES in plethora of different languages.&lt;br /&gt;
rm -f ${BUILDDIR}/NOTES*&lt;br /&gt;
&lt;br /&gt;
# Remove the target ISO file, if it already exists.&lt;br /&gt;
rm ${ISODIR}/${ISOFILE}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# [OPTIONAL] Create the README file in the CD root:&lt;br /&gt;
cp ${READMEFILE} ${BUILDDIR}/&lt;br /&gt;
&lt;br /&gt;
# [OPTIONAL] Create a sample kickstart file in the CD root:&lt;br /&gt;
cp ${KICKSTARTFILE} ${BUILDDIR}/&lt;br /&gt;
&lt;br /&gt;
# Finally, create the ISO.&lt;br /&gt;
mkisofs -r -R -J -T -v  \&lt;br /&gt;
   -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
   -V &amp;quot;CentOS-5.5-Hypervisor 64-bit&amp;quot; -p &amp;quot;KamranAzeem (kamran@wbitt.com)&amp;quot;  -A &amp;quot;CentOS-5.5-Hypervisor-Edition 64 bit-2011/01/03&amp;quot; \&lt;br /&gt;
   -b isolinux/isolinux.bin -c isolinux/boot.cat  -x &amp;quot;lost+found&amp;quot; \&lt;br /&gt;
   -o ${ISODIR}/${ISOFILE} ${BUILDDIR}&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-64 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# ./buildiso.sh /mnt/cdimages/CentOS-5.5-x86_64-hypervisor&lt;br /&gt;
INFO:	UTF-8 character encoding detected by locale settings.&lt;br /&gt;
	Assuming UTF-8 encoded filenames on source filesystem,&lt;br /&gt;
	use -input-charset to override.&lt;br /&gt;
mkisofs 2.01 (cpu-pc-linux-gnu)&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/pxeboot&lt;br /&gt;
Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/pxeboot/TRANS.TBL&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/xen&lt;br /&gt;
Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/xen/TRANS.TBL&lt;br /&gt;
Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/images/TRANS.TBL&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/repodata&lt;br /&gt;
Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/TRANS.TBL&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/CentOS&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/isolinux&lt;br /&gt;
Excluded: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/isolinux/TRANS.TBL&lt;br /&gt;
Excluded by match: /mnt/cdimages/CentOS-5.5-x86_64-hypervisor/isolinux/boot.cat&lt;br /&gt;
Using RPM_G000.;1 for  /RPM-GPG-KEY-CentOS-5 (RPM-GPG-KEY-beta)&lt;br /&gt;
Using RELEA000.;1 for  /RELEASE-NOTES-en (RELEASE-NOTES-en_US)&lt;br /&gt;
Using RELEA000.HTM;1 for  /RELEASE-NOTES-es.html (RELEASE-NOTES-en.html)&lt;br /&gt;
Using RELEA001.HTM;1 for  /RELEASE-NOTES-en.html (RELEASE-NOTES-en_US.html)&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
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)&lt;br /&gt;
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)&lt;br /&gt;
Writing:   Initial Padblock                        Start Block 0&lt;br /&gt;
Done with: Initial Padblock                        Block(s)    16&lt;br /&gt;
Writing:   Primary Volume Descriptor               Start Block 16&lt;br /&gt;
Done with: Primary Volume Descriptor               Block(s)    1&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
Writing:   Extension record                        Start Block 92&lt;br /&gt;
Done with: Extension record                        Block(s)    1&lt;br /&gt;
Writing:   The File(s)                             Start Block 93&lt;br /&gt;
  2.07% done, estimate finish Tue Jan  4 11:47:07 2011&lt;br /&gt;
  4.13% done, estimate finish Tue Jan  4 11:47:07 2011&lt;br /&gt;
  6.20% done, estimate finish Tue Jan  4 11:47:07 2011&lt;br /&gt;
  8.26% done, estimate finish Tue Jan  4 11:47:19 2011&lt;br /&gt;
 10.32% done, estimate finish Tue Jan  4 11:47:16 2011&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
 94.97% done, estimate finish Tue Jan  4 11:47:47 2011&lt;br /&gt;
 97.04% done, estimate finish Tue Jan  4 11:47:47 2011&lt;br /&gt;
 99.11% done, estimate finish Tue Jan  4 11:47:46 2011&lt;br /&gt;
Total translation table size: 103926&lt;br /&gt;
Total rockridge attributes bytes: 44898&lt;br /&gt;
Total directory bytes: 71680&lt;br /&gt;
Path table size(bytes): 98&lt;br /&gt;
Done with: The File(s)                             Block(s)    241935&lt;br /&gt;
Writing:   Ending Padblock                         Start Block 242028&lt;br /&gt;
Done with: Ending Padblock                         Block(s)    150&lt;br /&gt;
Max brk space used 84000&lt;br /&gt;
242178 extents written (473 MB)&lt;br /&gt;
[root@buildhost-64 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Complete list of RPMS (for our CENTOS 5.5 x86_64 Hypervisor Edition)==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# ls  /mnt/cdimages/hypervisor-64/ | wc -l&lt;br /&gt;
327&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-64 tmp]# du -sh  /mnt/cdimages/hypervisor-64/ &lt;br /&gt;
271M	/mnt/cdimages/hypervisor-64/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-64 tmp]# ls -tr1 /mnt/cdimages/hypervisor-64/&lt;br /&gt;
alsa-lib-1.0.17-1.el5.x86_64.rpm&lt;br /&gt;
atk-1.12.2-1.fc6.x86_64.rpm&lt;br /&gt;
audiofile-0.2.6-5.x86_64.rpm&lt;br /&gt;
audit-libs-1.7.17-3.el5.x86_64.rpm&lt;br /&gt;
audit-libs-python-1.7.17-3.el5.x86_64.rpm&lt;br /&gt;
avahi-0.6.16-7.el5.x86_64.rpm&lt;br /&gt;
avahi-glib-0.6.16-7.el5.x86_64.rpm&lt;br /&gt;
basesystem-8.0-5.1.1.el5.centos.noarch.rpm&lt;br /&gt;
bash-3.2-24.el5.x86_64.rpm&lt;br /&gt;
binutils-2.17.50.0.6-14.el5.x86_64.rpm&lt;br /&gt;
bitmap-fonts-0.3-5.1.1.noarch.rpm&lt;br /&gt;
bitstream-vera-fonts-1.10-7.noarch.rpm&lt;br /&gt;
bridge-utils-1.1-2.x86_64.rpm&lt;br /&gt;
bzip2-1.0.3-4.el5_2.x86_64.rpm&lt;br /&gt;
bzip2-libs-1.0.3-4.el5_2.x86_64.rpm&lt;br /&gt;
cairo-1.2.4-5.el5.x86_64.rpm&lt;br /&gt;
celt051-0.5.1.3-0.el5.x86_64.rpm&lt;br /&gt;
centos-release-5-5.el5.centos.x86_64.rpm&lt;br /&gt;
centos-release-notes-5.5-0.x86_64.rpm&lt;br /&gt;
checkpolicy-1.33.1-6.el5.x86_64.rpm&lt;br /&gt;
chkconfig-1.3.30.2-2.el5.x86_64.rpm&lt;br /&gt;
chkfontpath-1.10.1-1.1.x86_64.rpm&lt;br /&gt;
coreutils-5.97-23.el5_4.2.x86_64.rpm&lt;br /&gt;
cpio-2.6-23.el5_4.1.x86_64.rpm&lt;br /&gt;
cpp-4.1.2-48.el5.x86_64.rpm&lt;br /&gt;
cracklib-2.8.9-3.3.x86_64.rpm&lt;br /&gt;
cracklib-dicts-2.8.9-3.3.x86_64.rpm&lt;br /&gt;
crontabs-1.10-8.noarch.rpm&lt;br /&gt;
cryptsetup-luks-1.0.3-5.el5.x86_64.rpm&lt;br /&gt;
cups-libs-1.3.7-18.el5.x86_64.rpm&lt;br /&gt;
cyrus-sasl-2.1.22-5.el5_4.3.x86_64.rpm&lt;br /&gt;
cyrus-sasl-lib-2.1.22-5.el5_4.3.x86_64.rpm&lt;br /&gt;
cyrus-sasl-md5-2.1.22-5.el5_4.3.x86_64.rpm&lt;br /&gt;
db4-4.3.29-10.el5.x86_64.rpm&lt;br /&gt;
dbus-1.1.2-14.el5.x86_64.rpm&lt;br /&gt;
dbus-glib-0.73-8.el5.x86_64.rpm&lt;br /&gt;
dbus-libs-1.1.2-14.el5.x86_64.rpm&lt;br /&gt;
dbus-python-0.70-9.el5_4.x86_64.rpm&lt;br /&gt;
desktop-backgrounds-basic-2.0-41.el5.centos.noarch.rpm&lt;br /&gt;
desktop-file-utils-0.10-7.x86_64.rpm&lt;br /&gt;
device-mapper-1.02.39-1.el5.x86_64.rpm&lt;br /&gt;
device-mapper-event-1.02.39-1.el5.x86_64.rpm&lt;br /&gt;
device-mapper-multipath-0.4.7-34.el5.x86_64.rpm&lt;br /&gt;
dhclient-3.0.5-23.el5.x86_64.rpm&lt;br /&gt;
diffutils-2.8.1-15.2.3.el5.x86_64.rpm&lt;br /&gt;
dmidecode-2.10-3.el5.x86_64.rpm&lt;br /&gt;
dmraid-1.0.0.rc13-63.el5.x86_64.rpm&lt;br /&gt;
dmraid-events-1.0.0.rc13-63.el5.x86_64.rpm&lt;br /&gt;
dnsmasq-2.45-1.1.el5_3.x86_64.rpm&lt;br /&gt;
docbook-dtds-1.0-30.1.noarch.rpm&lt;br /&gt;
e2fsprogs-1.39-23.el5.x86_64.rpm&lt;br /&gt;
e2fsprogs-libs-1.39-23.el5.x86_64.rpm&lt;br /&gt;
e4fsprogs-libs-1.41.9-3.el5.x86_64.rpm&lt;br /&gt;
elfutils-libelf-0.137-3.el5.x86_64.rpm&lt;br /&gt;
esound-0.2.36-3.x86_64.rpm&lt;br /&gt;
etherboot-zroms-kvm-5.4.4-13.el5.centos.x86_64.rpm&lt;br /&gt;
ethtool-6-4.el5.x86_64.rpm&lt;br /&gt;
expat-1.95.8-8.3.el5_4.2.x86_64.rpm&lt;br /&gt;
filesystem-2.4.0-3.el5.x86_64.rpm&lt;br /&gt;
findutils-4.2.27-6.el5.x86_64.rpm&lt;br /&gt;
fipscheck-1.2.0-1.el5.x86_64.rpm&lt;br /&gt;
fipscheck-lib-1.2.0-1.el5.x86_64.rpm&lt;br /&gt;
fontconfig-2.4.1-7.el5.x86_64.rpm&lt;br /&gt;
freetype-2.2.1-21.el5_3.x86_64.rpm&lt;br /&gt;
ftp-0.17-35.el5.x86_64.rpm&lt;br /&gt;
gamin-0.1.7-8.el5.x86_64.rpm&lt;br /&gt;
gawk-3.1.5-14.el5.x86_64.rpm&lt;br /&gt;
GConf2-2.14.0-9.el5.x86_64.rpm&lt;br /&gt;
gdbm-1.8.0-26.2.1.x86_64.rpm&lt;br /&gt;
glib2-2.12.3-4.el5_3.1.x86_64.rpm&lt;br /&gt;
glibc-2.5-49.x86_64.rpm&lt;br /&gt;
glibc-common-2.5-49.x86_64.rpm&lt;br /&gt;
gnome-keyring-0.6.0-1.fc6.x86_64.rpm&lt;br /&gt;
gnome-mime-data-2.4.2-3.1.x86_64.rpm&lt;br /&gt;
gnome-mount-0.5-3.el5.x86_64.rpm&lt;br /&gt;
gnome-python2-2.16.0-1.fc6.x86_64.rpm&lt;br /&gt;
gnome-python2-bonobo-2.16.0-1.fc6.x86_64.rpm&lt;br /&gt;
gnome-python2-desktop-2.16.0-3.el5.x86_64.rpm&lt;br /&gt;
gnome-python2-gconf-2.16.0-1.fc6.x86_64.rpm&lt;br /&gt;
gnome-python2-gnomekeyring-2.16.0-3.el5.x86_64.rpm&lt;br /&gt;
gnome-python2-gnomevfs-2.16.0-1.fc6.x86_64.rpm&lt;br /&gt;
gnome-vfs2-2.16.2-6.el5.x86_64.rpm&lt;br /&gt;
gnutls-1.4.1-3.el5_3.5.x86_64.rpm&lt;br /&gt;
grep-2.5.1-55.el5.x86_64.rpm&lt;br /&gt;
grub-0.97-13.5.x86_64.rpm&lt;br /&gt;
gtk2-2.10.4-20.el5.x86_64.rpm&lt;br /&gt;
gtk-vnc-0.3.8-3.el5.x86_64.rpm&lt;br /&gt;
gtk-vnc-python-0.3.8-3.el5.x86_64.rpm&lt;br /&gt;
gzip-1.3.5-11.el5.centos.1.x86_64.rpm&lt;br /&gt;
hal-0.5.8.1-59.el5.x86_64.rpm&lt;br /&gt;
hicolor-icon-theme-0.9-2.1.noarch.rpm&lt;br /&gt;
hmaccalc-0.9.6-3.el5.x86_64.rpm&lt;br /&gt;
hwdata-0.213.18-1.el5.1.noarch.rpm&lt;br /&gt;
info-4.8-14.el5.x86_64.rpm&lt;br /&gt;
initscripts-8.45.30-2.el5.centos.x86_64.rpm&lt;br /&gt;
iproute-2.6.18-11.el5.x86_64.rpm&lt;br /&gt;
iptables-1.3.5-5.3.el5_4.1.x86_64.rpm&lt;br /&gt;
iptraf-3.0.0-5.el5.x86_64.rpm&lt;br /&gt;
iputils-20020927-46.el5.x86_64.rpm&lt;br /&gt;
iscsi-initiator-utils-6.2.0.871-0.16.el5.x86_64.rpm&lt;br /&gt;
kbd-1.12-21.el5.x86_64.rpm&lt;br /&gt;
kernel-2.6.18-194.el5.x86_64.rpm&lt;br /&gt;
kernel-xen-2.6.18-194.el5.x86_64.rpm&lt;br /&gt;
keyutils-libs-1.2-1.el5.x86_64.rpm&lt;br /&gt;
kmod-kvm-83-164.el5.x86_64.rpm&lt;br /&gt;
kpartx-0.4.7-34.el5.x86_64.rpm&lt;br /&gt;
krb5-libs-1.6.1-36.el5_4.1.x86_64.rpm&lt;br /&gt;
kvm-83-164.el5.x86_64.rpm&lt;br /&gt;
kvm-qemu-img-83-164.el5.x86_64.rpm&lt;br /&gt;
kvm-tools-83-164.el5.x86_64.rpm&lt;br /&gt;
less-436-2.el5.x86_64.rpm&lt;br /&gt;
libacl-2.2.39-6.el5.x86_64.rpm&lt;br /&gt;
libart_lgpl-2.3.17-4.x86_64.rpm&lt;br /&gt;
libattr-2.4.32-1.1.x86_64.rpm&lt;br /&gt;
libbonobo-2.16.0-1.fc6.x86_64.rpm&lt;br /&gt;
libbonoboui-2.16.0-1.fc6.x86_64.rpm&lt;br /&gt;
libcap-1.10-26.x86_64.rpm&lt;br /&gt;
libcroco-0.6.1-2.1.x86_64.rpm&lt;br /&gt;
libdaemon-0.10-5.el5.x86_64.rpm&lt;br /&gt;
libdmx-1.0.2-3.1.x86_64.rpm&lt;br /&gt;
libdrm-2.0.2-1.1.x86_64.rpm&lt;br /&gt;
libevent-1.4.13-1.x86_64.rpm&lt;br /&gt;
libfontenc-1.0.2-2.2.el5.x86_64.rpm&lt;br /&gt;
libFS-1.0.0-3.1.x86_64.rpm&lt;br /&gt;
libgcc-4.1.2-48.el5.x86_64.rpm&lt;br /&gt;
libgcrypt-1.4.4-5.el5.x86_64.rpm&lt;br /&gt;
libglade2-2.6.0-2.x86_64.rpm&lt;br /&gt;
libgnome-2.16.0-6.el5.x86_64.rpm&lt;br /&gt;
libgnomecanvas-2.14.0-4.1.x86_64.rpm&lt;br /&gt;
libgnomeui-2.16.0-5.el5.x86_64.rpm&lt;br /&gt;
libgpg-error-1.4-2.x86_64.rpm&lt;br /&gt;
libgsf-1.14.1-6.1.x86_64.rpm&lt;br /&gt;
libgssapi-0.10-2.x86_64.rpm&lt;br /&gt;
libICE-1.0.1-2.1.x86_64.rpm&lt;br /&gt;
libIDL-0.8.7-1.fc6.x86_64.rpm&lt;br /&gt;
libjpeg-6b-37.x86_64.rpm&lt;br /&gt;
libnotify-0.4.2-6.el5.x86_64.rpm&lt;br /&gt;
libogg-1.1.3-3.el5.x86_64.rpm&lt;br /&gt;
libpcap-0.9.4-15.el5.x86_64.rpm&lt;br /&gt;
libpng-1.2.10-7.1.el5_3.2.x86_64.rpm&lt;br /&gt;
librsvg2-2.16.1-1.el5.x86_64.rpm&lt;br /&gt;
libselinux-1.33.4-5.5.el5.x86_64.rpm&lt;br /&gt;
libselinux-python-1.33.4-5.5.el5.x86_64.rpm&lt;br /&gt;
libselinux-utils-1.33.4-5.5.el5.x86_64.rpm&lt;br /&gt;
libsemanage-1.9.1-4.4.el5.x86_64.rpm&lt;br /&gt;
libsepol-1.15.2-3.el5.x86_64.rpm&lt;br /&gt;
libSM-1.0.1-3.1.x86_64.rpm&lt;br /&gt;
libsmi-0.4.5-2.el5.x86_64.rpm&lt;br /&gt;
libstdc++-4.1.2-48.el5.x86_64.rpm&lt;br /&gt;
libsysfs-2.0.0-6.x86_64.rpm&lt;br /&gt;
libtermcap-2.0.8-46.1.x86_64.rpm&lt;br /&gt;
libtiff-3.8.2-7.el5_3.4.x86_64.rpm&lt;br /&gt;
libusb-0.1.12-5.1.x86_64.rpm&lt;br /&gt;
libuser-0.54.7-2.1.el5_4.1.x86_64.rpm&lt;br /&gt;
libutempter-1.1.4-4.el5.x86_64.rpm&lt;br /&gt;
libvirt-0.6.3-33.el5.x86_64.rpm&lt;br /&gt;
libvirt-python-0.6.3-33.el5.x86_64.rpm&lt;br /&gt;
libvolume_id-095-14.21.el5.x86_64.rpm&lt;br /&gt;
libwnck-2.16.0-4.fc6.x86_64.rpm&lt;br /&gt;
libX11-1.0.3-11.el5.x86_64.rpm&lt;br /&gt;
libXau-1.0.1-3.1.x86_64.rpm&lt;br /&gt;
libXaw-1.0.2-8.1.x86_64.rpm&lt;br /&gt;
libXcursor-1.1.7-1.1.x86_64.rpm&lt;br /&gt;
libXdmcp-1.0.1-2.1.x86_64.rpm&lt;br /&gt;
libXext-1.0.1-2.1.x86_64.rpm&lt;br /&gt;
libXfixes-4.0.1-2.1.x86_64.rpm&lt;br /&gt;
libXfont-1.2.2-1.0.3.el5_1.x86_64.rpm&lt;br /&gt;
libXfontcache-1.0.2-3.1.x86_64.rpm&lt;br /&gt;
libXft-2.1.10-1.1.x86_64.rpm&lt;br /&gt;
libXi-1.0.1-4.el5_4.x86_64.rpm&lt;br /&gt;
libXinerama-1.0.1-2.1.x86_64.rpm&lt;br /&gt;
libxkbfile-1.0.3-3.1.x86_64.rpm&lt;br /&gt;
libxml2-2.6.26-2.1.2.8.x86_64.rpm&lt;br /&gt;
libxml2-python-2.6.26-2.1.2.8.x86_64.rpm&lt;br /&gt;
libXmu-1.0.2-5.x86_64.rpm&lt;br /&gt;
libXpm-3.5.5-3.x86_64.rpm&lt;br /&gt;
libXrandr-1.1.1-3.3.x86_64.rpm&lt;br /&gt;
libXrender-0.9.1-3.1.x86_64.rpm&lt;br /&gt;
libXres-1.0.1-3.1.x86_64.rpm&lt;br /&gt;
libxslt-1.1.17-2.el5_2.2.x86_64.rpm&lt;br /&gt;
libXt-1.0.2-3.2.el5.x86_64.rpm&lt;br /&gt;
libXTrap-1.0.0-3.1.x86_64.rpm&lt;br /&gt;
libXtst-1.0.1-3.1.x86_64.rpm&lt;br /&gt;
libXv-1.0.1-4.1.x86_64.rpm&lt;br /&gt;
libXxf86dga-1.0.1-3.1.x86_64.rpm&lt;br /&gt;
libXxf86misc-1.0.1-3.1.x86_64.rpm&lt;br /&gt;
libXxf86vm-1.0.1-3.1.x86_64.rpm&lt;br /&gt;
log4cpp-1.0-9.el5.x86_64.rpm&lt;br /&gt;
logrotate-3.7.4-9.x86_64.rpm&lt;br /&gt;
lvm2-2.02.56-8.el5.x86_64.rpm&lt;br /&gt;
m2crypto-0.16-6.el5.6.x86_64.rpm&lt;br /&gt;
MAKEDEV-3.23-1.2.x86_64.rpm&lt;br /&gt;
mcstrans-0.2.11-3.el5.x86_64.rpm&lt;br /&gt;
mesa-libGL-6.5.1-7.8.el5.x86_64.rpm&lt;br /&gt;
mesa-libGLU-6.5.1-7.8.el5.x86_64.rpm&lt;br /&gt;
mingetty-1.07-5.2.2.x86_64.rpm&lt;br /&gt;
mkinitrd-5.1.19.6-61.x86_64.rpm&lt;br /&gt;
mktemp-1.5-23.2.2.x86_64.rpm&lt;br /&gt;
module-init-tools-3.3-0.pre3.1.60.el5.x86_64.rpm&lt;br /&gt;
nash-5.1.19.6-61.x86_64.rpm&lt;br /&gt;
nc-1.84-10.fc6.x86_64.rpm&lt;br /&gt;
ncurses-5.5-24.20060715.x86_64.rpm&lt;br /&gt;
net-tools-1.60-81.el5.x86_64.rpm&lt;br /&gt;
nfs-utils-1.0.9-44.el5.x86_64.rpm&lt;br /&gt;
nfs-utils-lib-1.0.8-7.6.el5.x86_64.rpm&lt;br /&gt;
nmap-4.11-1.1.x86_64.rpm&lt;br /&gt;
notification-daemon-0.3.5-9.el5.x86_64.rpm&lt;br /&gt;
nspr-4.7.6-1.el5_4.x86_64.rpm&lt;br /&gt;
nss-3.12.3.99.3-1.el5.centos.2.x86_64.rpm&lt;br /&gt;
numactl-0.9.8-11.el5.x86_64.rpm&lt;br /&gt;
openjade-1.3.2-27.x86_64.rpm&lt;br /&gt;
openldap-2.3.43-12.el5.x86_64.rpm&lt;br /&gt;
opensp-1.5.2-4.x86_64.rpm&lt;br /&gt;
openssh-4.3p2-41.el5.x86_64.rpm&lt;br /&gt;
openssh-clients-4.3p2-41.el5.x86_64.rpm&lt;br /&gt;
openssh-server-4.3p2-41.el5.x86_64.rpm&lt;br /&gt;
openssl-0.9.8e-12.el5_4.6.x86_64.rpm&lt;br /&gt;
ORBit2-2.14.3-5.el5.x86_64.rpm&lt;br /&gt;
pam-0.99.6.2-6.el5_4.1.x86_64.rpm&lt;br /&gt;
pango-1.14.9-6.el5.centos.x86_64.rpm&lt;br /&gt;
parted-1.8.1-27.el5.x86_64.rpm&lt;br /&gt;
passwd-0.73-1.x86_64.rpm&lt;br /&gt;
pciutils-2.2.3-8.el5_4.x86_64.rpm&lt;br /&gt;
pcre-6.6-2.el5_1.7.x86_64.rpm&lt;br /&gt;
perl-5.8.8-27.el5.x86_64.rpm&lt;br /&gt;
pm-utils-0.99.3-10.el5.centos.x86_64.rpm&lt;br /&gt;
policycoreutils-1.33.12-14.8.el5.x86_64.rpm&lt;br /&gt;
popt-1.10.2.3-18.el5.x86_64.rpm&lt;br /&gt;
portmap-4.0-65.2.2.1.x86_64.rpm&lt;br /&gt;
procps-3.2.7-16.el5.x86_64.rpm&lt;br /&gt;
psmisc-22.2-7.x86_64.rpm&lt;br /&gt;
pycairo-1.2.0-1.1.x86_64.rpm&lt;br /&gt;
pygobject2-2.12.1-5.el5.x86_64.rpm&lt;br /&gt;
pygtk2-2.10.1-12.el5.x86_64.rpm&lt;br /&gt;
pygtk2-libglade-2.10.1-12.el5.x86_64.rpm&lt;br /&gt;
pyorbit-2.14.1-3.el5.x86_64.rpm&lt;br /&gt;
python-2.4.3-27.el5.x86_64.rpm&lt;br /&gt;
python-elementtree-1.2.6-5.x86_64.rpm&lt;br /&gt;
python-iniparse-0.2.3-4.el5.noarch.rpm&lt;br /&gt;
python-numeric-23.7-2.2.2.x86_64.rpm&lt;br /&gt;
python-sqlite-1.1.7-1.2.1.x86_64.rpm&lt;br /&gt;
python-urlgrabber-3.1.0-5.el5.noarch.rpm&lt;br /&gt;
python-virtinst-0.400.3-9.el5.noarch.rpm&lt;br /&gt;
qcairo-1.8.7.1-3.el5.x86_64.rpm&lt;br /&gt;
qffmpeg-libs-0.4.9-0.15.20080908.el5.x86_64.rpm&lt;br /&gt;
qpixman-0.13.3-4.el5.x86_64.rpm&lt;br /&gt;
qspice-libs-0.3.0-54.el5.x86_64.rpm&lt;br /&gt;
readline-5.1-3.el5.x86_64.rpm&lt;br /&gt;
redhat-logos-4.9.99-11.el5.centos.noarch.rpm&lt;br /&gt;
rootfiles-8.1-1.1.1.noarch.rpm&lt;br /&gt;
rpm-4.4.2.3-18.el5.x86_64.rpm&lt;br /&gt;
rpm-libs-4.4.2.3-18.el5.x86_64.rpm&lt;br /&gt;
rpm-python-4.4.2.3-18.el5.x86_64.rpm&lt;br /&gt;
rsync-2.6.8-3.1.x86_64.rpm&lt;br /&gt;
rsyslog-3.22.1-3.el5.x86_64.rpm&lt;br /&gt;
scrollkeeper-0.3.14-9.el5.x86_64.rpm&lt;br /&gt;
SDL-1.2.10-8.el5.x86_64.rpm&lt;br /&gt;
sed-4.1.5-5.fc6.x86_64.rpm&lt;br /&gt;
selinux-policy-2.4.6-279.el5.noarch.rpm&lt;br /&gt;
selinux-policy-targeted-2.4.6-279.el5.noarch.rpm&lt;br /&gt;
setools-3.0-3.el5.x86_64.rpm&lt;br /&gt;
setup-2.5.58-7.el5.noarch.rpm&lt;br /&gt;
sgml-common-0.6.3-18.noarch.rpm&lt;br /&gt;
sgpio-1.2.0_10-2.el5.x86_64.rpm&lt;br /&gt;
shadow-utils-4.0.17-15.el5.x86_64.rpm&lt;br /&gt;
shared-mime-info-0.19-5.el5.x86_64.rpm&lt;br /&gt;
sqlite-3.3.6-5.x86_64.rpm&lt;br /&gt;
startup-notification-0.8-4.1.x86_64.rpm&lt;br /&gt;
SysVinit-2.86-15.el5.x86_64.rpm&lt;br /&gt;
tar-1.15.1-30.el5.x86_64.rpm&lt;br /&gt;
tcl-8.4.13-4.el5.x86_64.rpm&lt;br /&gt;
tcpdump-3.9.4-15.el5.x86_64.rpm&lt;br /&gt;
tcp_wrappers-7.6-40.7.el5.x86_64.rpm&lt;br /&gt;
telnet-0.17-39.el5.x86_64.rpm&lt;br /&gt;
termcap-5.5-1.20060701.1.noarch.rpm&lt;br /&gt;
traceroute-2.0.1-5.el5.x86_64.rpm&lt;br /&gt;
ttmkfdir-3.0.9-23.el5.x86_64.rpm&lt;br /&gt;
tzdata-2010e-1.el5.noarch.rpm&lt;br /&gt;
udev-095-14.21.el5.x86_64.rpm&lt;br /&gt;
usermode-1.88-3.el5.2.x86_64.rpm&lt;br /&gt;
util-linux-2.13-0.52.el5_4.1.x86_64.rpm&lt;br /&gt;
vim-minimal-7.0.109-6.el5.x86_64.rpm&lt;br /&gt;
virt-manager-0.6.1-12.el5.x86_64.rpm&lt;br /&gt;
virt-viewer-0.0.2-3.el5.x86_64.rpm&lt;br /&gt;
vixie-cron-4.1-77.el5_4.1.x86_64.rpm&lt;br /&gt;
vnc-server-4.1.2-14.el5_3.1.x86_64.rpm&lt;br /&gt;
vte-0.14.0-2.el5.x86_64.rpm&lt;br /&gt;
wget-1.11.4-2.el5_4.1.x86_64.rpm&lt;br /&gt;
which-2.16-7.x86_64.rpm&lt;br /&gt;
wireshark-1.0.8-1.el5_3.1.x86_64.rpm&lt;br /&gt;
xen-3.0.3-105.el5.x86_64.rpm&lt;br /&gt;
xen-libs-3.0.3-105.el5.x86_64.rpm&lt;br /&gt;
xkeyboard-config-0.8-9.el5.noarch.rpm&lt;br /&gt;
xml-common-0.6.3-18.noarch.rpm&lt;br /&gt;
xorg-x11-drivers-7.1-4.2.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-acecad-1.1.0-2.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-aiptek-1.0.1-2.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-ast-0.89.9-1.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-ati-6.6.3-3.27.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-calcomp-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-cirrus-1.1.0-2.fc6.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-citron-2.2.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-digitaledge-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-dmc-1.1.0-2.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-dummy-0.2.0-2.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-dynapro-1.1.0-2.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-elo2300-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-elographics-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-evdev-1.0.0.5-5.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-fbdev-0.3.0-3.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-fpit-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-hyperpen-1.1.0-2.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-i810-1.6.5-9.36.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-jamstudio-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-joystick-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-keyboard-1.1.0-3.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-magellan-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-magictouch-1.0.0.5-2.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-mga-1.4.10-7.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-microtouch-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-mouse-1.1.1-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-mutouch-1.1.0-3.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-nv-2.1.15-3.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-palmax-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-penmount-1.1.0-2.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-qxl-0.0.12-1.2.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-s3-0.4.1-2.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-s3virge-1.9.1-2.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-savage-2.1.1-5.fc6.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-siliconmotion-1.4.1-2.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-sis-0.9.1-7.1.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-sisusb-0.8.1-4.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-spaceorb-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-summa-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-tdfx-1.2.1-3.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-tek4957-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-trident-1.2.1-3.fc6.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-ur98-1.1.0-1.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-vesa-1.3.0-8.2.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-vga-4.1.0-2.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-via-0.2.1-9.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-vmmouse-12.4.0-2.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-vmware-10.13.0-2.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-void-1.1.0-3.1.x86_64.rpm&lt;br /&gt;
xorg-x11-drv-voodoo-1.1.0-3.1.x86_64.rpm&lt;br /&gt;
xorg-x11-filesystem-7.1-2.fc6.noarch.rpm&lt;br /&gt;
xorg-x11-fonts-100dpi-7.1-2.1.el5.noarch.rpm&lt;br /&gt;
xorg-x11-fonts-75dpi-7.1-2.1.el5.noarch.rpm&lt;br /&gt;
xorg-x11-fonts-base-7.1-2.1.el5.noarch.rpm&lt;br /&gt;
xorg-x11-fonts-ISO8859-1-100dpi-7.1-2.1.el5.noarch.rpm&lt;br /&gt;
xorg-x11-fonts-ISO8859-1-75dpi-7.1-2.1.el5.noarch.rpm&lt;br /&gt;
xorg-x11-fonts-misc-7.1-2.1.el5.noarch.rpm&lt;br /&gt;
xorg-x11-fonts-truetype-7.1-2.1.el5.noarch.rpm&lt;br /&gt;
xorg-x11-fonts-Type1-7.1-2.1.el5.noarch.rpm&lt;br /&gt;
xorg-x11-font-utils-7.1-2.x86_64.rpm&lt;br /&gt;
xorg-x11-server-utils-7.1-4.fc6.x86_64.rpm&lt;br /&gt;
xorg-x11-server-Xorg-1.1.1-48.76.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-twm-1.0.1-3.1.x86_64.rpm&lt;br /&gt;
xorg-x11-utils-7.1-2.fc6.x86_64.rpm&lt;br /&gt;
xorg-x11-xauth-1.0.1-2.1.x86_64.rpm&lt;br /&gt;
xorg-x11-xdm-1.0.5-7.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-xfs-1.0.2-4.x86_64.rpm&lt;br /&gt;
xorg-x11-xinit-1.0.2-15.el5.x86_64.rpm&lt;br /&gt;
xorg-x11-xkb-utils-1.0.2-2.1.x86_64.rpm&lt;br /&gt;
xterm-215-8.el5_4.1.x86_64.rpm&lt;br /&gt;
xz-libs-4.999.9-0.3.beta.20091007git.el5.x86_64.rpm&lt;br /&gt;
yum-3.2.22-26.el5.centos.noarch.rpm&lt;br /&gt;
yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm&lt;br /&gt;
yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm&lt;br /&gt;
zip-2.31-2.el5.x86_64.rpm&lt;br /&gt;
zlib-1.2.3-3.x86_64.rpm&lt;br /&gt;
[root@buildhost-64 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Screen Shots==&lt;br /&gt;
[[File:Test-hypervisor-Virtual Machine-1.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test-hypervisor-Virtual Machine-2.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test-hypervisor-Virtual Machine-3.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test-hypervisor-Virtual Machine-4.png]]&lt;br /&gt;
&lt;br /&gt;
==Download the ISO (473 MB)==&lt;br /&gt;
&lt;br /&gt;
Version: 0.1&lt;br /&gt;
&lt;br /&gt;
Built: 04 Jan 2011 &lt;br /&gt;
&lt;br /&gt;
Size: 473 MB&lt;br /&gt;
&lt;br /&gt;
http://downloads.wbitt.com/downloads/CentOS-5.5-x86_64-HypervisorEdition.iso&lt;br /&gt;
&lt;br /&gt;
Check the download directory for MD5 and SHA1 checksums.&lt;/div&gt;</description>
			<pubDate>Sun, 13 Mar 2011 11:29:10 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:CentOS_5.5_x86_64_Hypervisor_Edition_(Minimal)</comments>		</item>
		<item>
			<title>CentOS 5.5 i386 Webserver Edition (Minimal)</title>
			<link>http://cooker.wbitt.com/index.php/CentOS_5.5_i386_Webserver_Edition_(Minimal)</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Why a small/server CD in the first place?==&lt;br /&gt;
Well, the key benefits are:&lt;br /&gt;
* centos.org does not provide a server CD for centos 5.5. That is a good enough reason to create one ourselves, in the first place.&lt;br /&gt;
* Small ISO size, makes it easier and ideal to download, even in bandwidth/volume limited environments.&lt;br /&gt;
* Less packages means, less vulnerabilities (if you decide to use it in production).&lt;br /&gt;
* Less holes to exploit&lt;br /&gt;
* Less packages to update, when any updates are released from upstream vendor. This results in faster update of the system. And low bandwidth consumption. In case you have a farm of such &amp;quot;thin&amp;quot; servers, lesser bandwidth would be needed to update all of the servers in your farm, compared to fat installations.&lt;br /&gt;
* Delivers you SSH and YUM, so you can add anything you want, on top of it.&lt;br /&gt;
* Creates a very small (534 MB) foot print on the disk. The Virtual machines, can now be assigned virtual disks, as low as 1.5 GB in size (tested) , or 1.0 GB in size (not tested yet).&lt;br /&gt;
* Multiple small VMs can be created in a disk constrained physical machine. 10 Virtual Machines would roughly consume about 15 GB of space. &lt;br /&gt;
* Once it is installed on a VM and rebooted, you can change the memory assignment to the VM, lowering it to 64 MB. And it will still work! (tested).&lt;br /&gt;
* Ideal for a small cluster.&lt;br /&gt;
* Provides HTTPD, out of the box, so if (for some reason) you can't connect your (v/p) box to the internet, you can still extract some productivity out of your (v/p) machine.&lt;br /&gt;
* Also provides PHP, MySQL server, so you can instantly setup and test your PHP based applications on a VM.&lt;br /&gt;
&lt;br /&gt;
[v/p = Virtual or Physical]&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
As I mentioned earlier. The idea is to have an absolute minimum number of packages. The driving force behind this thought was a need to have such a small CD, which would be easier to download and distribute, with a capability to be topped up with additional packages from the internet, when necessary. And effective enough to get the job done. Since I have included yum in it, I (and you) can add any other RPM based package to it, without a problem. In coming days however, I will release a (so called) hypervisor version, InshaAllah (God Willing). Update: HypervisorEdition is released. [[CentOS 5.5 x86 64 Hypervisor Edition (Minimal)]]&lt;br /&gt;
&lt;br /&gt;
CENTOS/RHEL already has a @core group (option), which can be used in the kickstart based installation. Even that takes up considerable space and installs CUPS, SENDMAIL and a lot of other un-necessary packages. &lt;br /&gt;
&lt;br /&gt;
Since I wanted to create a very small list of RPMS. I came up with a plan. I started with kernel, and kept trying to install the related RPMS in a temporary directory using RPM. I continued including missing files (RPMS), which were being reported by RPM as required dependencies. When all dependencies got resolved, I believed I had the desired minimal file list. Update: Can be done with more ease, using yumdownloader.&lt;br /&gt;
&lt;br /&gt;
When I completed the basic minimal list, I added ssh-server, wget and yum to it. I further added the following: grub (boot loader), openssh-clients (for ssh, scp, sftp, etc), and vim-minimal (editor).&lt;br /&gt;
&lt;br /&gt;
Note that I (generated and) tested this on a KVM based VM.&lt;br /&gt;
&lt;br /&gt;
==Infrastructure==&lt;br /&gt;
===Physical Host===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@fedora14 cdimages]# tree -d&lt;br /&gt;
.&lt;br /&gt;
├── CentOS-5.5-i386&lt;br /&gt;
│   ├── CentOS&lt;br /&gt;
│   ├── images&lt;br /&gt;
│   │   ├── pxeboot&lt;br /&gt;
│   │   └── xen&lt;br /&gt;
│   ├── isolinux&lt;br /&gt;
│   ├── NOTES&lt;br /&gt;
│   └── repodata&lt;br /&gt;
└── CentOS-5.5-i386-webserver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The /data/cdimages/CentOS-5.5-i386 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&lt;br /&gt;
&lt;br /&gt;
The /data/cdimages/CentOS-5.5-i386-webserver 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. &lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@fedora14 cdimages]# cat /etc/exports&lt;br /&gt;
/data/cdimages 192.168.122.0/255.255.255.0(rw,no_root_squash)&lt;br /&gt;
[root@fedora14 cdimages]#&lt;br /&gt;
&lt;br /&gt;
[root@fedora14 cdimages]# service nfs restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Make sure that the firewall is not blocking incoming NFS requests on the physical host).&lt;br /&gt;
&lt;br /&gt;
This is a good method to save space, both on the physical host and on the VMs. That means, you don't have to &amp;quot;fill-up&amp;quot; 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-32 VM.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Build Host===&lt;br /&gt;
The buildhost (named buildhost-32) is actually a CentOS 5.5 32 bit (i386) 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: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 ~]# yum -y install anaconda anaconda-runtime mkisofs cdrecord&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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 &amp;quot;yumdownloader&amp;quot; command. The BuildHost (VM) has the IP: 192.168.122.94, on its eth0 interface.&lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
===Make the repositories available on the buildhost-32===&lt;br /&gt;
See if you are able to view the NFS share made available on the physical host.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 ~]# showmount -e 192.168.122.1&lt;br /&gt;
Export list for 192.168.122.1:&lt;br /&gt;
/data/cdimages 192.168.122.0/255.255.255.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a mount point on the build host, and mount the NFS share on it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 ~]# mkdir /mnt/cdimages&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-32 ~]# mount -t nfs 192.168.122.1:/data/cdimages/  /mnt/cdimages/&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-32 ~]# df -h&lt;br /&gt;
Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;
/dev/vda1             3.8G  913M  2.8G  34% /&lt;br /&gt;
tmpfs                 252M     0  252M   0% /dev/shm&lt;br /&gt;
192.168.122.1:/data/cdimages/&lt;br /&gt;
                      191G  113G   69G  63% /mnt/cdimages&lt;br /&gt;
[root@buildhost-32 ~]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, the /data/cdimages from the physical host is now available on our buildhost-32, as /mnt/cdimages. &lt;br /&gt;
&lt;br /&gt;
Create an empty directory CentOS-5.5-i386-webserver inside /mnt/cdimages, if not already done so. It must be empty though. This directory is going to hold our new custom distribution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 ~]# mkdir /mnt/cdimages/CentOS-5.5-i386-webserver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the DVD structure, (excluding the CentOS directory), from /mnt/cdimages/CentOS-5.5-i386/ to this newly created directory /mnt/cdimages/CentOS-5.5-i386-webserver/.   &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 ~]# rsync -av --exclude CentOS/  \&lt;br /&gt;
   /mnt/cdimages/CentOS-5.5-i386/   /mnt/cdimages/CentOS-5.5-i386-webserver/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without the CentOS directory, which holds all the RPMs of the distribution, the structure (with some necessary files), is about 226 MB in total.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 ~]# du -sh /mnt/cdimages/CentOS-5.5-i386-webserver/&lt;br /&gt;
226M	/mnt/cdimages/CentOS-5.5-i386-webserver/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# mkdir /tmp/transitRPMs&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-32 tmp]# mkdir /tmp/RPMtest&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pulling the necessary RPMs===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# yum -y install yum-utils&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
Here is how to pull just the kernel and all of it's related dependencies.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# yumdownloader  --destdir=/tmp/transitRPMs/  --installroot=/tmp/transitRPMs/ --resolve kernel&lt;br /&gt;
Loaded plugins: fastestmirror&lt;br /&gt;
Loading mirror speeds from cached hostfile&lt;br /&gt;
local                                                                                                                                 | 1.1 kB     00:00     &lt;br /&gt;
local/primary                                                                                                                         | 920 kB     00:00     &lt;br /&gt;
local                                                                                                                                              2599/2599&lt;br /&gt;
--&amp;gt; Running transaction check&lt;br /&gt;
---&amp;gt; Package kernel.i686 0:2.6.18-194.el5 set to be installed&lt;br /&gt;
--&amp;gt; Processing Dependency: initscripts &amp;gt;= 8.11.1-1 for package: kernel&lt;br /&gt;
--&amp;gt; Processing Dependency: mkinitrd &amp;gt;= 4.2.21-1 for package: kernel&lt;br /&gt;
--&amp;gt; Processing Dependency: /bin/sh for package: kernel&lt;br /&gt;
--&amp;gt; Processing Dependency: module-init-tools for package: kernel&lt;br /&gt;
--&amp;gt; Processing Dependency: fileutils for package: kernel&lt;br /&gt;
--&amp;gt; Running transaction check&lt;br /&gt;
---&amp;gt; Package bash.i386 0:3.2-24.el5 set to be updated&lt;br /&gt;
--&amp;gt; Processing Dependency: libc.so.6(GLIBC_2.2) for package: bash&lt;br /&gt;
--&amp;gt; Processing Dependency: libc.so.6(GLIBC_2.3.4) for package: bash&lt;br /&gt;
. . . &lt;br /&gt;
--&amp;gt; Processing Dependency: libkeyutils.so.1(KEYUTILS_0.3) for package: krb5-libs&lt;br /&gt;
--&amp;gt; Running transaction check&lt;br /&gt;
---&amp;gt; Package keyutils-libs.i386 0:1.2-1.el5 set to be updated&lt;br /&gt;
--&amp;gt; Finished Dependency Resolution&lt;br /&gt;
kernel-2.6.18-194.el5.i686.rpm                                                                                                        |  17 MB     00:00     &lt;br /&gt;
zlib-1.2.3-3.i386.rpm                                                                                                                 |  50 kB     00:00     &lt;br /&gt;
device-mapper-event-1.02.39-1.el5.i386.rpm                                                                                            |  20 kB     00:00     &lt;br /&gt;
nspr-4.7.6-1.el5_4.i386.rpm                                                                                                           | 119 kB     00:00    . . . &lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
bzip2-libs-1.0.3-4.el5_2.i386.rpm                                                                                                     |  37 kB     00:00     &lt;br /&gt;
findutils-4.2.27-6.el5.i386.rpm                                                                                                       | 294 kB     00:00     &lt;br /&gt;
libstdc++-4.1.2-48.el5.i386.rpm                                                                                                       | 362 kB     00:00     &lt;br /&gt;
cpio-2.6-23.el5_4.1.i386.rpm   &lt;br /&gt;
[root@buildhost-32 tmp]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# ls /tmp/transitRPMs/*.rpm | wc -l&lt;br /&gt;
82&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-32 tmp]# du -sh  /tmp/transitRPMs/&lt;br /&gt;
98M	/tmp/transitRPMs/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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, with ping. But again, nothing fancy.&lt;br /&gt;
&lt;br /&gt;
To get all the packages we need, for our &amp;quot;WebserverEdition&amp;quot;, below is what all I pulled. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 ~]# yumdownloader  --destdir=/tmp/transitRPMs/  --installroot=/tmp/transitRPMs/ --resolve kernel \ &lt;br /&gt;
vim-minimal wget yum dhclient grub rootfiles openssh-clients openssh-server passwd\ &lt;br /&gt;
iptables selinux-policy-targeted setools kernel-xen telnet tcpdump wireshark nmap policycoreutils-newrole star attr\ &lt;br /&gt;
zip bzip2 rsync which traceroute ftp vixie-cron iptraf sysklogd \ &lt;br /&gt;
httpd php mysql-server postfix mod_ssl php-mysql mod_auth_mysql dovecot spamassassin squirrelmail \ &lt;br /&gt;
vsftpd xferstats elinks webalizer php-gd crypto-utils kudzu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# ls /tmp/transitRPMs/*.rpm | wc -l&lt;br /&gt;
211&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-32 tmp]# du -sh /tmp/transitRPMs/&lt;br /&gt;
250M	/tmp/transitRPMs/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test the installation of pulled RPMs (for the sake of completeness)===&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# ./testrun.sh /tmp/transitRPMs/&lt;br /&gt;
warning: /tmp/transitRPMs//apr-1.2.7-11.el5_3.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897&lt;br /&gt;
Preparing...                ########################################### [100%]&lt;br /&gt;
[root@buildhost-32 tmp]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
No errors here. This means that the test installation of the RPMs was successful. Good.&lt;br /&gt;
&lt;br /&gt;
===Synchronize the transitRPMs location with the build-tree===&lt;br /&gt;
Once the test is successful, you can rsync this (transitRPMs) directory to your buildtree (/mnt/cdimages/CentOS-5.5-i386-webserver). &lt;br /&gt;
&lt;br /&gt;
Create the CentOS directory in your build directory, if you have not created it already. It should be empty at this point.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# mkdir /mnt/cdimages/CentOS-5.5-i386-webserver/CentOS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now sync the directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# rsync -av --exclude var/  webserver/ /mnt/cdimages/CentOS-5.5-i386-webserver/CentOS/&lt;br /&gt;
building file list ... done&lt;br /&gt;
./&lt;br /&gt;
MAKEDEV-3.23-1.2.i386.rpm&lt;br /&gt;
SysVinit-2.86-15.el5.i386.rpm&lt;br /&gt;
apr-1.2.7-11.el5_3.1.i386.rpm&lt;br /&gt;
apr-util-1.2.7-11.el5.i386.rpm&lt;br /&gt;
aspell-0.60.3-7.1.i386.rpm&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm&lt;br /&gt;
yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm&lt;br /&gt;
zip-2.31-2.el5.i386.rpm&lt;br /&gt;
zlib-1.2.3-3.i386.rpm&lt;br /&gt;
&lt;br /&gt;
sent 261452566 bytes  received 5024 bytes  14132842.70 bytes/sec&lt;br /&gt;
total size is 261401513  speedup is 1.00&lt;br /&gt;
[root@buildhost-32 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Edit the comps.xml file as per requirements===&lt;br /&gt;
I pulled a copy of original comps.xml from the original CENTOS repository. Removed all the &amp;quot;xml:lang&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Note: When you edit this file, you will need to keep note of few things. [Needs update]. comps.xml groups and categories , and the titles shown during the installer / packages selection screen are two different things. I had to fool the installer , by retaining most of the &amp;quot;server&amp;quot; groups (filled with a simple vim-minimal package) in comps.xml . This was the only method I found out, to be able to show &amp;quot;Server&amp;quot; on the package selection screen. More on this later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# cat comps.xml-webserver&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE newcomps PUBLIC &amp;quot;-//CentOS//DTD Comps info//EN&amp;quot; &amp;quot;comps.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;comps&amp;gt;&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;base&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Base&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;This group includes a minimal set of packages. Useful for creating small router/firewall boxes, for example.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;true&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;true&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;attr&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;bzip2&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;dhclient&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;elinks&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;ftp&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;grub&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;iptables&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;iptraf&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;kernel-xen&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;nmap&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;openssh-clients&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;openssh-server&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;passwd&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;policycoreutils-newrole&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;rootfiles&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;rsync&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;selinux-policy&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;selinux-policy-targeted&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;setools&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;star&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;sysklogd&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;tcpdump&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;telnet&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;traceroute&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;vim-minimal&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;vixie-cron&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;which&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;wireshark&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;zip&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;core&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Core&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Smallest possible installation&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;true&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;false&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;SysVinit&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;basesystem&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;bash&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;centos-release&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;centos-release-notes&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;coreutils&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;cpio&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;e2fsprogs&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;filesystem&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;glibc&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;initscripts&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;iproute&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;iputils&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;libgcc&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;libtermcap&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;mkinitrd&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;procps&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;readline&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;redhat-logos&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;rpm&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;setup&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;shadow-utils&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;termcap&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;util-linux&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;wget&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;yum&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;kudzu&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;dns-server&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;DNS Name Server&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;This package group allows you to run a DNS name server (BIND) on the system.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;false&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;vim-minimal&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;ftp-server&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;FTP Server&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;These tools allow you to run an FTP server on the system.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;true&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;vsftpd&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;xferstats&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;legacy-network-server&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Legacy Network Server&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;These packages include servers for old network protocols such as rsh and telnet.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;false&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;vim-minimal&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;mail-server&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Mail Server&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;These packages allow you to configure an IMAP or SMTP mail server.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;true&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;dovecot&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;postfix&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;spamassassin&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;squirrelmail&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;mysql&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;MySQL Database&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;This package group contains packages useful for use with MySQL.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;true&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;mandatory&amp;quot;&amp;gt;mysql&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;mysql-server&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;network-server&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Network Servers&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;These packages include network-based servers such as DHCP, Kerberos and NIS.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;false&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;vim-minimal&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;news-server&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;News Server&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;This group allows you to configure the system as a news server.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;false&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;vim-minimal&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;printing&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Printing Support&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Install these tools to enable the system to print or act as a print server.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;false&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;vim-minimal&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;sql-server&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;PostgreSQL Database&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;This package group includes packages useful for use with Postgresql.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;false&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;vim-minimal&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;server-cfg&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Server Configuration Tools&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;This group contains all of CentOS's custom server configuration tools.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;false&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;vim-minimal&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;web-server&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Web Server&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;These tools allow you to run a Web server on the system.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;true&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;true&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;httpd&amp;quot;&amp;gt;crypto-utils&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;httpd&amp;quot;&amp;gt;distcache&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;httpd&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;httpd&amp;quot;&amp;gt;mod_auth_mysql&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;httpd&amp;quot;&amp;gt;mod_ssl&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;default&amp;quot;&amp;gt;php&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;php&amp;quot;&amp;gt;php-gd&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;conditional&amp;quot; requires=&amp;quot;php&amp;quot;&amp;gt;php-mysql&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;webalizer&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;group&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;smb-server&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Windows File Server&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;This package group allows you to share files between Linux and MS Windows(tm) systems.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;default&amp;gt;false&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;uservisible&amp;gt;false&amp;lt;/uservisible&amp;gt;&lt;br /&gt;
    &amp;lt;packagelist&amp;gt;&lt;br /&gt;
      &amp;lt;packagereq type=&amp;quot;optional&amp;quot;&amp;gt;vim-minimal&amp;lt;/packagereq&amp;gt;&lt;br /&gt;
    &amp;lt;/packagelist&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;category&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;base-system&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Base System&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Various core pieces of the system.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;display_order&amp;gt;92&amp;lt;/display_order&amp;gt;&lt;br /&gt;
    &amp;lt;grouplist&amp;gt;&lt;br /&gt;
      &amp;lt;groupid&amp;gt;base&amp;lt;/groupid&amp;gt;&lt;br /&gt;
    &amp;lt;/grouplist&amp;gt;&lt;br /&gt;
  &amp;lt;/category&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;category&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;servers&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Servers&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Software used for running network servers&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;display_order&amp;gt;90&amp;lt;/display_order&amp;gt;&lt;br /&gt;
    &amp;lt;grouplist&amp;gt;&lt;br /&gt;
      &amp;lt;groupid&amp;gt;web-server&amp;lt;/groupid&amp;gt;&lt;br /&gt;
      &amp;lt;groupid&amp;gt;ftp-server&amp;lt;/groupid&amp;gt;&lt;br /&gt;
      &amp;lt;groupid&amp;gt;mail-server&amp;lt;/groupid&amp;gt;&lt;br /&gt;
      &amp;lt;groupid&amp;gt;mysql&amp;lt;/groupid&amp;gt;&lt;br /&gt;
    &amp;lt;/grouplist&amp;gt;&lt;br /&gt;
  &amp;lt;/category&amp;gt;&lt;br /&gt;
&amp;lt;/comps&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may want to run a sanity check on your comps.xml file. It will reveal any errors/typing mistakes, etc.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# xmllint --valid  comps.xml-webserver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create the Repository===&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# ./createrepo.sh  /mnt/cdimages/CentOS-5.5-i386-webserver&lt;br /&gt;
Doing: rm -f /mnt/cdimages/CentOS-5.5-i386-webserver/repodata/*&lt;br /&gt;
Doing: cp -v /tmp/comps.xml-webserver /mnt/cdimages/CentOS-5.5-i386-webserver/repodata/comps.xml&lt;br /&gt;
`/tmp/comps.xml-webserver' -&amp;gt; `/mnt/cdimages/CentOS-5.5-i386-webserver/repodata/comps.xml'&lt;br /&gt;
Doing: createrepo -u media://1272587247.016243 -g /mnt/cdimages/CentOS-5.5-i386-webserver/repodata/comps.xml /mnt/cdimages/CentOS-5.5-i386-webserver/&lt;br /&gt;
211/211 - CentOS/fipscheck-lib-1.2.0-1.el5.i386.rpm                             &lt;br /&gt;
Saving Primary metadata&lt;br /&gt;
Saving file lists metadata&lt;br /&gt;
Saving other metadata&lt;br /&gt;
[root@buildhost-32 tmp]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Build the ISO file out of your build-tree===&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# ./buildiso.sh  /mnt/cdimages/CentOS-5.5-i386-webserver&lt;br /&gt;
rm: cannot remove `/mnt/cdimages//CentOS-5.5-i386-WebserverEdition.iso': No such file or directory&lt;br /&gt;
INFO:	UTF-8 character encoding detected by locale settings.&lt;br /&gt;
	Assuming UTF-8 encoded filenames on source filesystem,&lt;br /&gt;
	use -input-charset to override.&lt;br /&gt;
mkisofs 2.01 (cpu-pc-linux-gnu)&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-i386-webserver&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-i386-webserver/images&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-i386-webserver/CentOS&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-i386-webserver/isolinux&lt;br /&gt;
Excluded: /mnt/cdimages/CentOS-5.5-i386-webserver/isolinux/TRANS.TBL&lt;br /&gt;
Excluded by match: /mnt/cdimages/CentOS-5.5-i386-webserver/isolinux/boot.cat&lt;br /&gt;
Using RPM_G000.;1 for  /RPM-GPG-KEY-CentOS-5 (RPM-GPG-KEY-beta)&lt;br /&gt;
Using RELEA000.;1 for  /RELEASE-NOTES-en (RELEASE-NOTES-en_US)&lt;br /&gt;
Using RELEA000.HTM;1 for  /RELEASE-NOTES-es.html (RELEASE-NOTES-en.html)&lt;br /&gt;
Using RELEA001.HTM;1 for  /RELEASE-NOTES-en.html (RELEASE-NOTES-en_US.html)&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
Writing:   Initial Padblock                        Start Block 0&lt;br /&gt;
Done with: Initial Padblock                        Block(s)    16&lt;br /&gt;
Writing:   Primary Volume Descriptor               Start Block 16&lt;br /&gt;
Done with: Primary Volume Descriptor               Block(s)    1&lt;br /&gt;
Writing:   Eltorito Volume Descriptor              Start Block 17&lt;br /&gt;
Size of boot image is 4 sectors -&amp;gt; No emulation&lt;br /&gt;
Done with: Eltorito Volume Descriptor              Block(s)    1&lt;br /&gt;
Writing:   Joliet Volume Descriptor                Start Block 18&lt;br /&gt;
Done with: Joliet Volume Descriptor                Block(s)    1&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
Writing:   Joliet directory tree                   Start Block 53&lt;br /&gt;
Done with: Joliet directory tree                   Block(s)    17&lt;br /&gt;
Writing:   Directory tree cleanup                  Start Block 70&lt;br /&gt;
Done with: Directory tree cleanup                  Block(s)    0&lt;br /&gt;
Writing:   Extension record                        Start Block 70&lt;br /&gt;
Done with: Extension record                        Block(s)    1&lt;br /&gt;
Writing:   The File(s)                             Start Block 71&lt;br /&gt;
  2.34% done, estimate finish Wed Jan  5 12:22:39 2011&lt;br /&gt;
  4.68% done, estimate finish Wed Jan  5 12:22:18 2011&lt;br /&gt;
  7.02% done, estimate finish Wed Jan  5 12:22:11 2011&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
 91.23% done, estimate finish Wed Jan  5 12:22:23 2011&lt;br /&gt;
 93.57% done, estimate finish Wed Jan  5 12:22:22 2011&lt;br /&gt;
 95.90% done, estimate finish Wed Jan  5 12:22:22 2011&lt;br /&gt;
 98.24% done, estimate finish Wed Jan  5 12:22:24 2011&lt;br /&gt;
Total translation table size: 64086&lt;br /&gt;
Total rockridge attributes bytes: 27318&lt;br /&gt;
Total directory bytes: 45056&lt;br /&gt;
Path table size(bytes): 98&lt;br /&gt;
Done with: The File(s)                             Block(s)    213539&lt;br /&gt;
Writing:   Ending Padblock                         Start Block 213610&lt;br /&gt;
Done with: Ending Padblock                         Block(s)    150&lt;br /&gt;
Max brk space used 3f000&lt;br /&gt;
213760 extents written (417 MB)&lt;br /&gt;
[root@buildhost-32 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thats all. The ISO file is ready. Burn it on a CD, or use directly, or whatever suits you. &lt;br /&gt;
&lt;br /&gt;
End of steps. The task of building the custom CENTOS ISO is successfully completed at this point.&lt;br /&gt;
&lt;br /&gt;
==Scripts used to test RPMs, create repo, and build ISO==&lt;br /&gt;
===testrun.sh (Used for testing a directory full of RPMs)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# cat testrun.sh &lt;br /&gt;
#!/bin/bash&lt;br /&gt;
TESTDIR=$1&lt;br /&gt;
if [ &amp;quot;$TESTDIR&amp;quot; == &amp;quot;&amp;quot; ] ; then&lt;br /&gt;
  echo &amp;quot;You should provide the name of test directory containing RPMS. Please specify full path.&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
RPMTEST=&amp;quot;/tmp/RPMtest&amp;quot;&lt;br /&gt;
rpm --initdb --dbpath ${RPMTEST} &lt;br /&gt;
rpm --test --dbpath ${RPMTEST} --root ${RPMTEST} -ivh ${TESTDIR}/*.rpm&lt;br /&gt;
[root@buildhost-32 tmp]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# ./testrun.sh webserver/&lt;br /&gt;
warning: webserver//apr-1.2.7-11.el5_3.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897&lt;br /&gt;
Preparing...                ########################################### [100%]&lt;br /&gt;
[root@buildhost-32 tmp]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===createrepo.sh (Used to create repository)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# cat createrepo.sh &lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BUILDDIR=$1&lt;br /&gt;
if [ &amp;quot;${BUILDDIR}&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
  echo &amp;quot;Build Directory cannot be empty. Please specify full path.&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
COMPSFILE=&amp;quot;/tmp/comps.xml-webserver&amp;quot;&lt;br /&gt;
&lt;br /&gt;
export DISCINFO=$(head -1 ${BUILDDIR}/.discinfo)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Doing: rm -f ${BUILDDIR}/repodata/*&amp;quot;&lt;br /&gt;
rm -f ${BUILDDIR}/repodata/* &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Doing: cp -v ${COMPSFILE} ${BUILDDIR}/repodata/comps.xml&amp;quot;&lt;br /&gt;
cp -v ${COMPSFILE} ${BUILDDIR}/repodata/comps.xml &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Doing: createrepo -u &amp;quot;media://${DISCINFO}&amp;quot; -g ${BUILDDIR}/repodata/comps.xml ${BUILDDIR}/&amp;quot;&lt;br /&gt;
createrepo  -u &amp;quot;media://${DISCINFO}&amp;quot; -g ${BUILDDIR}/repodata/comps.xml ${BUILDDIR}/&lt;br /&gt;
[root@buildhost-32 tmp]# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# ./createrepo.sh /mnt/cdimages/CentOS-5.5-i386-webserver&lt;br /&gt;
Doing: rm -f /mnt/cdimages/CentOS-5.5-i386-webserver/repodata/*&lt;br /&gt;
Doing: cp -v /tmp/comps.xml-webserver /mnt/cdimages/CentOS-5.5-i386-webserver/repodata/comps.xml&lt;br /&gt;
`/tmp/comps.xml-webserver' -&amp;gt; `/mnt/cdimages/CentOS-5.5-i386-webserver/repodata/comps.xml'&lt;br /&gt;
Doing: createrepo -u media://1272587247.016243 -g /mnt/cdimages/CentOS-5.5-i386-webserver/repodata/comps.xml /mnt/cdimages/CentOS-5.5-i386-webserver/&lt;br /&gt;
211/211 - CentOS/fipscheck-lib-1.2.0-1.el5.i386.rpm                             &lt;br /&gt;
Saving Primary metadata&lt;br /&gt;
Saving file lists metadata&lt;br /&gt;
Saving other metadata&lt;br /&gt;
[root@buildhost-32 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===buildiso.sh (Used to build the ISO file)===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# cat buildiso.sh &lt;br /&gt;
#!/bin/bash&lt;br /&gt;
BUILDDIR=$1&lt;br /&gt;
if [ &amp;quot;${BUILDDIR}&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
  echo &amp;quot;Build Directory cannot be empty. Please specify full path.&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
ISODIR=&amp;quot;/mnt/cdimages/&amp;quot;&lt;br /&gt;
ISOFILE=&amp;quot;CentOS-5.5-i386-HypervisorEdition.iso&amp;quot;&lt;br /&gt;
READMEFILE=&amp;quot;README.WBITT&amp;quot;&lt;br /&gt;
KICKSTARTFILE=&amp;quot;sample-kickstart.ks&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Remove the non-english RELEASE-NOTES. &lt;br /&gt;
rm -f ${BUILDDIR}/RELEASE-NOTES-[a-d,f-z]*&lt;br /&gt;
&lt;br /&gt;
# Remove NOTES directory, which contains RELEASE-NOTES in plethora of different languages.&lt;br /&gt;
rm -f ${BUILDDIR}/NOTES*&lt;br /&gt;
&lt;br /&gt;
# Remove the target ISO file, if it already exists.&lt;br /&gt;
rm ${ISODIR}/${ISOFILE}&lt;br /&gt;
&lt;br /&gt;
# [OPTIONAL] Create the README file in the CD root:&lt;br /&gt;
cp ${READMEFILE} ${BUILDDIR}/&lt;br /&gt;
&lt;br /&gt;
# [OPTIONAL] Create a sample kickstart file in the CD root:&lt;br /&gt;
cp ${KICKSTARTFILE} ${BUILDDIR}/&lt;br /&gt;
&lt;br /&gt;
# Finally, create the ISO.&lt;br /&gt;
mkisofs -r -R -J -T -v  \&lt;br /&gt;
   -no-emul-boot -boot-load-size 4 -boot-info-table \&lt;br /&gt;
   -V &amp;quot;CentOS-5.5-Webserver 32-bit&amp;quot; -p &amp;quot;KamranAzeem (kamran@wbitt.com)&amp;quot;  -A &amp;quot;CentOS-5.5-Webserver-Edition 32 bit-2011/01/08&amp;quot; \&lt;br /&gt;
   -b isolinux/isolinux.bin -c isolinux/boot.cat  -x &amp;quot;lost+found&amp;quot; \&lt;br /&gt;
   -o ${ISODIR}/${ISOFILE} ${BUILDDIR}&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-32 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# ./buildiso.sh  /mnt/cdimages/CentOS-5.5-i386-webserver&lt;br /&gt;
rm: cannot remove `/mnt/cdimages//CentOS-5.5-i386-WebserverEdition.iso': No such file or directory&lt;br /&gt;
INFO:	UTF-8 character encoding detected by locale settings.&lt;br /&gt;
	Assuming UTF-8 encoded filenames on source filesystem,&lt;br /&gt;
	use -input-charset to override.&lt;br /&gt;
mkisofs 2.01 (cpu-pc-linux-gnu)&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-i386-webserver&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-i386-webserver/images&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-i386-webserver/CentOS&lt;br /&gt;
Scanning /mnt/cdimages/CentOS-5.5-i386-webserver/isolinux&lt;br /&gt;
Excluded: /mnt/cdimages/CentOS-5.5-i386-webserver/isolinux/TRANS.TBL&lt;br /&gt;
Excluded by match: /mnt/cdimages/CentOS-5.5-i386-webserver/isolinux/boot.cat&lt;br /&gt;
Using RPM_G000.;1 for  /RPM-GPG-KEY-CentOS-5 (RPM-GPG-KEY-beta)&lt;br /&gt;
Using RELEA000.;1 for  /RELEASE-NOTES-en (RELEASE-NOTES-en_US)&lt;br /&gt;
Using RELEA000.HTM;1 for  /RELEASE-NOTES-es.html (RELEASE-NOTES-en.html)&lt;br /&gt;
Using RELEA001.HTM;1 for  /RELEASE-NOTES-en.html (RELEASE-NOTES-en_US.html)&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
Writing:   Initial Padblock                        Start Block 0&lt;br /&gt;
Done with: Initial Padblock                        Block(s)    16&lt;br /&gt;
Writing:   Primary Volume Descriptor               Start Block 16&lt;br /&gt;
Done with: Primary Volume Descriptor               Block(s)    1&lt;br /&gt;
Writing:   Eltorito Volume Descriptor              Start Block 17&lt;br /&gt;
Size of boot image is 4 sectors -&amp;gt; No emulation&lt;br /&gt;
Done with: Eltorito Volume Descriptor              Block(s)    1&lt;br /&gt;
Writing:   Joliet Volume Descriptor                Start Block 18&lt;br /&gt;
Done with: Joliet Volume Descriptor                Block(s)    1&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
Writing:   Joliet directory tree                   Start Block 53&lt;br /&gt;
Done with: Joliet directory tree                   Block(s)    17&lt;br /&gt;
Writing:   Directory tree cleanup                  Start Block 70&lt;br /&gt;
Done with: Directory tree cleanup                  Block(s)    0&lt;br /&gt;
Writing:   Extension record                        Start Block 70&lt;br /&gt;
Done with: Extension record                        Block(s)    1&lt;br /&gt;
Writing:   The File(s)                             Start Block 71&lt;br /&gt;
  2.34% done, estimate finish Wed Jan  5 12:22:39 2011&lt;br /&gt;
  4.68% done, estimate finish Wed Jan  5 12:22:18 2011&lt;br /&gt;
  7.02% done, estimate finish Wed Jan  5 12:22:11 2011&lt;br /&gt;
. . . &lt;br /&gt;
. . . &lt;br /&gt;
 91.23% done, estimate finish Wed Jan  5 12:22:23 2011&lt;br /&gt;
 93.57% done, estimate finish Wed Jan  5 12:22:22 2011&lt;br /&gt;
 95.90% done, estimate finish Wed Jan  5 12:22:22 2011&lt;br /&gt;
 98.24% done, estimate finish Wed Jan  5 12:22:24 2011&lt;br /&gt;
Total translation table size: 64086&lt;br /&gt;
Total rockridge attributes bytes: 27318&lt;br /&gt;
Total directory bytes: 45056&lt;br /&gt;
Path table size(bytes): 98&lt;br /&gt;
Done with: The File(s)                             Block(s)    213539&lt;br /&gt;
Writing:   Ending Padblock                         Start Block 213610&lt;br /&gt;
Done with: Ending Padblock                         Block(s)    150&lt;br /&gt;
Max brk space used 3f000&lt;br /&gt;
213760 extents written (417 MB)&lt;br /&gt;
[root@buildhost-32 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Complete list of RPMS (for our CENTOS 5.5 i386 Webserver Edition)==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# ls webserver/*.rpm | wc -l&lt;br /&gt;
211&lt;br /&gt;
&lt;br /&gt;
[root@buildhost-32 tmp]# du -sh webserver/&lt;br /&gt;
250M	webserver/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@buildhost-32 tmp]# ls -tr1 webserver/*.rpm&lt;br /&gt;
perl-Archive-Tar-1.30-1.fc6.noarch.rpm&lt;br /&gt;
perl-libwww-perl-5.805-1.1.1.noarch.rpm&lt;br /&gt;
perl-IO-Zlib-1.04-4.2.1.noarch.rpm&lt;br /&gt;
perl-IO-Socket-SSL-1.01-1.fc6.noarch.rpm&lt;br /&gt;
perl-IO-Socket-INET6-2.51-2.fc6.noarch.rpm&lt;br /&gt;
perl-HTML-Tagset-3.10-2.1.1.noarch.rpm&lt;br /&gt;
perl-HTML-Parser-3.55-1.fc6.i386.rpm&lt;br /&gt;
perl-Digest-SHA1-2.11-1.2.1.i386.rpm&lt;br /&gt;
perl-Digest-HMAC-1.01-15.noarch.rpm&lt;br /&gt;
perl-Compress-Zlib-1.42-1.fc6.i386.rpm&lt;br /&gt;
perl-URI-1.35-3.noarch.rpm&lt;br /&gt;
perl-Socket6-0.19-3.fc6.i386.rpm&lt;br /&gt;
perl-Net-SSLeay-1.30-4.fc6.i386.rpm&lt;br /&gt;
perl-Net-IP-1.25-2.fc6.noarch.rpm&lt;br /&gt;
perl-Net-DNS-0.59-3.el5.i386.rpm&lt;br /&gt;
procmail-3.22-17.1.el5.centos.i386.rpm&lt;br /&gt;
python-sqlite-1.1.7-1.2.1.i386.rpm&lt;br /&gt;
python-elementtree-1.2.6-5.i386.rpm&lt;br /&gt;
rootfiles-8.1-1.1.1.noarch.rpm&lt;br /&gt;
rsync-2.6.8-3.1.i386.rpm&lt;br /&gt;
sed-4.1.5-5.fc6.i386.rpm&lt;br /&gt;
setools-3.0-3.el5.i386.rpm&lt;br /&gt;
slang-2.0.6-4.el5.i386.rpm&lt;br /&gt;
termcap-5.5-1.20060701.1.noarch.rpm&lt;br /&gt;
webalizer-2.01_10-30.1.i386.rpm&lt;br /&gt;
which-2.16-7.i386.rpm&lt;br /&gt;
xferstats-2.16-14.1.i386.rpm&lt;br /&gt;
xorg-x11-filesystem-7.1-2.fc6.noarch.rpm&lt;br /&gt;
zlib-1.2.3-3.i386.rpm&lt;br /&gt;
MAKEDEV-3.23-1.2.i386.rpm&lt;br /&gt;
aspell-0.60.3-7.1.i386.rpm&lt;br /&gt;
aspell-en-6.0-2.1.i386.rpm&lt;br /&gt;
basesystem-8.0-5.1.1.el5.centos.noarch.rpm&lt;br /&gt;
crontabs-1.10-8.noarch.rpm&lt;br /&gt;
distcache-1.4.5-14.1.i386.rpm&lt;br /&gt;
gawk-3.1.5-14.el5.i386.rpm&lt;br /&gt;
gdbm-1.8.0-26.2.1.i386.rpm&lt;br /&gt;
gmp-4.1.4-10.el5.i386.rpm&lt;br /&gt;
info-4.8-14.el5.i386.rpm&lt;br /&gt;
iptraf-3.0.0-5.el5.i386.rpm&lt;br /&gt;
keyutils-libs-1.2-1.el5.i386.rpm&lt;br /&gt;
libXpm-3.5.5-3.i386.rpm&lt;br /&gt;
libXdmcp-1.0.1-2.1.i386.rpm&lt;br /&gt;
libXau-1.0.1-3.1.i386.rpm&lt;br /&gt;
libattr-2.4.32-1.1.i386.rpm&lt;br /&gt;
libcap-1.10-26.i386.rpm&lt;br /&gt;
libgpg-error-1.4-2.i386.rpm&lt;br /&gt;
libjpeg-6b-37.i386.rpm&lt;br /&gt;
libidn-0.6.5-1.1.i386.rpm&lt;br /&gt;
libtermcap-2.0.8-46.1.i386.rpm&lt;br /&gt;
libsysfs-2.0.0-6.i386.rpm&lt;br /&gt;
libusb-0.1.12-5.1.i386.rpm&lt;br /&gt;
mailcap-2.1.23-1.fc6.noarch.rpm&lt;br /&gt;
mktemp-1.5-23.2.2.i386.rpm&lt;br /&gt;
mingetty-1.07-5.2.2.i386.rpm&lt;br /&gt;
ncurses-5.5-24.20060715.i386.rpm&lt;br /&gt;
nmap-4.11-1.1.i386.rpm&lt;br /&gt;
cracklib-2.8.9-3.3.i386.rpm&lt;br /&gt;
cracklib-dicts-2.8.9-3.3.i386.rpm&lt;br /&gt;
newt-perl-1.08-9.2.2.i386.rpm&lt;br /&gt;
telnet-0.17-39.el5.i386.rpm&lt;br /&gt;
pcre-6.6-2.el5_1.7.i386.rpm&lt;br /&gt;
fontconfig-2.4.1-7.el5.i386.rpm&lt;br /&gt;
crypto-utils-2.3-2.el5.i386.rpm&lt;br /&gt;
diffutils-2.8.1-15.2.3.el5.i386.rpm&lt;br /&gt;
libsmi-0.4.5-2.el5.i386.rpm&lt;br /&gt;
pkgconfig-0.21-2.el5.i386.rpm&lt;br /&gt;
python-iniparse-0.2.3-4.el5.noarch.rpm&lt;br /&gt;
postfix-2.3.3-2.1.el5_2.i386.rpm&lt;br /&gt;
bzip2-libs-1.0.3-4.el5_2.i386.rpm&lt;br /&gt;
bzip2-1.0.3-4.el5_2.i386.rpm&lt;br /&gt;
bash-3.2-24.el5.i386.rpm&lt;br /&gt;
dovecot-1.0.7-7.el5.i386.rpm&lt;br /&gt;
elfutils-libelf-0.137-3.el5.i386.rpm&lt;br /&gt;
ftp-0.17-35.el5.i386.rpm&lt;br /&gt;
gnupg-1.4.5-14.i386.rpm&lt;br /&gt;
logrotate-3.7.4-9.i386.rpm&lt;br /&gt;
mcstrans-0.2.11-3.el5.i386.rpm&lt;br /&gt;
perl-DBI-1.52-2.el5.i386.rpm&lt;br /&gt;
perl-DBD-MySQL-3.0007-2.el5.i386.rpm&lt;br /&gt;
python-urlgrabber-3.1.0-5.el5.noarch.rpm&lt;br /&gt;
sgpio-1.2.0_10-2.el5.i386.rpm&lt;br /&gt;
spamassassin-3.2.5-1.el5.i386.rpm&lt;br /&gt;
tmpwatch-2.9.7-1.1.el5.2.i386.rpm&lt;br /&gt;
SysVinit-2.86-15.el5.i386.rpm&lt;br /&gt;
traceroute-2.0.1-5.el5.i386.rpm&lt;br /&gt;
zip-2.31-2.el5.i386.rpm&lt;br /&gt;
redhat-logos-4.9.99-11.el5.centos.noarch.rpm&lt;br /&gt;
glib2-2.12.3-4.el5_3.1.i386.rpm&lt;br /&gt;
mod_auth_mysql-3.0.0-3.2.el5_3.i386.rpm&lt;br /&gt;
libpng-1.2.10-7.1.el5_3.2.i386.rpm&lt;br /&gt;
file-4.17-15.el5_3.1.i386.rpm&lt;br /&gt;
freetype-2.2.1-21.el5_3.i386.rpm&lt;br /&gt;
wireshark-1.0.8-1.el5_3.1.i386.rpm&lt;br /&gt;
nss-3.12.3.99.3-1.el5.centos.2.i386.rpm&lt;br /&gt;
apr-1.2.7-11.el5_3.1.i386.rpm&lt;br /&gt;
libxml2-2.6.26-2.1.2.8.i386.rpm&lt;br /&gt;
gnutls-1.4.1-3.el5_3.5.i386.rpm&lt;br /&gt;
db4-4.3.29-10.el5.i386.rpm&lt;br /&gt;
e2fsprogs-1.39-23.el5.i386.rpm&lt;br /&gt;
e2fsprogs-libs-1.39-23.el5.i386.rpm&lt;br /&gt;
fipscheck-1.2.0-1.el5.i386.rpm&lt;br /&gt;
findutils-4.2.27-6.el5.i386.rpm&lt;br /&gt;
fipscheck-lib-1.2.0-1.el5.i386.rpm&lt;br /&gt;
grub-0.97-13.5.i386.rpm&lt;br /&gt;
libgcrypt-1.4.4-5.el5.i386.rpm&lt;br /&gt;
libsemanage-1.9.1-4.4.el5.i386.rpm&lt;br /&gt;
libselinux-utils-1.33.4-5.5.el5.i386.rpm&lt;br /&gt;
libselinux-python-1.33.4-5.5.el5.i386.rpm&lt;br /&gt;
libselinux-1.33.4-5.5.el5.i386.rpm&lt;br /&gt;
libX11-1.0.3-11.el5.i386.rpm&lt;br /&gt;
m2crypto-0.16-6.el5.6.i386.rpm&lt;br /&gt;
perl-5.8.8-27.el5.i386.rpm&lt;br /&gt;
rpm-4.4.2.3-18.el5.i386.rpm&lt;br /&gt;
python-2.4.3-27.el5.i386.rpm&lt;br /&gt;
popt-1.10.2.3-18.el5.i386.rpm&lt;br /&gt;
rpm-python-4.4.2.3-18.el5.i386.rpm&lt;br /&gt;
rpm-libs-4.4.2.3-18.el5.i386.rpm&lt;br /&gt;
sqlite-3.3.6-5.i386.rpm&lt;br /&gt;
tcl-8.4.13-4.el5.i386.rpm&lt;br /&gt;
vim-minimal-7.0.109-6.el5.i386.rpm&lt;br /&gt;
udev-095-14.21.el5.i386.rpm&lt;br /&gt;
yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm&lt;br /&gt;
iputils-20020927-46.el5.i386.rpm&lt;br /&gt;
grep-2.5.1-55.el5.i386.rpm&lt;br /&gt;
tcp_wrappers-7.6-40.7.el5.i386.rpm&lt;br /&gt;
setup-2.5.58-7.el5.noarch.rpm&lt;br /&gt;
readline-5.1-3.el5.i386.rpm&lt;br /&gt;
psmisc-22.2-7.i386.rpm&lt;br /&gt;
initscripts-8.45.30-2.el5.centos.i386.rpm&lt;br /&gt;
postgresql-libs-8.1.18-2.el5_4.1.i386.rpm&lt;br /&gt;
squirrelmail-1.4.8-5.el5.centos.10.noarch.rpm&lt;br /&gt;
elinks-0.11.1-6.el5_4.1.i386.rpm&lt;br /&gt;
nspr-4.7.6-1.el5_4.i386.rpm&lt;br /&gt;
iptables-1.3.5-5.3.el5_4.1.i386.rpm&lt;br /&gt;
wget-1.11.4-2.el5_4.1.i386.rpm&lt;br /&gt;
expat-1.95.8-8.3.el5_4.2.i386.rpm&lt;br /&gt;
vsftpd-2.0.5-16.el5_4.1.i386.rpm&lt;br /&gt;
gd-2.0.33-9.4.el5_4.2.i386.rpm&lt;br /&gt;
vixie-cron-4.1-77.el5_4.1.i386.rpm&lt;br /&gt;
krb5-libs-1.6.1-36.el5_4.1.i386.rpm&lt;br /&gt;
yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm&lt;br /&gt;
util-linux-2.13-0.52.el5_4.1.i386.rpm&lt;br /&gt;
gzip-1.3.5-11.el5.centos.1.i386.rpm&lt;br /&gt;
coreutils-5.97-23.el5_4.2.i386.rpm&lt;br /&gt;
mysql-5.0.77-4.el5_4.2.i386.rpm&lt;br /&gt;
mysql-server-5.0.77-4.el5_4.2.i386.rpm&lt;br /&gt;
pam-0.99.6.2-6.el5_4.1.i386.rpm&lt;br /&gt;
tzdata-2010e-1.el5.noarch.rpm&lt;br /&gt;
cpio-2.6-23.el5_4.1.i386.rpm&lt;br /&gt;
cyrus-sasl-lib-2.1.22-5.el5_4.3.i386.rpm&lt;br /&gt;
cyrus-sasl-2.1.22-5.el5_4.3.i386.rpm&lt;br /&gt;
openssl-0.9.8e-12.el5_4.6.i686.rpm&lt;br /&gt;
yum-3.2.22-26.el5.centos.noarch.rpm&lt;br /&gt;
audit-libs-python-1.7.17-3.el5.i386.rpm&lt;br /&gt;
audit-libs-1.7.17-3.el5.i386.rpm&lt;br /&gt;
apr-util-1.2.7-11.el5.i386.rpm&lt;br /&gt;
centos-release-notes-5.5-0.i386.rpm&lt;br /&gt;
centos-release-5-5.el5.centos.i386.rpm&lt;br /&gt;
binutils-2.17.50.0.6-14.el5.i386.rpm&lt;br /&gt;
curl-7.15.5-9.el5.i386.rpm&lt;br /&gt;
chkconfig-1.3.30.2-2.el5.i386.rpm&lt;br /&gt;
checkpolicy-1.33.1-6.el5.i386.rpm&lt;br /&gt;
dmraid-events-1.0.0.rc13-63.el5.i386.rpm&lt;br /&gt;
dmraid-1.0.0.rc13-63.el5.i386.rpm&lt;br /&gt;
dhclient-3.0.5-23.el5.i386.rpm&lt;br /&gt;
device-mapper-multipath-0.4.7-34.el5.i386.rpm&lt;br /&gt;
device-mapper-event-1.02.39-1.el5.i386.rpm&lt;br /&gt;
device-mapper-1.02.39-1.el5.i386.rpm&lt;br /&gt;
filesystem-2.4.0-3.el5.i386.rpm&lt;br /&gt;
ethtool-6-4.el5.i386.rpm&lt;br /&gt;
glibc-common-2.5-49.i386.rpm&lt;br /&gt;
glibc-2.5-49.i686.rpm&lt;br /&gt;
httpd-2.2.3-43.el5.centos.i386.rpm&lt;br /&gt;
hmaccalc-0.9.6-3.el5.i386.rpm&lt;br /&gt;
kernel-2.6.18-194.el5.i686.rpm&lt;br /&gt;
iproute-2.6.18-11.el5.i386.rpm&lt;br /&gt;
libacl-2.2.39-6.el5.i386.rpm&lt;br /&gt;
less-436-2.el5.i386.rpm&lt;br /&gt;
kpartx-0.4.7-34.el5.i386.rpm&lt;br /&gt;
kernel-xen-2.6.18-194.el5.i686.rpm&lt;br /&gt;
libgcc-4.1.2-48.el5.i386.rpm&lt;br /&gt;
libsepol-1.15.2-3.el5.i386.rpm&lt;br /&gt;
libpcap-0.9.4-15.el5.i386.rpm&lt;br /&gt;
libstdc++-4.1.2-48.el5.i386.rpm&lt;br /&gt;
lvm2-2.02.56-8.el5.i386.rpm&lt;br /&gt;
module-init-tools-3.3-0.pre3.1.60.el5.i386.rpm&lt;br /&gt;
mod_ssl-2.2.3-43.el5.centos.i386.rpm&lt;br /&gt;
mkinitrd-5.1.19.6-61.i386.rpm&lt;br /&gt;
net-tools-1.60-81.el5.i386.rpm&lt;br /&gt;
nash-5.1.19.6-61.i386.rpm&lt;br /&gt;
openldap-2.3.43-12.el5.i386.rpm&lt;br /&gt;
newt-0.52.2-15.el5.i386.rpm&lt;br /&gt;
openssh-server-4.3p2-41.el5.i386.rpm&lt;br /&gt;
openssh-clients-4.3p2-41.el5.i386.rpm&lt;br /&gt;
openssh-4.3p2-41.el5.i386.rpm&lt;br /&gt;
php-gd-5.1.6-27.el5.i386.rpm&lt;br /&gt;
php-common-5.1.6-27.el5.i386.rpm&lt;br /&gt;
php-cli-5.1.6-27.el5.i386.rpm&lt;br /&gt;
php-5.1.6-27.el5.i386.rpm&lt;br /&gt;
policycoreutils-1.33.12-14.8.el5.i386.rpm&lt;br /&gt;
php-pdo-5.1.6-27.el5.i386.rpm&lt;br /&gt;
php-mysql-5.1.6-27.el5.i386.rpm&lt;br /&gt;
php-mbstring-5.1.6-27.el5.i386.rpm&lt;br /&gt;
rsyslog-3.22.1-3.el5.i386.rpm&lt;br /&gt;
procps-3.2.7-16.el5.i386.rpm&lt;br /&gt;
shadow-utils-4.0.17-15.el5.i386.rpm&lt;br /&gt;
selinux-policy-targeted-2.4.6-279.el5.noarch.rpm&lt;br /&gt;
selinux-policy-2.4.6-279.el5.noarch.rpm&lt;br /&gt;
tcpdump-3.9.4-15.el5.i386.rpm&lt;br /&gt;
tar-1.15.1-30.el5.i386.rpm&lt;br /&gt;
[root@buildhost-32 tmp]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Screen Shots==&lt;br /&gt;
[[File:Test-webserver-1.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test-webserver-2.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test-webserver-3.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test-webserver-4.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test-webserver-5.png]]&lt;br /&gt;
&lt;br /&gt;
==Download the ISO (418 MB)==&lt;br /&gt;
&lt;br /&gt;
Version: 0.2&lt;br /&gt;
&lt;br /&gt;
Built: 10 Jan 2011 &lt;br /&gt;
&lt;br /&gt;
Size: 418 MB&lt;br /&gt;
&lt;br /&gt;
URL: http://downloads.wbitt.com/downloads/CentOS-5.5-i386-WebserverEdition-0.2.iso&lt;br /&gt;
&lt;br /&gt;
Check the download directory for the MD5 and SHA1 checksums.&lt;/div&gt;</description>
			<pubDate>Sun, 13 Mar 2011 11:27:18 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:CentOS_5.5_i386_Webserver_Edition_(Minimal)</comments>		</item>
		<item>
			<title>Why migrate from Windows to Linux? and How?</title>
			<link>http://cooker.wbitt.com/index.php/Why_migrate_from_Windows_to_Linux%3F_and_How%3F</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is where we will provide all the &amp;lt;b&amp;gt;reasoning&amp;lt;/b&amp;gt; as, why should you migrate away from windows to Linux?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Further readings / References===&lt;br /&gt;
* http://en.wikipedia.org/wiki/Open-source_software&lt;br /&gt;
* http://www.togaware.com/linux/survivor/Advocacy.html&lt;br /&gt;
* http://www.o3magazine.com/0/7.html&lt;br /&gt;
* http://news.cnet.com/2008-1082_3-5065859.html&lt;br /&gt;
* http://www.olocity.com/blogs/&lt;br /&gt;
* http://www.sadcpf.org/2009-guidelines_OSS_migration-v.03.pdf&lt;br /&gt;
* http://www.dedoimedo.com/computers/ie_linux.html&lt;/div&gt;</description>
			<pubDate>Wed, 23 Feb 2011 05:06:14 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Why_migrate_from_Windows_to_Linux%3F_and_How%3F</comments>		</item>
		<item>
			<title>Why migrate from Windows to Linux? and How?</title>
			<link>http://cooker.wbitt.com/index.php/Why_migrate_from_Windows_to_Linux%3F_and_How%3F</link>
			<description>&lt;p&gt;Kasim:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is where we will provide all the reasoning as, why should you migrate away from windows to Linux?&lt;br /&gt;
&lt;br /&gt;
==Heading 2==&lt;br /&gt;
some text.&lt;br /&gt;
&lt;br /&gt;
===Heading 3===&lt;br /&gt;
Some text.&lt;br /&gt;
* bullet item 1&lt;br /&gt;
* bullet item 2&lt;br /&gt;
&lt;br /&gt;
# list item 1&lt;br /&gt;
# list item 2&lt;br /&gt;
## list item 2.1&lt;br /&gt;
# list item 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Further readings / References===&lt;br /&gt;
* http://en.wikipedia.org/wiki/Open-source_software&lt;br /&gt;
* http://www.togaware.com/linux/survivor/Advocacy.html&lt;br /&gt;
* http://www.o3magazine.com/0/7.html&lt;br /&gt;
* http://news.cnet.com/2008-1082_3-5065859.html&lt;br /&gt;
* http://www.olocity.com/blogs/&lt;br /&gt;
* http://www.sadcpf.org/2009-guidelines_OSS_migration-v.03.pdf&lt;br /&gt;
* http://www.dedoimedo.com/computers/ie_linux.html&lt;/div&gt;</description>
			<pubDate>Wed, 23 Feb 2011 05:05:25 GMT</pubDate>			<dc:creator>Kasim</dc:creator>			<comments>http://cooker.wbitt.com/index.php/Talk:Why_migrate_from_Windows_to_Linux%3F_and_How%3F</comments>		</item>
	</channel>
</rss>