<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>/home/jeevanullas</title>
	<atom:link href="http://jeevanullas.in/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeevanullas.in/blog</link>
	<description>Computer Geek interested in Open Source Software and Cloud Computing</description>
	<lastBuildDate>Tue, 26 Feb 2013 11:50:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>The Story of AWS JAVA SDK and Eucalyptus</title>
		<link>http://jeevanullas.in/blog/2013/02/the-story-of-aws-java-sdk-and-eucalyptus/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-story-of-aws-java-sdk-and-eucalyptus</link>
		<comments>http://jeevanullas.in/blog/2013/02/the-story-of-aws-java-sdk-and-eucalyptus/#comments</comments>
		<pubDate>Tue, 26 Feb 2013 11:50:49 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Eucalyptus]]></category>
		<category><![CDATA[AWS JAVA SDK]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=278</guid>
		<description><![CDATA[Many people have asked this to us, how can I use AWS JAVA SDK with Eucalyptus. In the past we had lot of trouble configuring this , but not anymore. As you might or might not know, Eucalyptus 3.3.0 is bringing better support for the AWS JAVA SDK and the developers are working hard , [...]]]></description>
				<content:encoded><![CDATA[<p>Many people have asked this to us, how can I use AWS JAVA SDK with Eucalyptus. In the past we had lot of trouble configuring this , but not anymore.</p>
<p>As you might or might not know, Eucalyptus 3.3.0 is bringing better support for the AWS JAVA SDK and the developers are working hard , that every aspect is covered in some way or the other.</p>
<p>If you want to read more on that, I would recommend the following:</p>
<p><a href="https://github.com/eucalyptus/architecture/wiki/aws_java_sdk-3.3-design">https://github.com/eucalyptus/architecture/wiki/aws_java_sdk-3.3-design</a><br />
<a href="https://github.com/eucalyptus/architecture/wiki/aws_java_sdk-3.3-spec">https://github.com/eucalyptus/architecture/wiki/aws_java_sdk-3.3-spec</a></p>
<p>Those 2 links will give you a decent idea of what is coming in 3.3.0 with regards to AWS JAVA SDK support. </p>
<p>Now on to this blog post, well 3.3.0 is currently under development, the brave hearts can go and grab the source from here <a href="https://github.com/eucalyptus/eucalyptus">https://github.com/eucalyptus/eucalyptus</a> , in the testing branch , lives the bits</p>
<p>If you are not so brave and you are running Eucalyptus 3.1.2 or 3.2.0/3.2.1 well this blog post is for you, because yes, you can use AWS JAVA SDK 1.3.14 against your Eucalyptus private cloud.</p>
<p>I spent considerable time back in July 2012 to figure out what is going on with this thing and I came up with 2 tickets in our bug tracking system which are available here</p>
<p><a href="https://eucalyptus.atlassian.net/browse/EUCA-3001">https://eucalyptus.atlassian.net/browse/EUCA-3001</a><br />
<a href="https://eucalyptus.atlassian.net/browse/EUCA-3003">https://eucalyptus.atlassian.net/browse/EUCA-3003</a></p>
<p>At that time I wrote some ugly patches , basically removing new stuff and adding back what was there earlier in the AWS JAVA SDK , to make it work with Eucalyptus.</p>
<p>Then recently, I saw 2 commits from Steve Jones one of the CLC developer at Eucalyptus , here to the AWS JAVA SDK</p>
<p><a href="https://github.com/sjones4/aws-sdk-java/commit/88acbcc5d6a5db9a0855fa98de56341bc3772283">https://github.com/sjones4/aws-sdk-java/commit/88acbcc5d6a5db9a0855fa98de56341bc3772283</a><br />
<a href="https://github.com/sjones4/aws-sdk-java/commit/211e220fede28d4c36d335910e8b86e035f9b931">https://github.com/sjones4/aws-sdk-java/commit/211e220fede28d4c36d335910e8b86e035f9b931</a></p>
<p>I decided I will take these 2 commits and apply them to the AWS JAVA SDK version 1.3.14 , which I made to work in July 2012. So I went ahead and reverted the patches I had done and worked on applying the above 2 commits on the version 1.3.14</p>
<p>The code is available here, on my github local fork</p>
<p><a href="https://github.com/jeevanullas/aws-sdk-for-java">https://github.com/jeevanullas/aws-sdk-for-java</a></p>
<p>And as usual the patch is here </p>
<p><a href="https://github.com/jeevanullas/aws-sdk-for-java/commit/905311ae4d049696baf108aff6e87ddc1eab84ca">https://github.com/jeevanullas/aws-sdk-for-java/commit/905311ae4d049696baf108aff6e87ddc1eab84ca</a></p>
<p>Thats about it. For people who would like to build from source , they can clone my fork and build from it, get the JAR file , start playing right away.</p>
<p>For those who do not have much time, I have build the JAR and have uploaded that here </p>
<p><a href="http://jeevanullas.in/tmp/aws-java-sdk-1.3.14.jar">http://jeevanullas.in/tmp/aws-java-sdk-1.3.14.jar</a></p>
<p>Feel free to grab and use it. </p>
<p>I did try to use the latest version of AWS JAVA SDK but could not make it work with the patch, on Eucalyptus 3.2.0/3.2.1/3.1.2 , so this is the latest version of AWS JAVA SDK, which I know off, that works.</p>
<p>Again don&#8217;t think it is end of the road, Eucalyptus 3.3.0 is bringing in better support for AWS JAVA SDK and, I have tried that personally, last known version of SDK I tried was 1.3.26 and it works like a charm, plus 3.3.0 Eucalyptus has got the other cool stuff like ELB/Autoscaling/Cloudwatch, so definitely something forward to look at.</p>
<p>In the blog post to follow up I will try to give few examples of how you can use the AWS JAVA SDK to write code which talks to Eucalyptus, because then we can see how many cool things are in store, so stay tuned and healthy!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2013/02/the-story-of-aws-java-sdk-and-eucalyptus/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>openbsd on Eucalyptus</title>
		<link>http://jeevanullas.in/blog/2013/02/openbsd-on-eucalyptus/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=openbsd-on-eucalyptus</link>
		<comments>http://jeevanullas.in/blog/2013/02/openbsd-on-eucalyptus/#comments</comments>
		<pubDate>Tue, 05 Feb 2013 12:26:52 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Eucalyptus]]></category>
		<category><![CDATA[openbsd]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=244</guid>
		<description><![CDATA[People love BSD and it bothers me, that  they cant run it on Eucalyptus private cloud inside their organisation. So, I took the challenge on  building an openbsd image (EMI) which we could then run on Eucalyptus. The version of openbsd used is 5.2 amd64 and Eucalyptus 3.2.0 on CentOS 6.3. Note that there were problems [...]]]></description>
				<content:encoded><![CDATA[<p>People love BSD and it bothers me, that  they cant run it on Eucalyptus private cloud inside their organisation. So, I took the challenge on  building an openbsd image (EMI) which we could then run on Eucalyptus.</p>
<p><em>The version of openbsd used is 5.2 amd64 and Eucalyptus 3.2.0 on CentOS 6.3. Note that there were problems with running an instance store backed EMI and hence I ended up running an instance from boot-from-EBS EMI.</em></p>
<p>For the sake of simplicity, this post is divided into 5 parts :</p>
<p><strong>Part &#8211; 1 , Build the base image</strong></p>
<p>First of all download the openbsd 5.2 install ISO from the following link:</p>
<p><a href="ftp://ftp3.usa.openbsd.org/pub/OpenBSD/5.2/amd64/install52.iso" target="_self">ftp://ftp3.usa.openbsd.org/pub/OpenBSD/5.2/amd64/install52.iso</a></p>
<p>Next on your machine (having virt-manager and KVM), run virt-manager to create a new virtual machine, virt-manager provides an easy to use GUI based interface to create a virtual machine. The wizard based process is pretty slick, screenshots below shows the details that were given:</p>
<p><a href="http://jeevanullas.in/blog/wp-content/uploads/2013/02/virt-manager-1-new.png"><img class="alignnone size-full wp-image-248" title="virt-manager-1-new" src="http://jeevanullas.in/blog/wp-content/uploads/2013/02/virt-manager-1-new.png" alt="" width="482" height="391" /></a></p>
<p><a href="http://jeevanullas.in/blog/wp-content/uploads/2013/02/virt-manager-2-new.png"><img class="alignnone size-full wp-image-249" title="virt-manager-2-new" src="http://jeevanullas.in/blog/wp-content/uploads/2013/02/virt-manager-2-new.png" alt="" width="478" height="406" /></a></p>
<p><a href="http://jeevanullas.in/blog/wp-content/uploads/2013/02/virt-manager-3-new.png"><img class="alignnone size-full wp-image-251" title="virt-manager-3-new" src="http://jeevanullas.in/blog/wp-content/uploads/2013/02/virt-manager-3-new.png" alt="" width="480" height="407" /></a></p>
<p><a href="http://jeevanullas.in/blog/wp-content/uploads/2013/02/virt-manager-4-new.png"><img class="alignnone size-full wp-image-252" title="virt-manager-4-new" src="http://jeevanullas.in/blog/wp-content/uploads/2013/02/virt-manager-4-new.png" alt="" width="481" height="406" /></a></p>
<p><a href="http://jeevanullas.in/blog/wp-content/uploads/2013/02/virt-manager-final.png"><img class="alignnone size-full wp-image-257" title="virt-manager-final" src="http://jeevanullas.in/blog/wp-content/uploads/2013/02/virt-manager-final.png" alt="" width="484" height="546" /></a></p>
<p>After this the VM would boot, and we need to just follow the installation process as we do normally for openbsd; I followed the following link:</p>
<p><a href="http://www.openbsd.org/faq/faq4.html#More" target="_self">http://www.openbsd.org/faq/faq4.html#More</a></p>
<p>Make sure you ensure the SSH and NTP services are installed and configured to start automatically at boot, this is really helpful, the only tricky part is the disk partitioning, I used a custom disk partitioning , using the disklabel ; following link would help do that</p>
<p><a href="http://www.openbsd.org/faq/faq4.html#Moredisklabel" target="_self">http://www.openbsd.org/faq/faq4.html#Moredisklabel</a></p>
<p>The need for a custom layout and a disk large as 10 GB (Check the wizard screenshot above) was because I planned on using the openbsd ports and install necessary software in my image.</p>
<p>Once the install is finished; just reboot the VM, next we will do some configuration</p>
<p><strong>Part -2 Modify the base image, to include necessary tools and configuration</strong></p>
<p>In my tests , I have found that you need VIRTIO enabled on the Node Controller (Eucalyptus) to make this openbsd EMI work; there are couple of things to do , to make sure the EMI works that way;</p>
<p>VIRTIO network driver if used creates a device file in the openbsd instance; vio0 , we need to make sure the network configuration is placed such that this device gets a DHCP provided IP address during boot, this is how we do it on openbsd</p>
<pre name="code">echo 'dhcp' &gt; /etc/hostname.vio0</pre>
<p>Next I followed this link here , to get ports installed and configured on this VM;</p>
<p><a href="http://www.openbsd.org/faq/faq15.html#Ports" target="_self">http://www.openbsd.org/faq/faq15.html#Ports</a></p>
<p>I basically put wget and curl inside the VM , because those help with getting meta-data from within the instance when it is running on Eucalyptus</p>
<p>Finally I put a custom version of <em>rc.local</em> in <em>/etc </em>, to get the SSH keys working, for the sake of completeness I have uploaded it on github at the following URL;</p>
<p><a href="https://github.com/jeevanullas/cloud-scripts/blob/master/rc.local" target="_self">https://github.com/jeevanullas/cloud-scripts/blob/master/rc.local</a></p>
<p><em><strong>NOTE: The above script is copied and hacked together (to make it work on openbsd) from the original script available here <a href="https://github.com/eucalyptus/Eucalyptus-Scripts/blob/master/rc.local" target="_self">https://github.com/eucalyptus/Eucalyptus-Scripts/blob/master/rc.local</a></strong></em></p>
<p>I also made sure that the SSH configuration within opebsd strictly only allows for SSH key base authentication and not password by modifying the necessary configuration in <em><em>/etc/ssh/sshd_config</em></em></p>
<p>Now shutdown the VM and copy the virtual disk file in <em>/var/lib/libvirt/images/</em> for this VM to the Eucalyptus Storage Controller (SC)</p>
<p><strong>Part -3 Upload the base image to Eucalyptus and get an EMI</strong></p>
<p>From Eucalyptus side ; the first requirement is to make sure we use VIRTIO for everything on the NC, so on the NC , please make sure inside <em>/etc/eucalyptus/eucalyptus.conf</em> USE_VIRTIO_* is all set to 1</p>
<p>The openbsd EMI would be a boot-from-EBS (bfEBS) EMI because that is what works, the instance store backed EMI seems to not work due to natural reasons of kernel/ramdisk issues;</p>
<p>Next create a 10G volume on the Eucalyptus cloud and attach it to any running instance (any running instance, from any image), basically need to dump the image file for openbsd we got in Part -2 into the volume</p>
<pre name="code">euca-create-volume -s 10 -z cloud3</pre>
<pre name="code">euca-attach-volume -d /dev/vdb -i i-05CB3829 vol-9B4F3F76</pre>
<p>Now go on the SC and dd the openbsd image to the corresponding LV device for the volume you attached above (you need to figure out the LV for your volume ; its pretty easy if you have only 1 volume attached to an instance in the whole cloud, otherwise some manual work is involved IIRC)</p>
<pre name="code">dd if=openbsd-blog.img of=dev/vg-itL1qZZjVsCuLg../lv-D0fGsw..</pre>
<p>Once the above is finished, detach the volume from the running instance and snapshot it</p>
<pre name="code">euca-detach-volume vol-9B4F3F76</pre>
<pre name="code">euca-create-snapshot vol-9B4F3F76</pre>
<p>Once the volume is snapshotted we can just register the EMI out of the same using;</p>
<pre name="code">euca-register -n "openbsd" --root-device-name /dev/sda1 -b /dev/sda1=snap-60FA3B94</pre>
<p>This should give you an EMI-ID which you can run instance out off;</p>
<p><strong>Part -4 Run an instance</strong></p>
<p>Now we would run an instance from this EMI and check if we can access it over SSH;</p>
<pre name="code">euca-run-instances -k sshlogin -t m1.large emi-2D8A446A</pre>
<pre name="code">ssh -i sshlogin root@10.104.3.1</pre>
<p>There you go! Your own openbsd instance on your own Eucalyptus private cloud, with root access, start playing!</p>
<p><strong>Part -5 Run eutester, Instance check on the EMI</strong></p>
<p>This last part was little tricky to crack and there are some loose ends, which I would like help on, from the openbsd users/developers on internet;</p>
<p>Basically we run a set of tests on the EMI via the eutester test suite to verify the EMI, you can check out more on the test here;</p>
<p><a href="https://github.com/eucalyptus/eutester/blob/testing/testcases/cloud_user/instances/instancetest.py" target="_self">https://github.com/eucalyptus/eutester/blob/testing/testcases/cloud_user/instances/instancetest.py</a></p>
<p>The results for the test is stored here;</p>
<p><a href="https://github.com/eucalyptus/image-verification-results" target="_self">https://github.com/eucalyptus/image-verification-results</a></p>
<p>For openbsd there were 3 things that failed</p>
<ul>
<li>Instance meta-data does not return any ramdisk ID &#8211; This is natural as there is no ramdisk associated with the bfEBS EMI</li>
<li>Ephemeral storage was not found &#8211; Apparently the check to find the ephemeral storage does a ; ls -l /dev/sda2 , this device does not exist on the openbsd instance, so it failed</li>
<li>EBS Volume attach fails &#8211; This is important, because as soon as the volume gets attached to the running openbsd instance , the instance is not reachable over SSH or via console, it appears that the hotplug for disk is causing the kernel to panic, if we detach the volume and reboot (<em>euca-reboot-instances</em>) it comes to life again;</li>
</ul>
<p>The result of the test are available on the following link:</p>
<p><a href="https://github.com/jeevanullas/cloud-scripts/blob/master/openbsd-eutester-result" target="_self">https://github.com/jeevanullas/cloud-scripts/blob/master/openbsd-eutester-result</a></p>
<p>Hope this blog post is useful for the openbsd lovers and they would enjoy reading and running their favourite openbsd instances on top of Eucalyptus cloud without much hiccup;</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2013/02/openbsd-on-eucalyptus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 2 for Eucalyptus at gnuNify 2012, Pune</title>
		<link>http://jeevanullas.in/blog/2012/02/day-2-for-eucalyptus-at-gnunify-2012-pune/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=day-2-for-eucalyptus-at-gnunify-2012-pune</link>
		<comments>http://jeevanullas.in/blog/2012/02/day-2-for-eucalyptus-at-gnunify-2012-pune/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 17:18:53 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[System Administration]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Eucalyptus]]></category>
		<category><![CDATA[gnuNify]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=224</guid>
		<description><![CDATA[Day 2 started with a real good breakfast. Again thanks to the organizing team for arranging such a good breakfast. I should say I really loved the weather at Pune after staying at Jaipur for past 1 month specially when it is cold. My prime goal for day 2 was to have the lab ready [...]]]></description>
				<content:encoded><![CDATA[<p>Day 2 started with a real good breakfast. Again thanks to the organizing team for arranging such a good breakfast. I should say I really loved the weather at Pune after staying at Jaipur for past 1 month specially when it is cold.</p>
<p>My prime goal for day 2 was to have the lab ready for the Eucalyptus workshop at 2:30PM. I would really like to thank every one of the volunteers part of this lab setup in helping me get ready for the workshop. We took around  5 machines and setup cluster controller, cloud controller, storage controller and walrus on one machine. Rest all machines were our node controllers.</p>
<p>Volunteers were pretty excited about the preparation of the lab. They helped me with small small things like getting a extra network interface card for the server, a local switch and my macbook displayport to VGA converter so I can share my screen on a HDTV. They also prepared and recorded a complete video of the workshop. I am not sure if I would be able to get it but if I do it could be really helpful for me as well as the whole community I hope.</p>
<p><span id="more-224"></span></p>
<p>Special thanks for Chiraj Jain and <a href="https://www.facebook.com/yashodhan.kulkarni">Yashodhan</a> for helping me the setup of eucalyptus packages on the machines and Yashodhan also wrote a simple bash script to automate certain things in eucalyptus installation and configuration process.</p>
<p>I had around 10 registrations for the workshop and plus almost same number of volunteers eagerly waiting for the workshop to get a feel of eucalyptus. We have planned for a live setup of eucalyptus 2.0.3 on centos 5.7 x86_64 manually. It was the hard way of doing things but that brought in lot of technical insight which I shared with the audience using a whiteboard.</p>
<p>I think the workshop was too technical again for many of the participants and the time duration allocated for the workshop was less considering we did the whole setup during the workshop. I was asked couple of good questions and was able to answer them pretty well I hope. In the end while booting up the VM in our cloud it didn&#8217;t run and kept in pending state. It seems to be the problem with the transfer of the base image to the node but I was glad to show a running setup to the participants I had with me.</p>
<p>I discussed with the participants about Eucalyptus 3, the new high availability feature in Euca 3 how it is useful many ways, we discussed about eustore to upload EMIs on eucalyptus cloud, I asked them to try out faststart to get a eucalyptus cloud up and running in no time and also check out eucalyptus community cloud service.</p>
<p>We also discussed about cloud security, keys etc. and networking modes how they work in eucalyptus. I was able to show how to setup a MANAGED-NOVLAN mode on a HDTV which looked pretty cool.</p>
<p>I realized that giving a technical workshop eats up all your time , which includes setting up of the lab also. I was not able to catch up with other speakers during day 2 but Atul did a great job at that. Atul had lot of good discussions with folks from RedHat around localization initiatives and he has promised me to write a blog about it soon.</p>
<p>Also I hope Atul and others would be sharing photographs from the event. Till next time , keep rocking!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2012/02/day-2-for-eucalyptus-at-gnunify-2012-pune/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 1 for Eucalyptus at gnuNify 2012, Pune</title>
		<link>http://jeevanullas.in/blog/2012/02/day-1-for-eucalyptus-at-gnunify-2012-pune/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=day-1-for-eucalyptus-at-gnunify-2012-pune</link>
		<comments>http://jeevanullas.in/blog/2012/02/day-1-for-eucalyptus-at-gnunify-2012-pune/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 14:58:18 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[System Administration]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Eucalyptus]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[gnuNify]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=198</guid>
		<description><![CDATA[I got the opportunity to attend as well as speak at gnuNify 2012 , Pune. It was my first FOSS conference as a speaker and it went really great. I was there for two days 10th and 11th Feb and was accompanied by Atul Jha one of our Eucalyptus community member in India. Thanks to [...]]]></description>
				<content:encoded><![CDATA[<p>I got the opportunity to attend as well as speak at <a href="http://gnunify.in">gnuNify 2012</a> , Pune. It was my first FOSS conference as a speaker and it went really great. I was there for two days 10th and 11th Feb and was accompanied by <a href="https://twitter.com/#!/koolhead17">Atul Jha</a> one of our Eucalyptus community member in India. Thanks to Atul for joining me in from Chennai and spreading the word about our community . This was the 10th version of gnuNify at SICSR (Symbiosis Institute of Computer Studies and Research) Pune.</p>
<p>This year the main theme for the conference was Cloud Computing as well as Mobile Computing and I was happy to see lot of  good talks and workshops on the same.</p>
<p><span id="more-198"></span></p>
<p><strong>Day 1</strong></p>
<p>Day started with a south indian breakfast. Idly and sambhar after a month&#8217;s gap for me. Felt pretty good. I met <a href="https://twitter.com/#!/shakthimaan">Shakti Kannan</a> now with RedHat India, <a href="https://www.facebook.com/santhosh.thottingal">Santhosh Thottingal</a> from Wikimedia Foundation and <a href="https://twitter.com/#!/playingwithsid">Arky</a> from Mozilla.</p>
<p>My talk on Eucalyptus was scheduled at 11:15am in the auditorium at SICSR. I got delayed because the first talk on building your own cloud computing infrastructure by <a href="http://gnunify.in/2012/KYS/ArunKhan#talk1">Mr. Arun Khan</a> took some more time, by some 15-20 minutes, but that was fine. I spoke with Mr. Arun briefly before my talk and he told me about his team&#8217;s recent work with openstack and Eucalyptus , we shook hands and decided to take the talk further during dinner/lunch which we did and I hope I was able to answer his questions and give my honest opinion.</p>
<p>I had around 40+ people in the audience for my talk and was introduced by one of the college volunteer to the audience. It was a very formal introduction digging into my past which refreshed my memories. I had prepare my deck hoping that I would be talking to an audience who may not be so familiar with Cloud Computing as most of them would be college students. It was a good guess and I was able to figure that based on the first few questions I asked the audience as part of the regular polling exercise I prefer doing.</p>
<p>My slide deck is now available for you to view <a href="http://www.slideshare.net/jeevanullas/eucalyptus-gnunify-2012">here</a>. I was talking about Eucalyptus during a time where we are so close to the new release (Eucalyptus 3.0) so couple of things in the deck might need a modification or new addition though I had a slide on Eucalyptus 3.0 and I discussed with the audience about that.</p>
<p>I realized that talking about Eucalyptus can be a serious technical discussion and one needs to balance out the technical and the non-technical stuff well sometimes because the audience might not be too technical. I had a slide on the new <a href="http://open.eucalyptus.com/wiki/starter-emis">Starter EMI</a> stuff we have started doing, a slide on community and the various projects we have been hosting on our <a href="http://projects.eucalyptus.com/">projects</a> website.</p>
<p>My talk went well above the time allocated (around one and a half hour long) to me but I believe the audience liked it because I saw everyone seriously listening to me and I received few questions during my presentation as well as some after it ended. I am sorry I don&#8217;t have photographs right now because I was all busy talking to people but hopefully Atul and the gnuNify volunteers will be uploading/sharing the same pretty soon.</p>
<p>After the talk we distributed around 40 Eucalyptus t-shirts to the audience. It was really great. Everyone just jumped right on top of the t-shirts and grabbed one for themselves before we were out of t-shirts in few minutes time. I had some Euca goodies which we gave at the reception so people registering for gnuNify can get one for them. Lot of stickers and pens. Thanks to <a href="https://twitter.com/#!/gregdek">Greg</a> and Diana for sending those to us!</p>
<p>After my talk , Atul presented on Juju at the same place but I was not able to attend his talk because I was busy answering questions and talking to people outside the auditorium. Apologies to Atul for stealing some of his audience I hope he don&#8217;t mind.</p>
<p>I met a team of college students who developed something on live VM migration and I shared with them my experience on VM migration in VMWare world and asked them to join our <a href="http://lists.eucalyptus.com/cgi-bin/mailman/listinfo">mailing lists</a> and tell a little about themselves and their project. I met one other team who was planning to use Eucalyptus as a private cloud for a parallel processing project and suggested them few things again my general request to everyone was in the end join the mailing list and introduce themselves. I know we have a very active and vibrant community and its growing so it is helpful to get associated. I had one college faculty who wanted to know what he could do to try out Eucalyptus in his college LAB. He had a bad experience with Ubuntu Enterprise Cloud it seems , I requested him to join my workshop on setting up your own private cloud based on Eucalyptus and use CentOS with Eucalyptus 2.0.3. He did attended the workshop and I hope he liked it! <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I was able to meetup with some more folks during lunch. I would like to take this opportunity and congratulate the organizers on getting us awesome food, whether it was breakfast, lunch, dinner or snacks it was really delicious. I met <a href="https://www.facebook.com/ramkrsna">Ramakrishna Reddy</a> from RedHat, <a href="https://www.facebook.com/profile.php?id=100000259528493">Sudhanwa Jogalekar</a>, <a href="https://www.facebook.com/karunakarg">Karunakar Guntupalli</a> from Symantec and <a href="https://www.facebook.com/harshadoak">Harshad Oak</a> from Indicthreads. It was a nice time talking to all of them and also Mr. Arun Khan from Silver Arc Solutions Pvt Ltd.</p>
<p>I also happen to meet <a href="http://www.linkedin.com/profile/view?id=75164405&amp;locale=en_US&amp;trk=tyah">Mr. Manish Kumar</a> from CDAC who is into Cloud computing and building up a integration using various tools and openstack the platform.</p>
<p>The key take aways from Day 1 were,</p>
<ul>
<li>People need to know about Eucalyptus. Go and speak at such conferences and meetups. Socialize face to face.</li>
<li>There should be a easy way out for them to learn and use Eucalyptus. Ideas ? <a href="http://open.eucalyptus.com/try/faststart">Faststart</a>, <a href="https://projects.eucalyptus.com/redmine/projects/silvereye/wiki">Silvereye</a> can be the answer to the ease of installation.</li>
<li>We are based on JAVA some people don&#8217;t like it. The primary reason they put is that its slow and they can&#8217;t understand the code.</li>
<li>Localization efforts in Indic languages for Eucalyptus. We actually took this one pretty seriously and Atul had a lot of useful discussions and good feedback on this one, day 2 updates follows.</li>
</ul>
<p>I was not able to work on the lab setup for my workshop but had one dedicated volunteer, a BBA (Bachelor of Business Administration) student, Chirag Jain who figured out along with the help and guidance of <a href="https://www.facebook.com/harshad.gune">Mr. Harshad Gune</a> what we would do on day 2.</p>
<p>The day ended up with a awesome drinks + dinner where I was able to catch up with lot of folks and socialize a bit more. It was great meeting lot of people who are active for a long time in FOSS world and it was also nice seeing the active volunteers. I should say I saw more volunteers than attendee&#8217;s but everyone was so active and seems excited about gnuNify!</p>
<p>Would like to thank Harshad Gune, Sudhanwa, Atul, <a href="https://twitter.com/#!/gregdek">Greg</a> in getting me this opportunity to speak and interact with some real good folks , follow up post on Day 2 is next.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2012/02/day-1-for-eucalyptus-at-gnunify-2012-pune/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>testing eucalyptus cloud now made easy</title>
		<link>http://jeevanullas.in/blog/2012/01/testing-eucalyptus-cloud-now-made-easy/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testing-eucalyptus-cloud-now-made-easy</link>
		<comments>http://jeevanullas.in/blog/2012/01/testing-eucalyptus-cloud-now-made-easy/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 22:40:09 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Eucalyptus]]></category>
		<category><![CDATA[Eutester]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=173</guid>
		<description><![CDATA[So last weekend I thought of trying out the Eutester project which has been up on projects.eucalyptus.com for a while and now the code been moved to github with some serious development happening. Well for those who are new to Eutester, it is a framework written in python which helps you test your Eucalyptus private [...]]]></description>
				<content:encoded><![CDATA[<p>So last weekend I thought of trying out the Eutester project which has been up on <a href="https://projects.eucalyptus.com/redmine/projects/eutester">projects.eucalyptus.com</a> for a while and now the code been moved to <a href="https://github.com/eucalyptus/eutester">github</a> with some serious development happening.</p>
<p>Well for those who are new to Eutester, it is a framework written in python which helps you test your Eucalyptus private cloud setup. Remember, testing can sometime be a hard job so best to automate it as much as possible with all your test cases. Besides that there is a lot more to it. I guess using the existing code which is part of the test framework one can develop his/her own test cases for varied scenarios/bugs and contribute the same to the Eutester code on github.</p>
<p>For me personally it is a great tool to have in my ninja pockets, makes my job pretty easier. Imagine you have a bug on launchpad that you want to replicate in your environment? How long would it take to execute those Steps to follow to re-create the problem and now imagine one single program, a Eutester test case doing all that for you in one shot, that&#8217;s what I call smartness.</p>
<p><span id="more-173"></span></p>
<p>Before starting off with how the framework actually works and the various components of it (which I guess is pretty straight forward and easy to understand) I just thought of giving one of the test cases a try and hence I did a:</p>
<p><code>git clone https://github.com/eucalyptus/eutester.git<br />
</code><br />
Note that in order to use Eutester you need to have certain pre-requisites installed which is understandable. Following is the list of pre-requisites:</p>
<ul> a) boto&gt;=2.1<br />
b) paramiko (SSH2 module for python)<br />
c) python<br />
d) Linux?</ul>
<p>Note that Eutester is written in python so it requires you to have python, I had python 2.6 which works well with boto 2.1 and you also need python-setuptools.</p>
<p>Guess where I figured all this? Well just open setup.py in the Eutester code base and you will figure that out.</p>
<p>There are certain other assumptions made before hand regarding the cloud environment to be tested</p>
<ul> a) The eucalyptus cloud already setup</p>
<p>b) Access to CLC via SSH</p>
<p>c) At-least one EMI registered</p>
<p>d) One SSH key pair available and added to the private cloud. Not a hard stop because Eutester can create the keypair and use that same with the instances it fires up.</p>
<p>e) Enough resources to start an instance on the cloud</p>
<p>f) If Linux instance needs to be accessed on SSH appropriate rules for the access via security groups</ul>
<p>Once all the assumptions and pre-requisites are cleared out, next was a simple command to set Eutester on my machine:</p>
<p><code>python26 setup.py install<br />
</code><br />
Well before we jump into executing our first sample test case let me point out here that Eutester provides various ways to you to feed in details on how Eutester can understand your cloud environment. Following are some of those ways (please note that there might exists other ways to get around but this post is to keep matters simple):</p>
<p>a) Using a cloud.conf config file</p>
<p>It is basically a simple text files having rows (lines) and columns. If you see the above you would find 2 lines describing the two machines in my cloud environment.</p>
<p>The sample cloud.conf is shown below</p>
<p><code>172.22.0.15 CENTOS 5.7 64 REPO [CC00 CLC SC00 WS]<br />
172.22.0.16 CENTOS 5.7 64 REPO [NC00]</code></p>
<p>The column information is described in README.md file that came alone with the eutester code. But for the sake of completion of the post:</p>
<ul> 1. IP or hostname of the machine</p>
<p>2. Distribution installed on the machine</p>
<p>3. Distribution version on the machine</p>
<p>4. Distribution base architecture</p>
<p>5. System built from packages (REPO) or source (BZR) (packages assumes path to eucalyptus is /, bzr assumes path to eucalyptus is /opt/eucalyptus)</p>
<p>6. List of components installed on the machine</p>
<p>CLC &#8211; cloud controller<br />
WS &#8211; Walrus<br />
now that as eucalyptus can have a multi-cluster setup hence the following (specific to cluster)<br />
SC00 &#8211; storage controller for cluster 00<br />
CC00 &#8211; cluster controller for cluster 00<br />
NC00 &#8211; node controller for cluster 00</ul>
<p>b) Passing on the eucalyptus credential path, to the constructor. In my case the credentials were on the same machine as eutester so I had to only provide the path to the credentials.</p>
<p>Note that based on option (b) I wrote a very simple test case which runs an instance and then prints in some instance specific information.</p>
<pre class="python">from eucaops import Eucaops
if __name__ == '__main__':
    tester = Eucaops(credpath="/home/jeevanullas/.euca/")
    tester.exit_on_fail = 1
    image = tester.get_emi()
    reservation = tester.run_instance(image,keypair="sshlogin",group="linuxvms",type="m1.small")
    instance = reservation.instances[0]
    print "Instance Public IP address: " + instance.ip_address
    print "Instance Private IP address: " + instance.private_ip_address
    instance.terminate()</pre>
<p>So what this test does (at a very high level) is that it connects to the CLC and then get one of the available EMI&#8217;s which is available and boots that up. Once the instance is up and running we print some basic information about the instance like the instance private ip address as well as public ip address. Finally we terminate the instance.</p>
<p>There are other things which can be done before we terminate the instance like executing a remote command on the instance and using the output internally in your test case? Lots of ideas.</p>
<p>The output for the script above is shown in the screenshot below</p>
<p><a href="http://jeevanullas.in/blog/wp-content/uploads/2012/01/eutester.png"><img class="alignnone size-full wp-image-186" title="eutester output" src="http://jeevanullas.in/blog/wp-content/uploads/2012/01/eutester.png" alt="eucalyptus" width="466" height="124" /></a></p>
<p>You can probably ignore some of the things like the boto debug stuff which is due to extensive logging enabled.</p>
<p>So if we summarize this post with our simple scripts here are the basic things which are pretty straight forward and Eutester takes care of</p>
<p>a) Takes care of getting your cloud credentials so that it can talk to your cloud and do stuff.</p>
<p>b) Next in order to run an instance on the cloud you need to provide EMI which Eutester gets for you based on the first available EMI and expects you to pass parameters like key pair to use for ssh logins and security group. Please note that these parameters are optional and are only required probably for a successful SSH connection to be established, infact SSH keypairs can be generated by Eutester before the instance is fired and can same can be used to while starting the instance as well as for further SSH connections inside Eutester.</p>
<p>Eutester is growing pretty fast thanks to Vic and Matt. Also <a href="http://gobertelli.blogspot.com/">Graziano</a> already came up with an Eutester <a href="https://projects.eucalyptus.com/redmine/attachments/84/image_attribute.py">test case</a> which is now part of Eutester and recreates bug <a href="https://bugs.launchpad.net/eucalyptus/+bug/737335">737335</a></p>
<p>There are various possibilities and lot of cool stuff happening around Eutester project. So I would suggest everyone to stay in touch and follow the project on:</p>
<p><a href="https://github.com/eucalyptus/eutester">Code</a><br />
<a href=" http://sl.eucalyptus.com/meetings">IRC Meetings</a><br />
<a href="https://projects.eucalyptus.com/redmine/projects/eutester">Projects Page</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2012/01/testing-eucalyptus-cloud-now-made-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jeevanullas is back with clouds</title>
		<link>http://jeevanullas.in/blog/2012/01/jeevanullas-is-back-with-clouds/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=jeevanullas-is-back-with-clouds</link>
		<comments>http://jeevanullas.in/blog/2012/01/jeevanullas-is-back-with-clouds/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 10:51:53 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Eucalyptus]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=149</guid>
		<description><![CDATA[Well it&#8217;s been really really long since I updated this space but looks like the right time to change a few things around starting with a new post in a new year! This post basically summarizes 2011 for me and ends with the latest news which comes with the new year. For a better understanding [...]]]></description>
				<content:encoded><![CDATA[<p>Well it&#8217;s been really really long since I updated this space but looks like the right time to change a few things around starting with a new post in a new year!</p>
<p>This post basically summarizes 2011 for me and ends with the latest news which comes with the new year. For a better understanding of things I am categorizing it into sections</p>
<p><span id="more-149"></span></p>
<p><strong>Travel</strong><br />
I was able to visit some pretty nice places during vacation, some of them which I would like to mention here are <a href="http://en.wikipedia.org/wiki/Mekedaatu">Mekedaatu</a>, <a href="http://en.wikipedia.org/wiki/Pondicherry">Pondicherry</a> and some of the worst places like <a href="http://en.wikipedia.org/wiki/Hogenakkal_Falls">Hogenakkal</a>. Compared to 2010 though 2011 was pretty dull, hope to improve that in 2012.</p>
<p><strong>Work at Infosys</strong><br />
Lot of cool and exciting things happened last year at <a href="http://www.infosys.com">Infosys</a> which I might not be able to tell here. I worked with some of &#8220;the&#8221; awesome people inside the organization on things I love to work on (Cloud Computing, Linux, Sysadmin etc).<br />
The journey at Infosys for me finally came to an end on 12/26/2011. It was a joy ride full of good as well as bad experiences but overall speaking at the end of the day lot of learning. Planning on to be in touch with some of the real gems still there, all of you (you know who you are) guys you rock and I wish you all a very happy new year!</p>
<p><strong>Family</strong><br />
No new additions to the family which is pretty cool. Keeps thing simple. <a href="https://twitter.com/#!/nssforce26">Brother</a> got placed at <a href="http://www.salesforce.com/in/?ir=1">Salesforce</a> and is now based out of Hyderabad. The house in <a href="http://en.wikipedia.org/wiki/Jaipur">Jaipur</a> got renovated again this time it was turn of the ground floor. My visits to home (Jaipur) and <a href="http://en.wikipedia.org/wiki/Jodhpur">Jodhpur</a> (Birthplace) were really nice spent a healthy time with my cousins and relatives which I would consider real good.</p>
<p><strong>Bangalore</strong><br />
Bangalore as usual was great in 2011 though technically speaking I lived outside <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Paramount+Rahgavendra+Akash+Apartments,+Electronic+City,+Bengaluru,+Karnataka,+India&amp;aq=0&amp;oq=paramoun&amp;sll=37.0625,-95.677068&amp;sspn=43.443045,73.212891&amp;vpsrc=0&amp;t=w&amp;ie=UTF8&amp;hq=Paramount+Rahgavendra+Akash+Apartments,&amp;hnear=CDAC,+5th+Cross+Rd,+Electronics+City,+Bengaluru,+Bengaluru+Rural,+Karnataka,+India&amp;ll=12.852601,77.66507&amp;spn=0.052467,0.071497&amp;z=14&amp;iwloc=A&amp;cid=2599407021011546981">Bangalore</a> for most part of it. I was not able to catch up with the <a href="http://en.wikipedia.org/wiki/Linux_India">Linux-India</a> folks most of the time (though was able to show up on few rare occasions and catch up), I really would like to change that in 2012 once I am back in town later this year.</p>
<p><strong>Technology</strong><br />
Got real hands-on experience with exciting stuff both in open source (Cloudstack, KVM, Spacewalk) and non-open source (HP Cloudsystem matrix, IBM Service Delivery Manager, VMWare vsphere, Amazon web services) domain. Compared to 2010 it was much more action packed year and cloud really grew pretty fast.<br />
Apple as well as OS X continues to dominate my personal computing needs and I predict the same would get stronger and deeper in 2012.<br />
I was not of able to contribute to the community, I have been part of, specially <a href="http://fedoraproject.org/wiki/User:Deepsa">Fedora Project</a> , <a href="http://lugj.in/wiki/Main_Page">Linux User Group Jaipur</a> and <a href="http://open.eucalyptus.com/">Eucalyptus</a> (sort off) but was able to change couple of things around that too by the end of the year at-least on the Eucalyptus front lot of cool stuff started happening.</p>
<p><strong>Future and 2012</strong><br />
The big news which I guess most of the people (in my circles) have been waiting to hear on, where do I move on to now? Now that I am out of Infosys and Bangalore (for a while). Well guys I am glad to share with you the news that I have joined <a href="http://www.eucalyptus.com/">Eucalyptus Inc.</a> and the great army of fellow Eucalyptoids spread across the world. As part of my job I would be working within the Technical services team focused on Customer support and also be the community guy for Eucalyptus, which in my opinion is going to get strong this year and the years to come.<br />
I have already started off with my journey at Eucalyptus and the 1st week itself has been so far full of exciting stuff focused around open source, Eucalyptus community and Eucalyptus 3.</p>
<p>In case you are interested to get associated with the Eucalyptus community and exciting <a href="http://projects.eucalyptus.com">things</a> which we have been doing for a while now, feel free to get in <a href="http://lists.eucalyptus.com/cgi-bin/mailman/listinfo/community">touch</a> and be part of the ecosystem. For IRC users we (jeevan_ullas and others) can be found at #eucalyptus on irc.freenode.net.</p>
<p>So on a positive note let me wish you all a very happy new year full of Clouds powered by Open Source and please do stay in <a href="https://twitter.com/#!/jeevanullas">touch</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2012/01/jeevanullas-is-back-with-clouds/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Connecting to Amazon Virtual Private Cloud using Linux</title>
		<link>http://jeevanullas.in/blog/2010/08/connecting-to-amazon-virtual-private-cloud-using-linux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=connecting-to-amazon-virtual-private-cloud-using-linux</link>
		<comments>http://jeevanullas.in/blog/2010/08/connecting-to-amazon-virtual-private-cloud-using-linux/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 08:29:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[System Administration]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[VPC]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=142</guid>
		<description><![CDATA[Hello internet, I am trying to connect my Linux machine to Amazon VPC using end to end IPSec tunnel. I have set all the required VPC objects on Amazon side and now plan to set my Linux Laptop as a VPN gateway. But the only doubt I have is that my Laptop is behind NAT. [...]]]></description>
				<content:encoded><![CDATA[<p>Hello internet,</p>
<p>I am trying to connect my Linux machine to Amazon VPC using end to end IPSec tunnel. I have set all the required VPC objects on Amazon side and now plan to set my Linux Laptop as a VPN gateway. But the only doubt I have is that my Laptop is behind NAT. Though I have opened and re-directed the necessary ports on my NAT device I am not sure if this thing is going to work.</p>
<p>Please let me know if this setup can work. I am trying to follow the following guide </p>
<p><a href="http://openfoo.org/blog/amazon_vpc_with_linux.html">http://openfoo.org/blog/amazon_vpc_with_linux.html</a></p>
<p>From what I understand so far in order to make this guide work for my setup I need to do some extra configuration. I have also found out that IPSec supports tunnels behind NAT devices but I am not sure if Amazon VPC will support such configuration.</p>
<p>Any help in this matter is highly appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2010/08/connecting-to-amazon-virtual-private-cloud-using-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Using Boxgrinder to build your own AMI for EC2</title>
		<link>http://jeevanullas.in/blog/2010/08/using-boxgrinder-to-build-your-own-ami-for-ec2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-boxgrinder-to-build-your-own-ami-for-ec2</link>
		<comments>http://jeevanullas.in/blog/2010/08/using-boxgrinder-to-build-your-own-ami-for-ec2/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 10:31:05 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[ec2]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=131</guid>
		<description><![CDATA[In my last article I showed on how to create your own AMI for EC2. The article basically demonstrated the whole process been done manually by executing commands. In this article I would like to cover Boxgrinder which reduces the manual effort completely and helps you get your own AMI registered on EC2 and in [...]]]></description>
				<content:encoded><![CDATA[<p>In my last <a href="http://jeevanullas.in/blog/2010/08/creating-your-own-ami-for-amazon-ec2/">article</a> I showed on how to create your own AMI for EC2. The article basically demonstrated the whole process been done manually by executing commands. In this article I would like to cover <a href="http://www.jboss.org/stormgrind/projects/boxgrinder.html">Boxgrinder</a> which reduces the manual effort completely and helps you get your own AMI registered on EC2 and in few minutes.</p>
<p>First thing is that we need to run boxgrinder on CentOS if we would like to build a CentOS AMI and on Fedora if we would like to build a Fedora AMI. The good thing about boxgrinder is that it uses the latest <a href="http://cloudpress.org/2010/07/21/boxgrinder-build-0-5-0-release-with-fedora-13-on-ec2-support-and-stormfolio-update/">pvgrub</a> kernel images provided by Amazon which basically lets you boot into your own kernel. So gone are the days when we had to use Amazon EC2 kernel. Thanks to <a href="http://twitter.com/marekgoldmann">Marek Goldmann</a> for making this possible in boxgrinder 0.5</p>
<p><span id="more-131"></span></p>
<p>Without wasting much time let&#8217;s get started. I am going to build a Fedora 13 AMI for EC2 in this article but you can do the same stuff using CentOS. First of all we will have to install some required packages which are basically the dependencies.</p>
<pre># yum -y install git parted wget rpmdevtools appliance-tools \
sudo libguestfs ruby  rubygems ruby-libguestfs guestfish \
 yum-utils e2fsprogs</pre>
<p>Next we need to install the EC2 AMI tools</p>
<pre>#  rpm -Uvh http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.noarch.rpm</pre>
<p>Then we need to install couple of gems for boxgrinder which will let us build a AMI for EC2. The following are the gems</p>
<pre># gem install boxgrinder-build
# gem install boxgrinder-build-fedora-os-plugin
# gem install boxgrinder-build-ec2-platform-plugin
# gem install boxgrinder-build-s3-delivery-plugin</pre>
<p>Now we need to create a appliance definition file which will be used to build our AMI. This file is basically written in <a href="http://www.yaml.org/">YAML</a> format. The following is the file which I used:</p>
<pre>name: Fedora13EC2
summary: My Fedora on EC2
os:
 name: fedora
 version: 13
hardware:
 partitions:
   "/":
     size: 2
packages:
 includes:
   - bash
   - kernel-PAE
   - grub
   - e2fsprogs
   - passwd
   - policycoreutils
   - chkconfig
   - rootfiles
   - yum
   - vim-minimal
   - acpid
   - dhclient
   - iputils
   - openssh-server
   - openssh-clients
   - httpd
   - system-config-firewall-base</pre>
<p>Save this file in a directory appliances/ with the name Fedora13EC2.appl. Now we need to create a file which will store our AWS credentials and other important paths to certificate and private key. These are required by boxgrinder to put the image in S3 and register it with EC2.</p>
<pre># vi $HOME/.boxgrinder/plugins/s3
access_key: yourawsaccesskey                        # required
secret_access_key: youawssecretkey             # required
bucket: myownfedora-box                               # required
account_number: youramazonaccountnumber  # required
path: /mnt/images                                 # default: /
cert_file: /root/.ec2/yourcertificate.pem   # required only for ami type
key_file: /root/.ec2/yourprivatekey.pem  # required only for ami type</pre>
<p>We need to create the directory /mnt/images which will store the AMI.</p>
<pre># mkdir /mnt/images</pre>
<p>Finally we can fire boxgrinder to build the AMI.</p>
<pre># boxgrinder-build appliances/Fedora13EC2.appl -p ec2 -d ami</pre>
<p>It will run for few minutes and will end up with something like:</p>
<p>I, [2010-08-07T06:21:58.693095 #17381]  INFO &#8212; : Image successfully registered under id: ami-</p>
<p>That&#8217;s it. So simple right? Now you run this AMI and enjoy !</p>
<p>I would like to encourage people to look into this project. This is really awesome. For more information you can go through the following links<br />
<a href="http://community.jboss.org/wiki/BoxGrinderBuildPluginsDeliveryS3">http://community.jboss.org/wiki/BoxGrinderBuildPluginsDeliveryS3</a><br />
<a href="http://community.jboss.org/wiki/BoxGrinderApplianceDefinitionFiles">http://community.jboss.org/wiki/BoxGrinderApplianceDefinitionFiles</a><br />
<a href="http://community.jboss.org/docs/DOC-14384">http://community.jboss.org/docs/DOC-14384</a><br />
<a href="http://cloudpress.org/2010/07/21/boxgrinder-build-0-5-0-release-with-fedora-13-on-ec2-support-and-stormfolio-update/">http://cloudpress.org/2010/07/21/boxgrinder-build-0-5-0-release-with-fedora-13-on-ec2-support-and-stormfolio-update/</a><br />
<a href="http://cloudpress.org/2010/06/24/judcon-2010-boston-slides/">http://cloudpress.org/2010/06/24/judcon-2010-boston-slides/</a></p>
<p>In my next post I will cover my experience with passing user data scripts to EC2 AMI while starting the instance and much more to come. Happy hacking <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2010/08/using-boxgrinder-to-build-your-own-ami-for-ec2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Creating your own AMI for Amazon EC2</title>
		<link>http://jeevanullas.in/blog/2010/08/creating-your-own-ami-for-amazon-ec2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=creating-your-own-ami-for-amazon-ec2</link>
		<comments>http://jeevanullas.in/blog/2010/08/creating-your-own-ami-for-amazon-ec2/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 19:30:25 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[AMI]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=94</guid>
		<description><![CDATA[It&#8217;s been long since I posted on this blog. This time I have come up with this new post which takes you through on how to go about creating your own Amazon Machine Image (AMI) for Amazon EC2. Note that there are several publicly available AMI&#8217;s on Amazon which one can use for various purposes [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been long since I posted on this blog. This time I have come up with this new post which takes you through on how to go about creating your own Amazon Machine Image (AMI) for Amazon EC2. Note that there are several publicly available AMI&#8217;s on Amazon which one can use for various purposes but sometimes we require to have a AMI of our own which has all the require software / configuration to meet our daily requirements. That is time we need to know how to create our own AMI.</p>
<p>I would like to thank Phil Chen for his excellent post here <a href="http://www.philchen.com/2009/02/14/how-to-create-an-amazon-elastic-compute-cloud-ec2-machine-image-ami">http://www.philchen.com/2009/02/14/how-to-create-an-amazon-elastic-compute-cloud-ec2-machine-image-ami</a> which I followed and have mentioned below with some extra addition and some modification.</p>
<p><span id="more-94"></span></p>
<p>The steps I mention in this article are part of the manual process. The next part to this article will discuss a great tool call boxgrinder which can let you automate this process in a very easy way. I personally use boxgrinder on my machine to deploy brand new AMIs on Amazon EC2.</p>
<p>The first step of course to this tutorial is to have a account on Amazon EC2. It&#8217;s pretty easy to get one if you have a credit card <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Luckily I was provided a already existing account by my Manager. After you have the account on Amazon EC2 you need to login to the EC2 web console and get few things for yourself like:</p>
<ul>
<li>S3 ACCESS KEY</li>
<li>S3 SECRET KEY</li>
<li>AWS ACCOUNT NUMBER</li>
<li>EC2 PRIVATE KEY</li>
<li>EC2 CERTIFICATE</li>
</ul>
<p>In order to get these click on Account weblink inside the Amazon web console and then on Security Credentials. Once you have get the required data we need to install two packages provided by Amazon on our local system. The tools can work on Mac OSX and Linux, I am not sure about Windows.</p>
<p>I do have a local Linux machine but if I create the AMI on my local machine it will take lot of time to upload it to Amazon (due to slow internet connection). So instead of that I started a instance on EC2 for developing AMI. The major advantage is that it takes only few minutes to upload from their as the download/upload speed provided by Amazon is fantastic.</p>
<p>To start a instance you can use the web console provided by Amazon. I wanted to build a AMI for Centos 5 so I started the 32bit image for Centos 5.4 provided by RightScale free of cost available on EBS (Elastic Block Storage).</p>
<p>The instance will startup in few seconds and you will get a public DNS name for it. You can use one of your security keypair you associated when creating the instance to login as root to the instance.</p>
<p>Once you have logged in you need to set this instance as the development bed for creating AMIs. Download these 2 files:</p>
<ul>
<li><a href="http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip">http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip</a></li>
<li><a href="http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip">http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip</a></li>
</ul>
<p>Extract these 2 zip files inside your home directory for e.g /root or wherever you would like to extract them. Next you need to copy your private key and certificate for the EC2 account inside this running instance. I created a directory ~/.ec2/ and copied them there.</p>
<p>Next we need to setup the environment for our configuration. The following is what I wrote inside my ~/.bashrc</p>
<pre>export PATH=$PATH:/root/ec2amitools/bin/:/root/ec2apitools/bin/
export EC2_HOME=/root/ec2apitools/
export EC2_AMITOOL_HOME=/root/ec2amitools/
export EC2_PRIVATE_KEY=~/.ec2/pk-yourprivatekey.pem
export EC2_CERT=~/.ec2/cert-yourcertificate.pem</pre>
<p>Note that I extracted the AMI tools inside /root/ec2amitools and API tools inside /root/ec2apitools/ hence those paths in EC2_HOME and PATH.</p>
<p>In order to reflect the changes you need to source the bash profile.</p>
<pre>source ~/.bashrc</pre>
<p>Now it&#8217;s time to create a image file inside the running instance which will basically hold our operating system for the new AMI.</p>
<pre>dd if=/dev/zero of=/mnt/ami-centos5.5-32bit-base.img bs=1M count=10240</pre>
<p>Next we need to create a filesystem on this image.</p>
<pre>/sbin/mke2fs -F -j /mnt/ami-centos5.5-32bit-base.img</pre>
<p>We need to now mount this image on some directory. I created a directory /mnt/centos and mounted this image as loopback.</p>
<p>Next we need to create some basic directories inside /mnt/centos/ which are required.</p>
<pre>mkdir /mnt/centos/proc
mkdir /mnt/centos/etc
mkdir /mnt/centos/dev
mkdir /mnt/centos/var
mkdir /mnt/centos/var/cache
mkdir /mnt/centos/var/log
mkdir /mnt/centos/var/lock
mkdir /mnt/centos/var/lock/rpm</pre>
<p>Also we need to create 3 basic devices inside /mnt/centos/dev</p>
<pre>/sbin/MAKEDEV -d /mnt/centos/dev -x console
/sbin/MAKEDEV -d /mnt/centos/dev -x null
/sbin/MAKEDEV -d /mnt/centos/dev -x zero</pre>
<p>We also need to create /mnt/etc/fstab file for our image and populate it with the following information which is required for a 32bit image</p>
<pre>/dev/sda1	/		ext3		defaults	1	1
none		/dev/pts	devpts	        gid=5,mode=620	0	0
none		/dev/shm	tmpfs	        defaults	0	0
none		/proc		proc		defaults	0	0
none		/sys		sysfs		defaults	0	0
/dev/sda2	/mnt		ext3		defaults	0	0
/dev/sda3	swap		swap		defaults	0	0</pre>
<p>Now we need to mount the proc filesystem for our new image.</p>
<pre>mount -t proc none /mnt/centos/proc</pre>
<p>We will be required to install the base operating system inside this image file. Yum configuration should be created and saved in a file. I saved it in /mnt/yum-ami.conf</p>
<pre>[main]
cachedir=/var/cache/yum
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800

[base]
name=CentOS-5 - Base
mirrorlist=http://mirrorlist.centos.org/?release=5&amp;arch=i386&amp;repo=os
#baseurl=http://mirror.centos.org/centos/5/os/i386/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-5 - Updates
mirrorlist=http://mirrorlist.centos.org/?release=5&amp;arch=i386&amp;repo=updates
#baseurl=http://mirror.centos.org/centos/5/updates/i386/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-5 - Addons
mirrorlist=http://mirrorlist.centos.org/?release=5&amp;arch=i386&amp;repo=addons
#baseurl=http://mirror.centos.org/centos/5/addons/i386/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-5 - Extras
mirrorlist=http://mirrorlist.centos.org/?release=5&amp;arch=i386&amp;repo=extras
#baseurl=http://mirror.centos.org/centos/5/extras/i386/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5 - Plus
mirrorlist=http://mirrorlist.centos.org/?release=5&amp;arch=i386&amp;repo=centosplus
#baseurl=http://mirror.centos.org/centos/5/centosplus/i386/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users
[contrib]
name=CentOS-5 - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=5&amp;arch=i386&amp;repo=contrib
#baseurl=http://mirror.centos.org/centos/5/contrib/i386/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5</pre>
<p>Now it&#8217;s time to install the base:</p>
<pre>yum -c /mnt/yum-ami.conf --installroot=/mnt/centos -y groupinstall Base</pre>
<p>This will install around 333 packages. After this is done we will install openssh packages inside the image because using openssh server only we will accessing the instance remotely</p>
<pre>yum -c /mnt/yum-ami.conf --installroot=/mnt/centos/ -y install *openssh*</pre>
<p>Make sure you put sshd on chkconfig so that it starts automatically when the instance runs:</p>
<pre>/usr/sbin/chroot /mnt/centos/ /sbin/chkconfig sshd --add
/usr/sbin/chroot /mnt/centos/ /sbin/chkconfig --level 12345 sshd on</pre>
<p>After this is done we need to configure our image for Amazon. First thing is to put kernel modules for Amazon inside the image. This is required in order to make this image run on EC2.</p>
<pre>cp -r /lib/modules/2.6.21.7-2.fc8xen/ /mnt/centos/lib/modules/
/usr/sbin/chroot /mnt/centos/ /sbin/depmod -ae 2.6.21.7-2.fc8xen</pre>
<p>One of the service which is set on in a default base install is kudzu (the hardware detecting service). We need not start it at all on EC2</p>
<pre>/usr/sbin/chroot /mnt/centos /sbin/chkconfig --del kudzu</pre>
<p>Next we need to configure openssh server configuration for EC2</p>
<pre>vi /mnt/centos/etc/ssh/sshd_config</pre>
<p>The two lines which we should make changes are:</p>
<pre>UseDNS no
PermitRootLogin without-password</pre>
<p>Next we need to setup networking inside this image. The following needs to be done for the same:</p>
<pre>vi /mnt/centos/etc/sysconfig/network

NETWORKING=yes
HOSTNAME=localhost.localdomain

vi /mnt/centos/etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=yes
DEVICE=eth0
BOOTPROTO=dhcp</pre>
<p>When a instance boots in EC2 it needs to get your SSH keys in order to allow sshkey based authentication. We will create a init script for the same in /mnt/centos/etc/init.d/ with the name getssh</p>
<pre>#!/bin/bash
# chkconfig: 2345 95 20
# description: getssh
# processname: getssh
#
export PATH=:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
[ -r /etc/sysconfig/network ] &amp;&amp; . /etc/sysconfig/network

# Check that networking is up.
[ "${NETWORKING}" = "no" ] &amp;&amp; exit 1

start() {
  if [ ! -d /root/.ssh ] ; then
          mkdir -p /root/.ssh
          chmod 700 /root/.ssh
  fi
  # Fetch public key using HTTP
/usr/bin/curl -f \
 http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key \
  &gt; /tmp/my-key
  if [ $? -eq 0 ] ; then
          cat /tmp/my-key &gt;&gt; /root/.ssh/authorized_keys
          chmod 600 /root/.ssh/authorized_keys
          rm /tmp/my-key
  fi
  # or fetch public key using the file in the ephemeral store:
  if [ -e /mnt/openssh_id.pub ] ; then
          cat /mnt/openssh_id.pub &gt;&gt; /root/.ssh/authorized_keys
          chmod 600 /root/.ssh/authorized_keys
  fi
}

stop() {
  echo "Nothing to do here"
}

restart() {
  stop
  start
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  *)
    echo $"Usage: $0 {start|stop}"
    exit 1
esac

exit $?
###END OF SCRIPT</pre>
<p>We will add this script to chkconfig and make sure it is executed everytime our instance starts</p>
<pre>/bin/chmod +x /mnt/centos/etc/init.d/getssh
/usr/sbin/chroot /mnt/centos/ /sbin/chkconfig --level 34 getssh on</pre>
<p>This makes our image ready for EC2. We need to do cleanup now so the image size is reduced:</p>
<pre>yum -c /mnt/yum-ami.conf --installroot=/mnt/centos clean all
sync
umount /mnt/centos/proc
umount /mnt/centos</pre>
<p>Now its time to bundle the image for EC2.</p>
<pre>ec2-bundle-image --image /mnt/ami-centos5.5-32bit-base.img --prefix \
 ami-centos5.5-32bit-base --cert ~/.ec2/cert-yourcertificate.pem \
 --privatekey ~/.ec2/pk-yourprivatekey.pem \
 --user youraccountnumber --destination /mnt/centos/ --arch i386</pre>
<p>After the bundle is over we need to upload it to S3 using the following command:</p>
<pre>ec2-upload-bundle --manifest /mnt/centos/ami-centos5.5-32bit-base.manifest.xml \
 --bucket centos55-cpr-base  \
--access-key youraccesskey \
 --secret-key yoursecretkey \
 --location US</pre>
<p>Finally we register this image with EC2 so we can use it to boot a instance</p>
<pre>ec2-register -n centos55cpr  \
 centos55-cpr-base/ami-centos5.5-32bit-base.manifest.xml</pre>
<p>Our image is ready to boot. We can now run the instance using this image via following command:</p>
<pre>ec2-run-instances youramid \
-k yoursshkey  \
--kernel aki-a71cf9ce \
--ramdisk ari-a51cf9cc \
--instance-type m1.small \
--region us-east-1</pre>
<p>It takes sometime for the instance to startup (as the image is in S3). To find what public DNS name this instance got we can issue the following command</p>
<pre>ec2-describe-instances</pre>
<p>After the instance has booted we will login into it using the sshkey we specified while starting the instance. Note that this instance we will be stored in S3 and will act as base for other images which we might plan to create in future. For e.g we have a requirement to have a Apache webserver image based on Centos 5.5 32bit we can utilize this base image and create a EBS volume for the new Apache image. Let&#8217;s see how to do that after the base image has booted.</p>
<p>We need to create a EBS volume of size at least 10GB.</p>
<pre>ec2-create-volume -s 12 -z us-east-1d</pre>
<p>Now we need to wait for few minutes till the volume is created. As soon as the volume creation is finished we attach it to our already running instance (image is in S3).</p>
<pre>ec2-attach-volume vol-ea92ef83 -i i-b6dd60dc -d /dev/sdb</pre>
<p>The volume id vol-ea92ef83 you can find out from ec2-describe-volumes and the instance id i-b6dd60dc you can find out from ec2-describe-instances.</p>
<p>Now we need to login to our instance and copy the whole root filesystem which is in /dev/sda1 to /dev/sdb using dd command.</p>
<pre>dd bs=65536 if=/dev/sda1 of=/dev/sdb</pre>
<p>Filesystem check on the EBS volume should be done now:</p>
<pre>fsck /dev/sdb</pre>
<p>Now we can mount the EBS volume and make any necessary changes we would like to make. For e.g we would like to make a HTTPD server EBS volume we simply follow these steps:</p>
<pre>mkdir /mnt/ebs
mount /dev/sdb /mnt/ebs
mount -t proc none /mnt/ebs/proc
yum -c /mnt/yum-ami.conf --installroot=/mnt/ebs -y install httpd
/usr/sbin/chroot /mnt/ebs chkconfig httpd --add
/usr/sbin/chroot /mnt/ebs chkconfig --level 234 httpd on
umount /mnt/ebs/proc
umount /mnt/ebs</pre>
<p>Finally we will have to create a snapshot of the EBS volume:</p>
<pre>ec2-create-snapshot -d centos55-apache vol-ea92ef83</pre>
<p>Now we can build a AMI out of this snapshot which will be stored on EBS volume using the following command</p>
<pre>ec2-register -n centos5.5-32bit-httpd \
 --architecture i386 \
 --block-device-mapping /dev/sda1=snap-a06dbfcb:12:false</pre>
<p>You can find out the snapshot id snap-a06dbfcb from ec2-describe-snapshots. The command above will finally generate the AMI id which we can use later to boot our instance out of EBS volume.</p>
<pre>ec2-run-instances -k yoursshkeypair \
 ami-936289fa \
 --region us-east-1 \
--instance-type m1.small</pre>
<p>I hope this article will help all the EC2 users out there who plans to roll their own base AMI and then custom software stack specific EBS volumes. In the next article I plan to cover boxgrinder a great tool which helps you do the whole process mentioned above in 1 single command. So stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2010/08/creating-your-own-ami-for-amazon-ec2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fedora 13 release party in Bangalore</title>
		<link>http://jeevanullas.in/blog/2010/06/fedora-13-release-party-in-bangalore/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fedora-13-release-party-in-bangalore</link>
		<comments>http://jeevanullas.in/blog/2010/06/fedora-13-release-party-in-bangalore/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 10:48:54 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=86</guid>
		<description><![CDATA[I am a little late on writing about the release party we had last week on Saturday, was occupied with $work.  Well it all started with the mail of Rangeen to FSUG mailing list. That time I have just come to Bangalore and thought it will be great to meet all the Fedora folks in [...]]]></description>
				<content:encoded><![CDATA[<p>I am a little <a href="http://dodoincfedora.wordpress.com/2010/06/05/fedora-13-release-party-with-fsmk-in-bengaluru/">late</a> on writing about the release party we had last week on Saturday, was occupied with <a href="http://www.infosys.com">$work</a>.  Well it all started with the mail of <a href="https://fedoraproject.org/wiki/User:Sherry151">Rangeen</a> to <a href="http://lists.fsmk.in/private.cgi/fsmk-discuss-fsmk.in/2010-May/000449.html">FSUG</a> mailing list. That time I have just come to Bangalore and thought it will be great to meet all the Fedora folks in Bangalore during such party. Venue was a big issue initially as almost all the colleges in Bangalore were having exams. But I knew my friend <a href="http://www.facebook.com/saket.srivastav">Saket</a> who has been pretty active in <a href="http://fsmk.org">FSMK</a> Bangalore. I contacted him and asked him if we can organize this release party at FSMK Bangalore office. I got a positive reply and after confirmation from the FSMK folks we <a href="http://lists.fsmk.in/private.cgi/fsmk-discuss-fsmk.in/2010-June/000475.html">finalized </a>to have it at FSMK Bangalore office on June 5th.</p>
<p>I personally never expected many folks to turn up because of two reasons. One been that many colleges in Bangalore were having end semester exams plus we don&#8217;t have much Fedora folks here in Bangalore. Initially we (<a href="https://fedoraproject.org/wiki/User:Deepsa">Me</a>, <a href="https://fedoraproject.org/wiki/User:Ankursinha">Ankur</a>, <a href="https://fedoraproject.org/wiki/User:Hiemanshu">Hiemanshu</a> , <a href="http://twitter.com/dipjyotighosh">Dipjyoti</a> and <a href="https://fedoraproject.org/wiki/User:Sherry151">Rangeen</a>) had a hard time finding out the office. Point to remember GPS in India will not be accurate enough with all these narrow lanes everywhere.</p>
<p><span id="more-86"></span></p>
<p>Finally we found the place and till then FSMK folks also started turning up. I would like to specially mention Vignesh, Prabodh and Naveen from FSMK core team who turned up for the party and assisted with the logistics. We had few other people some friends of <a href="https://fedoraproject.org/wiki/User:Sherry151">Rangeen</a> , students of Prabodh&#8217;s previous college <a href="http://cmrit.cmredu.com/">CMRIT</a> and other FSMK members.</p>
<p>We started with the discussion about why people should use Linux and not Windows. I never expected to start with such discussion in a Fedora release party but I love to be part of such discussion. It was great. Many questions were thrown on us. Why Linux? Linux? Is it user friendly enough? Why would a normal user plan to switch to Linux? People there who were using Fedora for past 4 years had such questions. I respect all the points given by them.</p>
<p>We started answering one by one. Inputs were given by Naveen on how the current scenario is changing and government bodies across India are encouraging FOSS in schools and engineering colleges. The current projects by Knowledge Commons and MHRD were been discussed with all the participants.</p>
<p>Me and Rangeen told the participants about how things (hardware) works out of the box these days with Fedora. How easily if you plug a mobile broadband card you can be sure that it will work without any hassle (all thanks to the great NetworkManager). We discussed why latest hardware sometime doesn&#8217;t work on most of the Linux distributions and how things are now changing. Times have changed and we should look towards improving things instead of blaming about them (my personal opinion).</p>
<p>Naveen introduced us to the FSMK activities currently going on. I personally got to know lot from that and looking forward to contribute to the cause FSMK is supporting.</p>
<p>While the hot discussion on various topics related to Linux/Windows was going on we ordered pizza&#8217;s for all of us. I would like to mention here how happy was the pizza girl over phone that she told me to not pick her phone after few minutes. She loved my Kannada ring tone <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Once the dust of doubts and questions settled down <a href="https://fedoraproject.org/wiki/User:Ankursinha">Ankur</a> started giving the Fedora 13 DVD/Live CD media to all the members. We also copied ISO for others who brought USB stick. I personally got DVD 32bit ISO from Ankur. Thanks a lot Ankur because I am writing this blog post from a Fedora 13 loaded laptop  <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>After that we briefly discussed the new features in Fedora 13 among the participants and touched few special points from the release notes handouts given to them by Ankur and <a href="https://fedoraproject.org/wiki/User:Sherry151">Rangeen</a></p>
<p>Pizzas had arrived by that time and we ate them all!! It was great having pizza and garlic bread-sticks with jalapeño. Finally we all exchanged our phone numbers and promised to stay in touch <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Overall turn out was around 10 + we four Fedora folks (<a href="https://fedoraproject.org/wiki/User:Deepsa">Me</a>, <a href="https://fedoraproject.org/wiki/User:Sherry151">Rangeen</a>, <a href="https://fedoraproject.org/wiki/User:Hiemanshu">Hiemanshu</a> and <a href="https://fedoraproject.org/wiki/User:Ankursinha">Ankur</a>). That was a good figure. We have now aligned ourself with the FSMK and we plan to conduct some good workshops as soon as the college re-opens in Bangalore. Fedora is going to spread everywhere in the air of Bangalore I am sure. We are looking for contributors and FSMK is also planning their strategy on the same grounds. I hope to see some good action coming in next few weeks.</p>
<p>Oh yes, I don&#8217;t want to miss this part. After the release party ended me and <a href="https://fedoraproject.org/wiki/User:Hiemanshu">Hiemanshu</a> planned to end up in pub (purple haze in Kormangla). Ankur and Rangeen didn&#8217;t supported us so we went there alone. Hiemanshu had I believe 2 different cocktails and me 1 pitcher of Foster&#8217;s <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Drink beer use Fedora our motto!! Few pictures were shot by Me, Rangeen, <a href="http://twitter.com/dipjyotighosh">Dipjyoti</a> and Ankur. You can find them here:</p>
<p><a href="http://picasaweb.google.com/dipjyoti.ghosh/Fedora13ReleaseParty#">http://picasaweb.google.com/dipjyoti.ghosh/Fedora13ReleaseParty#</a></p>
<p><a href="http://picasaweb.google.com/sherry151/">http://picasaweb.google.com/sherry151/</a></p>
<p><a href="http://picasaweb.google.com/sanjay.ankur/Fedora13ReleaseParty">http://picasaweb.google.com/sanjay.ankur/Fedora13ReleaseParty</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2010/06/fedora-13-release-party-in-bangalore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hackers dom in Hyderabad</title>
		<link>http://jeevanullas.in/blog/2010/04/hackers-dom-in-hyderabad/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hackers-dom-in-hyderabad</link>
		<comments>http://jeevanullas.in/blog/2010/04/hackers-dom-in-hyderabad/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 03:12:40 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[System Administration]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Eucalyptus]]></category>
		<category><![CDATA[KVM]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=78</guid>
		<description><![CDATA[Well we hackers can&#8217;t live without our machines and that&#8217;s so true. Recently I have been playing with EBS volumes in Eucalyptus but was not able to make it work on Centos 5.4 with XEN more information can be found here. Then I thought to give it a try on our KVM + Fedora 12. [...]]]></description>
				<content:encoded><![CDATA[<p>Well we hackers can&#8217;t live without our machines and that&#8217;s so true. Recently I have been playing with EBS volumes in <a href="http://open.eucalyptus.com">Eucalyptus</a> but was not able to make it work on Centos 5.4 with XEN more information can be found <a href="http://open.eucalyptus.com/forum/euca-attach-volume-failed-centos-54-hotplug-scripts-not-working">here</a>. Then I thought to give it a try on our KVM + Fedora 12. But wait a minute we need more than 1 machine to try EBS volume. Hmm, just gave it a thought and remembered that I have another laptop with me at home. My brother&#8217;s new DELL laptop which is only having Windows 7 and nothing else. He doesn&#8217;t like anyone else to install any other OS on it so I thought of putting Fedora 12 inside VMware and finally after doing that I started my hacking experiment.</p>
<p>I have been running my <a href="http://open.eucalyptus.com">Eucalyptus</a> private cloud on a single laptop till now and knew that I can&#8217;t use brother&#8217;s laptop as node because it has windows 7 and fedora 12 was running inside VM. So I started installing eucalyptus 1.6.2 on that VM via source and finished eucalyptus as well euca2ools installation. Created that VM as the head running Cloud controller, cluster controller, storage controller and walrus. Next I switched to my laptop from scratch installed eucalyptus and configured it to run as node. My laptop is super cool. It&#8217;s been 4 years I have had this machine but the good thing it has the special processor flags which gives VT support so that I can run fully virtualized VM in KVM (kvm_intel).</p>
<p><span id="more-78"></span></p>
<p>The next thing which started bothering me was I didn&#8217;t had much space on my laptop left to store the instance copies when it boots up and later runs. But I have a 500 GB hard drive which I can use for this purpose. Created a directory on one of the partitions in my external hard drive and inside my node&#8217;s eucalyptus.conf</p>
<p><code>INSTANCE_PATH="/media/f5a889e3-9300-4565-9cb3-9d14b79ad124/images/"</code></p>
<p>The other thing I changed in my eucalyptus.conf was the VNET_BRIDGE interface which by default is xenbr0. This works good for XEN but not for KVM. Changed it to following:</p>
<p><code>VNET_BRIDGE="virbr0"</code></p>
<p>Then I remember that console thing didn&#8217;t worked for me when I first tried eucalyptus on KVM+Fedora 12 sometime back and for that to work I was suggested a <a href="http://community.eucalyptus.com/forum/new-vm-instances-are-terminated">patch</a> at the forums. Applied that patch on my <em>/opt/eucalyptus/usr/share/eucalyptus/partition2disk</em> and all was set.</p>
<p>The next big thing to work out was my networking. The two laptops could have been connected to each other via a ad-hoc network but I prefer a cable connection as it makes the image transfer faster. I have a cross cable with me so I used it to connect both the laptops. The cross cable connection was available inside my VMware VM via bridged connection. The only thing I did different was the gateway IP inside my head (brother&#8217;s laptop fedora 12 VM running inside VMware) I gave my laptop&#8217;s eth0 IP. This was done because my instance will get a IP on the subnet 192.168.122.0/255.255.255.0 and my network was on 192.168.1.0/255.255.255.0. Once I did that I started the instance and later when it booted was able to ssh to it with my private key (password less login).</p>
<p>The other problem I had was sharing internet connection at the same time. I use a reliance usb device for internet connectivity. I attached that to my laptop started the connection created a simple squid proxy configuration which allows 192.168.1.0/255.255.255.0 and configured the same proxy on the fedora 12 VM in my brother&#8217;s laptop. This made internet as well as yum (had to made a proxy entry in /etc/yum.conf) working on the VM which was required to install some RPMS from the repos.</p>
<p>Sounds cool, eh? Let&#8217;s see a picture of this setup.</p>
<p><a href="http://188.40.110.37/blog/wp-content/uploads/2010/04/17042010085.jpg"><img class="alignnone size-medium wp-image-79" title="Hackers dom in hyderabad" src="http://jeevanullas.in/blog/wp-content/uploads/2010/04/17042010085-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>In the picture above you can see my laptop on the left hand side connected to my external 500 GB maxtor hard drive, reliance USB device and my brother laptop on the right via cross cable wire.</p>
<p>Though the setup worked and I was able to boot instance and login to them I was not able to see my EBS volume inside the VM. I have updated my forum entry for the same and you can find more information about it <a href="http://community.eucalyptus.com/forum/new-vm-instances-are-terminated">here</a>. Let me know if you have any suggestions for me.</p>
<p>Please note that this is a small private cloud facility running out of my home and its scalable so if you got a laptop or a machine which you would like to add to this cloud do let me know.</p>
<p>Signing off for now but the love for machines still not ends up going to office to play more with those.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2010/04/hackers-dom-in-hyderabad/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Cloud Computing is the future</title>
		<link>http://jeevanullas.in/blog/2010/04/cloud-computing-is-the-future/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cloud-computing-is-the-future</link>
		<comments>http://jeevanullas.in/blog/2010/04/cloud-computing-is-the-future/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 16:34:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[System Administration]]></category>
		<category><![CDATA[Centos]]></category>
		<category><![CDATA[Eucalyptus]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=75</guid>
		<description><![CDATA[Well for those who don&#8217;t know, since Jan 2010 I have been working on eucalyptus a open source software to setup private cloud inside organization premises. I have seen lot of people blogging about eucalyptus specifically on Ubuntu Server edition. Well to be frank eucalyptus is a great software and it works with almost al [...]]]></description>
				<content:encoded><![CDATA[<p>Well for those who don&#8217;t know, since Jan 2010 I have been working on <a href="http://open.eucalyptus.com/">eucalyptus</a> a open source software to setup private cloud inside organization premises.</p>
<p>I have seen lot of people blogging about eucalyptus specifically on Ubuntu Server edition. Well to be frank eucalyptus is a great software and it works with almost al latest linux distributions. Though I haven&#8217;t found time to test all the available linux distribution as I am stuck with work and Fedora but I have tested it on centos 5.4 and Fedora 12. Works great!</p>
<p>Few problems I have always faced but the IRC channel for eucalyptus on freenode as well as the online <a href="http://open.eucalyptus.com/forum">forums</a> have been really helpful in solving my doubts.</p>
<p>I plan to write my experiences with eucalyptus on this blog in times to come. Besides eucalyptus creating virtual appliances in a automated way is also one of the areas I have worked on paste few weeks. This is all specific to fedora right now using <a href="http://www.jboss.org/stormgrind/projects/boxgrinder/build.html">boxgrinder</a>. It is a alternative to vm-builder which ubuntu folks have got.</p>
<p>I am a strong support of the fedora project and love the way how the fedora community is structured and functions. Have been associated with it since the beginning (Fedora core 1).</p>
<p>In the end, for now, I would just like to say, cloud computing is the future and open source is the best medium we have all got to implement it.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2010/04/cloud-computing-is-the-future/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Random musings from city of nizams</title>
		<link>http://jeevanullas.in/blog/2010/02/random-musings-from-city-of-nizams/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=random-musings-from-city-of-nizams</link>
		<comments>http://jeevanullas.in/blog/2010/02/random-musings-from-city-of-nizams/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 06:42:37 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2010/02/27/random-musings-from-city-of-nizams/</guid>
		<description><![CDATA[These days I am living in hyderabad which is famous for briyani and haleem. The city is very lively with crowd everywhere I go. Few things I would like to talk about this great city which I have found out. 1. If you are a hardcore non-vegetarian this is the place to be. This city [...]]]></description>
				<content:encoded><![CDATA[<p>These days I am living in hyderabad which is famous for briyani and haleem. The city is very lively with crowd everywhere I go. Few things I would like to talk about this great city which I have found out.</p>
<p>1. If you are a hardcore non-vegetarian this is the place to be. This city has to offer variety of chicken and mutton and it is not costly either.</p>
<p>2. Briyani lovers, please go to paradise hotel. It&#8217;s like the makka madena of briyani. I have been there only once with my friends but would love to go again.</p>
<p>3. The place where I live is close to the famous hi-tech city. This hi-tech city is the area where you will see huge buildings some of them having nice arch. too. It is full of dynamic youth which are not at all driven by passion or enthusiasm but auto rickshaw drivers who run their auto&#8217;s in sharing mode. Even I am a regular customer of these sharing autos where you have to sit in front with the driver if there are ladies.</p>
<p>4. Description of this city will be in-complete without discussing my work place. The best place to be. It&#8217;s even better from my room because I don&#8217;t get power cuts there. It has a green landscape with small water falls, awesome food courts, big and nice buildings. We have in the employee care center everything. We got bank, gym, more store, indigo nation showroom, table tennis, carrum, snooker, dance class, tennis court, basketball ground, cricket ground, laundrament, apollo clinic and most important of all these if you would like to take rest or sleep we have got dormitory, separate for men and women. The dormitory is special cause it has got clean bed with air conditioned dark room where one can sleep for hours. Other things in the employee care center are strand book stall which has got some of the nice books for me to read at a discounted price.</p>
<p>What else? I am still exploring this city though not that much but as and when I get time. The places I have visited so far are near to my living place. I plan to go to the old city sometime and visit the original places where as I have heard there are still some nizams or at-least their property.</p>
<p>Right now I would like to advice you not to go to the old city just like that due to the telengana issue. It&#8217;s a big issue and sometimes results in curfew in the whole city. At that time it&#8217;s hard to find good food and easy way to commute. I have seen bike number plates having TG(telengana) instead of AP(Andhra pradesh)</p>
<p>I was able to write this post because of my E72 and pretty good airtel GPRS connection. Laptop battery died few minutes ago and still we don&#8217;t have lights here. What a life in the city they call as cyberabad.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2010/02/random-musings-from-city-of-nizams/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hello Internet</title>
		<link>http://jeevanullas.in/blog/2010/02/hello-internet/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hello-internet</link>
		<comments>http://jeevanullas.in/blog/2010/02/hello-internet/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 19:22:50 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[random]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/?p=5</guid>
		<description><![CDATA[Dear Internet, I am glad to be part of you. Here I am, back, finally with my own space. I hope this journey is long and becomes learning experience for both of us. Looking forward to have a great time with you. Thanks ~jeevanullas]]></description>
				<content:encoded><![CDATA[<p>Dear Internet,</p>
<p>I am glad to be part of you. Here I am, back, finally with my own space. I hope this journey is long and becomes learning experience for both of us. Looking forward to have a great time with you.</p>
<p>Thanks</p>
<p>~jeevanullas</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2010/02/hello-internet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>End of a long silence</title>
		<link>http://jeevanullas.in/blog/2009/06/end-of-a-long-silence/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=end-of-a-long-silence</link>
		<comments>http://jeevanullas.in/blog/2009/06/end-of-a-long-silence/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 05:22:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2009/06/17/end-of-a-long-silence/</guid>
		<description><![CDATA[Hey all , I am back Well at least I will try to be regular now on this blog and write few things which I have been engaged with these days. So stay tune!]]></description>
				<content:encoded><![CDATA[<p>Hey all , I am back  <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Well at least I will try to be regular now on this blog and write few things which I have been engaged with these days.</p>
<p>So stay tune!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2009/06/end-of-a-long-silence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I voted</title>
		<link>http://jeevanullas.in/blog/2008/12/i-voted/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=i-voted</link>
		<comments>http://jeevanullas.in/blog/2008/12/i-voted/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 03:07:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2008/12/07/i-voted/</guid>
		<description><![CDATA[Cast your vote go to : https://admin.fedoraproject.org/voting]]></description>
				<content:encoded><![CDATA[<p><a href="http://deepsa.fedorapeople.org/fedora-i-voted.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="cursor: pointer; width: 250px; height: 250px;" src="http://deepsa.fedorapeople.org/fedora-i-voted.png" border="0" alt="" /></a></p>
<p>Cast your vote go to : <a href="https://admin.fedoraproject.org/voting">https://admin.fedoraproject.org/voting</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2008/12/i-voted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora 10 brings happiness to linuxguru&#039;s Life</title>
		<link>http://jeevanullas.in/blog/2008/11/fedora-10-brings-happiness-to-linuxgurus-life/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fedora-10-brings-happiness-to-linuxgurus-life</link>
		<comments>http://jeevanullas.in/blog/2008/11/fedora-10-brings-happiness-to-linuxgurus-life/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 03:57:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2008/11/25/fedora-10-brings-happiness-to-linuxgurus-life/</guid>
		<description><![CDATA[Yay!! Cambridge was out yesterday night (IST). And just when the download was about to finish for me I got my Directory Services exams result and I was told that I have passed the exam. w000t. That was the last hurdle in the way to become RHCSS. Finally I can call myself Redhat Certified Security [...]]]></description>
				<content:encoded><![CDATA[<p>Yay!!</p>
<p>Cambridge was out yesterday night (IST).</p>
<p>And just when the download was about to finish for me I got my Directory Services exams result and I was told that I have passed the exam. w000t. That was the last hurdle in the way to become RHCSS.</p>
<p>Finally I can call myself Redhat Certified Security Specialist.</p>
<p>How awesome all this looks. Brand new fedora on my laptop and desktop machines and RHCSS!!!</p>
<p>For verficiation:-</p>
<p>http://www.redhat.com/training/certification/verify/?rhce_cert_display:certno=804006843818597&#038;rhce_cert_display:verify_cb=Verify</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2008/11/fedora-10-brings-happiness-to-linuxgurus-life/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introducing myself to Fedora Planet</title>
		<link>http://jeevanullas.in/blog/2008/10/introducing-myself-to-fedora-planet/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=introducing-myself-to-fedora-planet</link>
		<comments>http://jeevanullas.in/blog/2008/10/introducing-myself-to-fedora-planet/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 02:30:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2008/10/21/introducing-myself-to-fedora-planet/</guid>
		<description><![CDATA[Hi Fedora Planet, Thanks for accepting me . Those who would like to know more about me just have a look here. Hope to get some meaningful posts in the future. Till then Enjoy!]]></description>
				<content:encoded><![CDATA[<p>Hi Fedora Planet,</p>
<p>Thanks for accepting me <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . Those who would like to know more about me just have a look <a href="https://fedoraproject.org/wiki/User:Deepsa">here</a>.</p>
<p>Hope to get some meaningful posts in the future. <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Till then Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2008/10/introducing-myself-to-fedora-planet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Securing Log Server in RHEL</title>
		<link>http://jeevanullas.in/blog/2008/07/securing-log-server-in-rhel/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=securing-log-server-in-rhel</link>
		<comments>http://jeevanullas.in/blog/2008/07/securing-log-server-in-rhel/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 13:15:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2008/07/28/securing-log-server-in-rhel/</guid>
		<description><![CDATA[Few weeks back I took up the task to replace my syslog server in RHEL5.2 with the new rsyslog package. Redhat packaged rsyslog from RHEL 5 starting with update 2. So I thought of testing it out with stunnel supporting me encryption over the communication line. The setup goes something like this:- I have two [...]]]></description>
				<content:encoded><![CDATA[<div style="text-align: justify;">Few weeks back I took up the task to replace my syslog server in RHEL5.2 with the new rsyslog package. Redhat packaged rsyslog from RHEL 5 starting with update 2. So I thought of testing it out with stunnel supporting me encryption over the communication line.</p>
<p>The setup goes something like this:-</p>
<p>I have two RHEL5.2 machines one is <code>station1</code> and the other is <code>server1</code>. The <code>station1</code> machine sends the log for <code>local6</code> facility of any type of priority to <code>server1</code>. But the log send over to <code>server1</code> is going to be encrypted via stunnel package. Let&#8217;s see how:-</p>
<p><b>Setup at server1</b></p>
<p>This is going to be our central log server for <code>local6</code> log facility. First of all we will install the <code>rsyslog</code> package which though comes with RHEL5.2 but is not the default:-<br /><code><br />#yum install rsyslog<br />#service syslog stop<br />#yum remove sysklogd<br />#service rsyslog start<br />#chkconfig rsyslog on<br /></code></p>
<p>Next we configure rsyslog such that it listens for connections on tcp/61514<br /><code><br />#vi /etc/sysconfig/rsyslog<br /></code></p>
<p>Edit it such that at line 6 it shows:-<br /><code><br />SYSLOGD_OPTIONS="-m 0 -t 61514"<br /></code></p>
<p>Now we need to add this port 61514/tcp to our semanage ports. This will be done via the following command:-<br /><code><br />#semanage port -a -t syslogd_port_t -p tcp 61514<br /></code></p>
<p>Later we can see if the above command have succesfully worked or not by issuing the following command:-<br /><code><br />#semanage port -l | grep syslogd_port_t<br /></code></p>
<p>The output of the above command will be something like this on a default installation of RHEL5.2<br /><code><br />syslogd_port_t                 tcp      61514<br />syslogd_port_t                 udp      514<br /></code></p>
<p>This tells that port 514/udp and port 61514/tcp are SELinux managed for the type syslogd_port_t. Okay that&#8217;s what we wanted. For securing the log server we want it to run on a tcp port and that&#8217;s why we did all this starting from editing <code>/etc/sysconfig/rsyslog</code> to <code>semanage</code>. Note that all our setups have SELinux in enforcing mode so it&#8217;s necessary that we take proper care of SELinux.</p>
<p>Next we restarted the rsyslog service.<br /><code><br />#service rsyslog restart<br /></code></p>
<p>Now we need to configure stunnel on server1 so that it accepts connections from the client on some fix port and forward them to port 61514/tcp running on server1. We will ensure via the iptables that the port 61514/tcp is not directly exposed to the network as well as port 514/udp.<br /><code><br />#iptables -A MYCHAIN -p tcp --dport 60514 -j ACCEPT<br />#service iptables save<br /></code></p>
<p>This rule opens up port 60514/tcp on server1. This will be the port where stunnel running on server1 will listen for client connections and later forward them to locally running rsyslog service at 61514/tcp.</p>
<p>The package for stunnel was installed default in a base installation of RHEL5.2 so that was not a big deal but if it&#8217;s not there in your setup ensure that you have <code>stunnel</code> installed.</p>
<p>After the installation is done we need to configure stunnel. The configuration directory for stunnel is empty but it&#8217;s package provide one sample conf file which can be used. To use the provided conf sample just follow the below commands:-<br /><code><br />#cd /etc/stunnel<br />#cp /usr/share/doc/stunnel-4.15/stunnel.conf-sample stunnel.conf<br /></code></p>
<p>Next we edited the stunnel.conf file according to our requirements and when we completely edited it that&#8217;s how it looked:-</p>
<p><code><br />; Certificate/key is needed in server mode and optional in client mode<br />cert = /etc/stunnel/stunnel.pem<br />key = /etc/stunnel/stunnel.key</p>
<p>; Some security enhancements for UNIX systems - comment them out on Win32<br />chroot = /var/run/stunnel/<br />setuid = nobody<br />setgid = nobody<br />; PID is created inside chroot jail<br />pid = /stunnel.pid</p>
<p>; Some performance tunings<br />socket = l:TCP_NODELAY=1<br />socket = r:TCP_NODELAY=1</p>
<p>; Authentication stuff<br />verify = 2<br />; It's often easier to use CAfile<br />CAfile = /etc/stunnel/cacert.pem</p>
<p>; Service-level configuration<br />[ssyslog]<br />accept = 60514<br />connect = 61514<br /></code></p>
<p>The section <code>[ssyslog]</code> specify which port stunnel will listen to and then which port it will forward the connection too. The destination port is of the local interface (127.0.0.1) as far as I know, haven&#8217;t digged much into it so I am not sure. Please feel free to comment on it.</p>
<p>There are number of other variables on top that configures alot of stuff. First is the filepath for the stunnel security certificate, then is the filepath for the stunnel security certificate key, next comes the directory under which stunnel will run (this makes stunnel run in a chroot jail, that&#8217;s good for security reason but it&#8217;s only available on windows host), after that the user and group with which the application will run and the pid file name and path for stunnel it actually is <code>/stunnel.pid</code> but that&#8217;s relative to <code>/var/run/stunnel</code> now, after that we had some performance tuning options which actually came enabled default in the sample conf file so I thought of keeping them up, after that <code>verify=2</code> is used to verify the other end of the tunnel, the verification is done by checking the security certificate of the other end of the tunnel upto depth level 2 so that checks whether the security certificate of the other end (the client end, in our case station1) is actually signed by the same Certificate Authority (CA) as the one specified by the next option that is <code>CAfile</code>. </p>
<p>Now we need to create the directory in which stunnel will store it&#8217;s pid file and will also run in chrooted jail provided by that directory. The group/owner permission of that directory are also important (as specified in stunnel.conf):-<br /><code><br />#mkdir /var/run/stunnel<br />#chown nobody:nobody /var/run/stunnel<br /></code></p>
<p>Now we need to work on the security certificate stuff. Stunnel uses both self-signed or third party signed certificates. We went with the trusted third party signed certificate. For this we already had a private Certificate Authority running in our network which was used to sign/revoke security certificates of clients in the network.</p>
<p>So first of all we created the key to be used for the certificate and then we generated a certificate signing request for the stunnel certificate and later send that to the certificate authority to sign and return back to us. The certificate authority also sent us a copy of there own certificate which was also kept in <code>/etc/stunnel</code> for configuration purposes. The following command helped in the above task:-<br /><code><br />#cd /etc/stunnel<br />#openssl genrsa -out stunnel.key 2048<br />#openssl req -new -key stunnel.key -out stunnel.csr<br />#scp stunnel.csr root@certificate.example.com:/etc/pki/CA<br /></code></p>
<p>At <code>certificate.example.com</code> we issued the following commands:-<br /><code><br />#cd /etc/pki/CA<br />#openssl ca -in stunnel.csr -out stunnel.pem<br />#scp stunnel.pem cacert.pem root@server1.example.com:/etc/stunnel/<br />#rm -f stunnel.*<br /></code></p>
<p>Note that after we have recieved the signed certificate and CA certificate the first thing we did was secure those by strictly changing there file permissions as shown below:-<br /><code><br />#chown root:root /etc/stunnel/*<br />#chmod 600 /etc/stunnel/*<br /></code></p>
<p>That was sufficient. Well if you are not running a local CA I would suggest you do run it or have a commerical 3rd party trusted authority sign your certificate. For a small setup self sign certificate will do the job so no need for Certificate author<br />
ity. Also note that the step I mentioned above are completely custom as I want them to be it might be that your setup is different then you have to use different commands and options.</p>
<p>That&#8217;s all about stunnel on the server side. Now was the time to start the tunnel, so that&#8217;s done just by running the command <code>stunnel</code>.<br /><code><br />#stunnel<br />#ps aux | grep stunnel<br /></code></p>
<p>The first command runs the tunnel and the next command is given to make sure if stunnel is running in the background successfully or not. The output should be something like this<br /><code><br />nobody    4476  0.0  0.3   5060   984 ?        Ss   16:46   0:00 stunnel<br /></code></p>
<p>If you want to make sure that stunnel runs automatically on every boot up just put these lines in <code>/etc/rc.d/rc.local</code> of your system (at the bottom):-<br /><code><br />/usr/sbin/stunnel<br /></code></p>
<p>That&#8217;s it the job at <code>server1</code> is done and now it&#8217;s time to proceed at the client side.</p>
<p><b>Setup at station1</b></p>
<p>First the same steps as performed on <code>server1</code> installing rsyslog package and removing the stock <code>sysklogd</code> package via the following commands:-<br /><code><br />#yum install rsyslog<br />#service syslog stop<br />#yum remove sysklogd<br />#service rsyslog start<br />#chkconfig rsyslog on<br /></code></p>
<p>Now we need to configure the stunnel package on the client side too. As mentioned earlier stunnel comes with the default installation of RHEL5.2 but if it&#8217;s not installed just make sure you have it installed. Stunnel actually is part of official RHEL5.2 distribution. Next as done earlier copy the sample configuration file provided by the stunnel package to the stunnel configuration directory.<br /><code><br />#cd /etc/stunnel<br />#cp /usr/share/doc/stunnel-4.15/stunnel.conf-sample stunnel.conf<br /></code></p>
<p>Edit the file such that it looks as shown below:-<br /><code><br />; Certificate/key is needed in server mode and optional in client mode<br />cert = /etc/stunnel/stunnel.pem<br />key = /etc/stunnel/stunnel.key</p>
<p>; Protocol version (all, SSLv2, SSLv3, TLSv1)<br />sslVersion = SSLv3</p>
<p>; Some security enhancements for UNIX systems - comment them out on Win32<br />chroot = /var/run/stunnel/<br />setuid = nobody<br />setgid = nobody<br />; PID is created inside chroot jail<br />pid = /stunnel.pid</p>
<p>; Some performance tunings<br />socket = l:TCP_NODELAY=1<br />socket = r:TCP_NODELAY=1</p>
<p>; Authentication stuff<br />verify = 2<br />; It's often easier to use CAfile<br />CAfile = /etc/stunnel/cacert.pem</p>
<p>; Use it for client mode<br />client = yes</p>
<p>; Service-level configuration<br />[ssyslog]<br />accept = 127.0.0.1:61514<br />connect = 192.168.122.2:60514<br /></code></p>
<p>The major difference between the stunnel.conf of station1 and server1 is that the stunnel.conf of station1 contains a variable <code>client = yes</code> that differentiates server end and client end in a stunnel.</p>
<p>First we will create the chroot directory in which stunnel will run. As done in the configuring the server section above:-<br /><code><br />#mkdir /var/run/stunnel<br />#chown nobody:nobody /var/run/stunnel<br /></code></p>
<p>Now it&#8217;s time to make the security certificate for this end of the tunnel. We will proceed in the same way as we did while setting up the server end. First we will generate a 2048 bit key. One particular thing which I forgot to mention about this key is that it&#8217;s not a password protected key. If it&#8217;s compromised that end of the tunnel is compromised. We could have protected the key with a password by specifying option like -des3 to the genrsa command but then we would have to give the password for the key when we ran stunnel that asks alot of overhead when we say our tunnel will automatically start on boot. In that case we have to manually feed in the password for the tunnel to get started. <br /><code><br />#cd /etc/stunnel<br />#openssl genrsa -out stunnel.key 2048<br />#openssl req -in -key stunnel.key -out stunnel.csr<br />#scp stunnel.csr root@certificate.example.com:/etc/pki/CA<br /></code></p>
<p>At <code>certificate.example.com</code> the following commands were issued:-<br /><code><br />#cd /etc/pki/CA<br />#openssl ca -in stunnel.csr -out stunnel.pem<br />#scp stunnel.pem cacert.pem root@station1.example.com:/etc/stunnel<br />#rm -f stunnel.*<br /></code></p>
<p>Now as we did during setting up the server end we secure the configuration file and the certificate files at the client end by modifying the file permissions accordingly:-<br /><code><br />#chown root:root /etc/stunnel/*<br />#chmod 600 /etc/stunnel/*<br /></code></p>
<p>Now we can start the stunnel at the client end too via the simple command <code>stunnel</code>. If we want to start the tunnel automatically on every boot up it&#8217;s simple just add the line <code>/usr/sbin/stunnel</code> in <code>/etc/rc.d/rc.local</code> at the end. To verify that stunnel is running properly or not just issue the old command <code>ps aux | grep stunnel</code> and see if there is any process owned by user <code>nobody</code> with the name stunnel.</p>
<p>Now we will configure the rsyslog service at the client so that it re-directs all the logs for <code>local6</code> facility to <code>127.0.0.1:61514</code> where stunnel will read them up and send them to <code>192.168.122.2:60514</code>. Note here that <code>192.168.122.2</code> is actually <code>server1</code> but instead of specifying the name I preferred IP address as DNS can be un-available in my setup.</p>
<p>The below line I added in <code>/etc/rsyslog.conf</code>:-<br /><code><br />local6.*                                                        @@127.0.0.1:61514<br /></code></p>
<p>Save and exit and then restart rsyslog:-<br /><code><br />#service rsyslog restart<br /></code></p>
<p>Now to test the setup we issued the following command at station1 and while that was running we sniff the packet via wireshark available in RHEL5.2 to intercept what was getting transferred between the two tunnel ends:-<br /><code><br />logger -i -p local6.info -t deependra "This is a test log message sent over stunnel"<br /></code></p>
<p>The output was clearly seen at server1 in <code>/var/log/messages</code> as<br /><code><br />Jul 28 18:24:30 station1 deependra[3460]: This is a test log message sent over stunnel<br /></code></p>
<p>While the communication was happening between the two ends of the tunnel I sniffed the packets transferred between the two ends and it was all encrypted from what I saw.</p>
<p>That&#8217;s how I was able to secure my log server communication with clients. There are much better and inbuilt ways to provide security of log server which comes with rsyslog that you can check out at rsyslog <a href="http://www.rsyslog.com/">website</a>.</div>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2008/07/securing-log-server-in-rhel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NTP Server</title>
		<link>http://jeevanullas.in/blog/2008/07/ntp-server/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ntp-server</link>
		<comments>http://jeevanullas.in/blog/2008/07/ntp-server/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 06:47:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2008/07/27/ntp-server/</guid>
		<description><![CDATA[It&#8217;s been long since I am using NTP server in my installations here. So I thought to document my setup a bit in order to explain myself what&#8217;s going on and to help others world wide so that they can also have a secure setup for Time server in Linux. Time server is a important [...]]]></description>
				<content:encoded><![CDATA[<div style="text-align: justify;">It&#8217;s been long since I am using NTP server in my installations here. So I thought to document my setup a bit in order to explain myself what&#8217;s going on and to help others world wide so that they can also have a secure setup for Time server in Linux.</p>
<p>Time server is a important part of a network as everybody might be knowing. It is a must if we want to have a network setup which will later consists of kerberos or DNSSEC. It is also needed in windows environment but the configuration for that need not be done in the default case.</p>
<p>I have my test server running latest updated version of Fedora 9. First of all I make sure that my setup have the ntp package. Actually ntp comes default with Fedora distribution so I had no problem in getting the package.</p>
<p>Next step was to make sure I have the correct configuration file setup. So I took a backup of the original file that is <code>/etc/ntp.conf</code> first.<br /><code><br />mv /etc/ntp.conf /etc/ntp.conf.bak<br /></code><br />Next I wrote the following in a new <code>/etc/ntp.conf</code><br /><code><br />server 127.127.1.0<br />fudge 127.127.1.0 stratum 1<br />crypto pw redhat randfile /dev/urandom<br />keysdir /etc/ntp<br />restrict default ignore<br />restrict 127.0.0.1<br />restrict 192.168.122.0 mask 255.255.255.0 nomodify noquery<br />driftfile /var/lib/ntp/drift<br /></code></p>
<p>I know the above options are not the best of the breed but I will explain. First of all if we used our local hardware clock as the time source and then declared it to be at stratum 1 via the fudge line. That may sound madness to everybody. <b>This was done just for testing purpose. Don&#8217;t do this in your production servers. Please use reliable time source which can be found at <a href="http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers">http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers</a></b></p>
<p>The next line is the <code>crypto</code> line which tells that my ntpkey files are protected with a password <code>redhat</code> and that the filesource which is used for generating random seed data is <code>/dev/urandom</code>. Note that the password attribute is a important one so this file which <code>/etc/ntp.conf</code> should have a strict permission.</p>
<p><code><br />#chmod 640 /etc/ntp.conf<br />#chown root.ntp /etc/ntp.conf<br /></code></p>
<p>Now the next line tells the directory where all the ntpkey_* files are stored. In fedora 9 it defaults to <code>/etc/ntp/crypto</code> but I used <code>/etc/ntp</code> which is default in RHEL 5.</p>
<p>Next three lines controls the access to the NTP server. The first of them restricts everybody to use the time server or remotely configure the time server. Next restrict line opens up restrictions for the local interface that is 127.0.0.1 This address can do anything no restrictions apply on it. The last restrict line opens the network 192.168.122.0/24 to use the time server to get time service but it can&#8217;t modify or query (status query on time server) the time server itself. That means any client in the 192.168.122.0/24 can configure 192.168.122.1 as it&#8217;s reliable time source but it can&#8217;t use to connect to that server via ntpq or ntpdc utility.</p>
<p>The last line specify the file name which contains the latest estimate of clock frequency error. This file is owned by ntp user.</p>
<p>In the next step we switch to directory <code>/etc/ntp</code> and generate the host keys and IFF parameters as we are going to use IFF identity scheme in this setup.</p>
<p><code><br />#cd /etc/ntp<br />#ntp-keygen -T -I -p redhat<br /></code></p>
<p>The above command generates the key files and IFF parameters file. The host key file is protected with a password <code>redhat</code> that we also mentioned in <code>/etc/ntp.conf</code>. The list of files which were generated in my case are listed below</p>
<p><code><br />ntpkey_cert_station1.example.com<br />ntpkey_IFFpar_station1.example.com.3426211635<br />ntpkey_RSA-MD5cert_station1.example.com.3426211635<br />ntpkey_host_station1.example.com<br />ntpkey_iff_station1.example.com<br />ntpkey_IFFkey_station1.example.com.3426211635<br />ntpkey_RSAkey_station1.example.com.3426211635<br /></code></p>
<p>In the above list some are key files and some are symbolic links to them. Next we need to extract the IFFkey so that it can transferred to every NTP clients of this server. We can also protect this key with a password that only we and the NTP client knows.</p>
<p><code><br />#ntp-keygen -e -q redhat -p linux > ntpkey_IFFkey_station1.example.com.3426211635<br />#scp ntpkey_IFFkey_station1.example.com.3426211635 root@server1.example.com:/etc/ntp<br /></code></p>
<p>The above command generate the IFFkey file but the IFF parameter file itself is protected by a password which we specified in the first ntp-keygen command so with -q we specified that password and with -p we specified the password with which the IFFkey file will be protected (the client needs to know this password). The -e option is used to export the IFFkey.</p>
<p>Now I started the ntpd service and configured it to start automatically at the next boot up. Also I had a custom chain in my iptable based firewall in which I opened the udp/123 port on which ntpd listens.<br /><code><br />#service ntpd start<br />#chkconfig ntpd on<br />#iptables -A MYCHAIN -p udp --dport 123 -j ACCEPT<br />#service iptables save<br /></code><br />Next was the setup at client side that was pretty easy. First of all I configured as usual the main configuration file <code>/etc/ntp.conf</code><br /><code><br />#chmod 640 /etc/ntp.conf<br />#chown root.ntp /etc/ntp.conf<br />#vi /etc/ntp.conf<br /></code></p>
<p>The client side ntp.conf contained the following:<br /><code><br />server station1.example.com iburst autokey<br />crypto pw linux randfile /dev/urandom<br />keysdir /etc/ntp<br /></code></p>
<p>The above lines specify the preferred time server to use be <code>station1.example.com</code> aka <code>192.168.122.1</code>. The option autokey enables the use of public key cryptography. The next line specify the crypto password with which the client ntpkey_* files will be protected and also specify the random seed source to be used. Next line specify where to find the key data.</p>
<p>Next we generated the client side parameters by the following commands<br /><code><br />#cd /etc/ntp/<br />#ntp-keygen -H -p linux<br />#ln -s ntpkey_IFFkey_station1.example.com.3426211635 ntpkey_iff_station1.example.com<br />#ln -s ntpkey_host_server1.example.com ntpkey_iff_server1.example.com<br /></code></p>
<p>The above generates the host parameters on the client side protected by the password <code>linux</code> and next create some symlinks which later configure the IFF keys at the client side. Note here that the file <code>ntpkey_IFFkey_station1.example.com.3426211635</code> was sent by the time server which was protected by the password <code>linux</code>.</p>
<p>The list of file with the prefix ntpkey_ in there name at the client side <code>/etc/ntp</code> were finally:-</p>
<p><code><br />ntpkey_cert_server1.example.com<br />ntpkey_host_server1.example.com<br />ntpkey_IFFkey_station1.example.com.3426211635<br />ntpkey_iff_server1.example.com<br />ntpkey_iff_station1.example.com<br />ntpkey_RSAkey_server1.example.com.3426211933<br />ntpkey_RSA-MD5cert_server1.example.com.3426211933<br /></code></p>
<p>Now we started the time service at the client and configured it to start automatically at boot and also open the udp/123 port.</p>
<p><code><br />#ntpdate -b station1.example.com<br />#service ntpd start<br />#chkconfig ntpd on<br />#iptables -A MYCHAIN -p udp --dport 123 -j ACCEPT<br />#service iptables save<br /></code></p>
<p>The first command in the above code was issued to first synchronize the clock of the client with that of the server then start the time service to later keep that new time in synchronization with the server. It took approx. 5 minutes to get synchronized and after that when issued the fo<br />
llowing command the output was:</p>
<p><code><br />#ntpq -cas</p>
<p>ind assID status  conf reach auth condition  last_event cnt<br />===========================================================<br />  1 28241  f624   yes   yes   ok   sys.peer   reachable  2</p>
<p>#ntpq -c"rv 0 cert"<br />assID=0 status=0664 leap_none, sync_ntp, 6 events, event_peer/strat_chg,<br />cert="server1.example.com station1.example.com 0x6",<br />expire=200907280654,<br />cert="station1.example.com station1.example.com 0x7",<br />expire=200907280527, cert="server1.example.com server1.example.com 0x2",<br />expire=200907280532</p>
<p>#ntpq -c"rv 28241 flags"<br />assID=28241 status=f624 reach, conf, auth, sel_sys.peer, 2 events, event_reach,<br />flags=0x83f21<br /></code></p>
<p>The last command issued returned the flags as <code>0x83f21</code> that signifies that the communication with the time server was successful and that IFF identity scheme with cryptography enabled was used.</p>
<p>Client side utilities to check the time configuration are <code>ntpq,ntptrace,ntpdate,nptdc,ntpstat</code> etc.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2008/07/ntp-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using svn with Eclipse</title>
		<link>http://jeevanullas.in/blog/2008/03/using-svn-with-eclipse/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-svn-with-eclipse</link>
		<comments>http://jeevanullas.in/blog/2008/03/using-svn-with-eclipse/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 10:42:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2008/03/30/using-svn-with-eclipse/</guid>
		<description><![CDATA[Using eclipse as the IDE for my java programming has become very common these days. It&#8217;s so common that I have it installed under windows xp, Fedora 8 and OSX leopard. Few days back I asked charlie for a svn account on unixpod and was able to get one by the name java-jeevan.I thought of [...]]]></description>
				<content:encoded><![CDATA[<p>Using eclipse as the IDE for my java programming has become very common these days. It&#8217;s so common that I have it installed under windows xp, Fedora 8 and OSX leopard. Few days back I asked charlie for a svn account on unixpod and was able to get one by the name <b>java-jeevan</b>.<br />I thought of configuring this svn repository in my eclipse europa so that it will be easier for me to manage my code. I found to my surprise that there was no such svn thing in eclipse by default but there is one good project that provides svn functionality into the eclipse ide. Here is the project <a href="http://subclipse.tigris.org/servlets/ProjectHome">Subclipse</a>. I just downloaded the necessary <a href="http://subclipse.tigris.org/files/documents/906/39525/site-1.0.6.zip">site-1.0.6.zip</a> and extracted it. Then I pasted the regular files inside that directory into the corresponding eclipse subdirectories. Started eclipse and here I see a new view under the SVN group called the SVN repository. Inside this view I added a new repository location (right clicking on the SVN repository view and selecting new). It only asked me the URL of my repository which was <b>svn://svn.unixpod.com/java-jeevan</b> and there it goes within few seconds I saw the repository shown inside the view and I can see my code tree inside it. Managing SVN repos is so easy from within eclipse even I can import the svn repository code into one of my projects either new or pre-existing one. It is really very easy. I went to create a new project from the new project wizard during the initial selection process I selected <b>create a new project from svn checkout</b>. This wizard showed me my repository and let me select the project directory I was interested in checking out into a new project in the eclipse workspace. It was pretty easy for me.<br />Once I started editing the code it was again very easy to commit the changes I have made into the source code just right click on the file I edited and then team->commit&#8230; It asked me my SVN password which I gave for once and saved it for future automation of this process.</p>
<p>Pretty cool.</p>
<p>That was it. Quick and dirty post <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2008/03/using-svn-with-eclipse/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>/me back to blogging</title>
		<link>http://jeevanullas.in/blog/2008/01/me-back-to-blogging/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=me-back-to-blogging</link>
		<comments>http://jeevanullas.in/blog/2008/01/me-back-to-blogging/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 02:12:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2008/01/12/me-back-to-blogging/</guid>
		<description><![CDATA[Well, again it&#8217;s been quite a while since I blogged. Truly speaking it was me who never felt interest in writing again but now I think that I should write (silly me ).Lot of things have happened since my last post. In the month of October I had a visit to my native place (my [...]]]></description>
				<content:encoded><![CDATA[<p>Well, again it&#8217;s been quite a while since I blogged. Truly speaking it was me who never felt interest in writing again but now I think that I should write (silly me <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> ).<br />Lot of things have happened since my last post. In the month of October I had a visit to my native place (my village), spent almost 10 days at places like Mukungarh (Dadosa&#8217;s home), Sainswas (my village) and Pilani (visit to a friends place). That was a nice holiday. Got to know alot of things about my ancestors and history. <br />In November I was majorly at home (Jaipur) with family for the diwali celebrations. That was also a nice time. But had to came back to so called work place (Jodhpur) to do some stuff. In the last week I started again, teaching some of my friends GNU/Linux considering Centos 5.1 for the job.<br />December was party time. Had alot of parties and picnic&#8217;s and all. Learned quite alot of things in GNU/Linux, majorly not regarding programming but from the point of view of system administration. It&#8217;s been a while since I programmed stuff. New year party was great. Had my favorite stuff (non-veg).<br />January 2008 have come. The start was again with parties and enjoyment. Nothing serious about studies (as usual). Got the second semester result. That was fine. Now again the exam season is ringing bells. Seriously speaking I hate these bells.<br />Well, a little update on what I wrote in the last post. I was working with team of 3 people on the IBM Academic project but due to my laziness that never got completed, start was perfect but we couldn&#8217;t cope up with things and it died. We had submitted synopsis too but we were never able to complete the code. I had learned alot of things by that project. Most importantly stuff in advance java.<br />Recently I have again started doing some programming and seriously speaking that thing have inspired me to write again. Really programming is something that gives me internal pleasure. It is the ultimate thing. I wish I can keep myself always motivated for programming. But yeah let&#8217;s see how it goes. <br />I will update on the recent stuff I am working on in the next post. Stay tune!!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2008/01/me-back-to-blogging/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Random Stuff</title>
		<link>http://jeevanullas.in/blog/2007/10/random-stuff/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=random-stuff</link>
		<comments>http://jeevanullas.in/blog/2007/10/random-stuff/#comments</comments>
		<pubDate>Fri, 05 Oct 2007 23:48:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2007/10/05/random-stuff/</guid>
		<description><![CDATA[Today morning I was reading #fedora at freenode a little carefully and found this (nice to read it once hahaha): 04:30 < R0CK> Hello guys04:31 < R0CK> any news about the add/remove software ?04:31 < opsec> R0CK: ask a real question or no one will respond to you04:32 < R0CK> I'm having problem on pirut, [...]]]></description>
				<content:encoded><![CDATA[<p>Today morning I was reading #fedora at freenode a little carefully and found this (nice to read it once hahaha):</p>
<p><code><br />04:30 < R0CK> Hello guys<br />04:31 < R0CK> any news about the add/remove software ?<br />04:31 < opsec> R0CK: ask a real question or no one will respond to you<br />04:32 < R0CK> I'm having problem on pirut, It's hanging when i run it,.<br />04:32  * opsec puts on his mid reading hat<br />04:32 < opsec> R0CK: and?<br />04:32 < BULLE> R0CK: that seems to be a common problem lately<br />04:32 < opsec> run it from the command line ..<br />04:32 < R0CK> opsec, I know very well how to ask my questions.<br />04:32 < opsec> if you get an error --> dpaste.com<br />04:33 < opsec> R0CK: no, you don't<br />04:33 < R0CK> opsec, well, my question was any news about the issue?<br />04:33 < opsec> there is no issue that i know of<br />04:33 < R0CK> opsec, don't try to be intelligent baby, you`re here since yesterday.<br />04:33 < opsec> either run it from the command like and paste the error to dpaste.com or use yumex instead<br />04:34 < opsec> R0CK: i'm done with you moron.<br />04:34 < R0CK> opsec, then stop supporting me,<br /></code></p>
<p>It happens alot of time at #fedora.</p>
<p>Talking about the other thing I did this week was to finish the synopsis<span style="font-size:-1;"><span class="a"><span style="font-weight: bold;"> </span></span></span>document for my project. It was a great experiencing learning how to make Data Flow Diagrams, Use case model etc. Learned alot. Now the team started writing the nasty code thingie.</p>
<p>The Captcha code for the JAVA Project is finished and now I have to figure out how can i insert the captcha module into the project and use it whenever I need it. I had to also learn packages/interface&#8217;s in JAVA. The other thing on my agenda is XML and handling XML via JAVA because I can sense that it will be needed in the project during some point of the life cycle (and my personal attraction to XML).</p>
<p>The progress on my secret python project is going good. I have been doing the testing stuff for a long time now with a different nick on freenode and it seems to perform well for the moment. I had to see a better alternative to CGI and supported by my shell provider so I can get a better stat&#8217;s page.</p>
<p>Downloaded Oracle 11g for Linux and will give it a try soon, need to learn how to configure a Oracle database server and configure/install clients so that they can utilize the server database instance.</p>
<p>It has been along time and there are lot of articles piling up in my docs stack. I got to find sometime to finish them up and upload on to my server (most important of them is the samba plus ldap guide for the fedora-docs team).</p>
<p>I was happy to make the TATA indicom internet connection working on Fedora. Now I can hope that some more people get involved into the learning Linux stuff (more closely).</p>
<p>From above it seems like a busy yet exciting weekend ahead. Hmm..</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2007/10/random-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>/me Status Update</title>
		<link>http://jeevanullas.in/blog/2007/09/me-status-update/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=me-status-update</link>
		<comments>http://jeevanullas.in/blog/2007/09/me-status-update/#comments</comments>
		<pubDate>Sun, 09 Sep 2007 13:01:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2007/09/09/me-status-update/</guid>
		<description><![CDATA[After along time I got some time to write at this place. Well for quite some months I have been working in Python and stuff related to it. The important things I worked on in python were XML stuff, IRC/Google Talk API&#8217;s provided in Python, writing bots (irc, gtalk) and learning XML parsing. Then I [...]]]></description>
				<content:encoded><![CDATA[<p>After along time I got some time to write at this place. Well for quite some months I have been working in Python and stuff related to it.  The important things I worked on in python were XML stuff, IRC/Google Talk API&#8217;s provided in Python, writing bots (irc, gtalk) and learning XML parsing.</p>
<p>Then I got busy in my 2nd semester examination which were a total hell (took the hell out of me).</p>
<p>Now that my exams are over and I got some time I decided to roll upon some new stuff. First is a secret project I have started working on (in python) and second is JAVA. Truely speaking I have never done JAVA sincerely though I got alot of time to do it. But now I decided to look around and started working on the Core stuff (as JAVA is in my current semester).</p>
<p>The other important thing these days is the IBM Challenge program going on in which I have enrolled as a participant having 3 more members in my team.  So meanwhile I am learning the core JAVA stuff I am also looking into the Advance JAVA stuff the web thingie.  We got our team <a href="http://openbysource.wordpress.com">blog</a> now thanks to /me.</p>
<p>So I guess probably for some more time I will not be updating this blog (my first and only blog) because of some small works I am indulged in. Keep in touch with the team <a href="http://openbysource.wordpress.com">blog</a>.</p>
<p>See you soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2007/09/me-status-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiz-Fusion now arrives for Fedora7</title>
		<link>http://jeevanullas.in/blog/2007/06/compiz-fusion-now-arrives-for-fedora7/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=compiz-fusion-now-arrives-for-fedora7</link>
		<comments>http://jeevanullas.in/blog/2007/06/compiz-fusion-now-arrives-for-fedora7/#comments</comments>
		<pubDate>Mon, 25 Jun 2007 05:38:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2007/06/24/compiz-fusion-now-arrives-for-fedora7/</guid>
		<description><![CDATA[Many thanks to KageSenshi&#8217;s efforts we now have Compiz-Fusion for Fedora7. For more information on how to install it look into KageSenshi&#8217;s Blog. After installing all the stuff I did the following things (Note: This is for Intel video card users and GNOME no KDE support Yet ): Step 1: vi /home/deepsa/compiz-fusion-runLIBGL_ALWAYS_INDIRECT=1 INTEL_BATCH=1 compiz &#8211;replace [...]]]></description>
				<content:encoded><![CDATA[<p>Many thanks to KageSenshi&#8217;s efforts we now have Compiz-Fusion for Fedora7. For more information on how to install it look into KageSenshi&#8217;s <a href="http://blog.kagesenshi.org">Blog</a>.</p>
<p>After installing all the stuff I did the following things (Note: This is for Intel video card users and GNOME no KDE support Yet <img src='http://jeevanullas.in/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  ):</p>
<p>Step 1: vi /home/deepsa/compiz-fusion-run<br />LIBGL_ALWAYS_INDIRECT=1 INTEL_BATCH=1 compiz &#8211;replace &#8211;sm-disable ccp &amp;</p>
<p>Save and exit</p>
<p>Step 2: chmod a+x /home/deepsa/compiz-fusion-run</p>
<p>Step 3: gnome-session-properties</p>
<p>Startup Programs -> New<br />Name : Compiz-Fusion<br />Command: /home/deepsa/compiz-fusion-run<br />OK</p>
<p>Step 4:  System -> Preferences -> CompizConfig Settings Manager -> Window Decorations -> Command -> emerald &#8211;replace</p>
<p>Step 5: Logout and LogBack In.</p>
<p>Some screenshots of new features</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img399.imageshack.us/img399/885/screenshotbj1.png"><img style="cursor: pointer; width: 320px;" src="http://img399.imageshack.us/img399/885/screenshotbj1.png" alt="" border="0" /></a></p>
<p>Expo Plugin</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img160.imageshack.us/img160/292/screenshot1cz1.png"><img style="cursor: pointer; width: 320px;" src="http://img160.imageshack.us/img160/292/screenshot1cz1.png" alt="" border="0" /></a></p>
<p>Cube with reflection</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2007/06/compiz-fusion-now-arrives-for-fedora7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring Pidgin 2.0.0 final for Google Talk in Linux</title>
		<link>http://jeevanullas.in/blog/2007/05/configuring-pidgin-2-0-0-final-for-google-talk-in-linux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=configuring-pidgin-2-0-0-final-for-google-talk-in-linux</link>
		<comments>http://jeevanullas.in/blog/2007/05/configuring-pidgin-2-0-0-final-for-google-talk-in-linux/#comments</comments>
		<pubDate>Sat, 05 May 2007 11:58:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2007/05/05/configuring-pidgin-2-0-0-final-for-google-talk-in-linux/</guid>
		<description><![CDATA[Well guys, finally Pidgin (earlier Gaim) developers released the 2.0.0 stable release. It was after a long time we saw the final release coming out. Now with the new name , new website, new graphics and lot&#8217;s of new features Pidgin is rocking. I thought to give it a try on my Linux loaded Laptop. [...]]]></description>
				<content:encoded><![CDATA[<div style="text-align: justify;">Well guys, finally Pidgin (earlier Gaim) developers released the 2.0.0 stable release. It was after a long time we saw the final release coming out. Now with the new name , <a href="http://pidgin.im/">new website</a>, new graphics and lot&#8217;s of new features Pidgin is rocking.</div>
<p>
<div style="text-align: justify;">I thought to give it a try on my Linux loaded Laptop. My howto is inspired by the already available step by step instructions available <a href="http://www.google.com/support/talk/bin/answer.py?answer=24073">here</a>.</p>
<p>First of all you need to download <a href="http://downloads.sourceforge.net/pidgin/pidgin-2.0.0-0.1.fc6.i386.rpm">Pidgin</a>. If it gives error regarding any dependency during the installation check out the project&#8217;s <a href="http://sourceforge.net/project/showfiles.php?group_id=235">sourceforge</a> page.</div>
<p>
<div style="text-align: justify;">After the installation is over we need to start Pidgin (Applications &#8211;> Internet &#8211;> Pidgin Internet Messenger). If it&#8217;s your first run of Pidgin you would see something like this</p>
</div>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iatQW3P65ho/RjxtK7NRAvI/AAAAAAAAAD4/x9PCXRRTbKU/s1600-h/Screenshot-Accounts.png"><img style="cursor: pointer;" src="http://3.bp.blogspot.com/_iatQW3P65ho/RjxtK7NRAvI/AAAAAAAAAD4/x9PCXRRTbKU/s320/Screenshot-Accounts.png" alt="" id="BLOGGER_PHOTO_ID_5061040115717047026" border="0" /></a></p>
<p>Click on the Add button on the bottom and you will be shown something like this</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iatQW3P65ho/Rjxti7NRAwI/AAAAAAAAAEA/D1H3r_49NeU/s1600-h/Screenshot-Add+Account.png"><img style="cursor: pointer;" src="http://3.bp.blogspot.com/_iatQW3P65ho/Rjxti7NRAwI/AAAAAAAAAEA/D1H3r_49NeU/s320/Screenshot-Add+Account.png" alt="" id="BLOGGER_PHOTO_ID_5061040528033907458" border="0" /></a></p>
<p>I have filled almost all the values for my test but you need to change them according to your need.
<div style="text-align: justify;">
<pre><br />Protocol: XMPP (earlier used to be Jabber)<br />Screen Name: Must be filled up with your gmail-id before @gmail.com.<br />Server: Should be gmail.com.<br />Resource: Can be anything the default "Home" will also work.<br />Password: You gmail password goes here.<br /></pre>
<p>You can select other options according to your need. It&#8217;s all on choice. I have selected what I feel are necessary for me.</p>
<p>After you are done with this tab select Advanced Tab. It will look something like shown below:</p>
</div>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iatQW3P65ho/RjxxbrNRAxI/AAAAAAAAAEI/w9YcxwNq2j4/s1600-h/Screenshot-Add+Account-1.png"><img style="cursor: pointer;" src="http://2.bp.blogspot.com/_iatQW3P65ho/RjxxbrNRAxI/AAAAAAAAAEI/w9YcxwNq2j4/s320/Screenshot-Add+Account-1.png" alt="" id="BLOGGER_PHOTO_ID_5061044801526366994" border="0" /></a></p>
<p>
<div style="text-align: justify;">Note the important thing to see here is the Connect Server. It should be talk.google.com. Well everything is done for now just Save the details about the account and Pidgin will automatically connect to the network. And after a few moments you will see that you are connected. Something like this (:( I have very less online contacts).</div>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iatQW3P65ho/Rjx0hbNRAyI/AAAAAAAAAEQ/EQr9gZpdces/s1600-h/Screenshot-Buddy+List-1.png"><img style="cursor: pointer;" src="http://1.bp.blogspot.com/_iatQW3P65ho/Rjx0hbNRAyI/AAAAAAAAAEQ/EQr9gZpdces/s320/Screenshot-Buddy+List-1.png" alt="" id="BLOGGER_PHOTO_ID_5061048198845498146" border="0" /></a></p>
<p>This is it. Hope you get your g-talk account working with Pidgin 2.0.0 in  GNU/Linux.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2007/05/configuring-pidgin-2-0-0-final-for-google-talk-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laptop RAM Upgraded</title>
		<link>http://jeevanullas.in/blog/2007/04/laptop-ram-upgraded/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=laptop-ram-upgraded</link>
		<comments>http://jeevanullas.in/blog/2007/04/laptop-ram-upgraded/#comments</comments>
		<pubDate>Sat, 28 Apr 2007 19:24:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2007/04/28/laptop-ram-upgraded/</guid>
		<description><![CDATA[Today I got my Laptop&#8217;s RAM upgraded to 1GB. Now I can try researching more on virtualization specially full virtualization using KVM (Kernel Virtual Machine). And yeah now I can run more app&#8217;s simultaneously in my Redhat5. I am almost finished writing my next article on how to configure Redhat Enterprise5 to use full virtualization [...]]]></description>
				<content:encoded><![CDATA[<p>Today I got my Laptop&#8217;s RAM upgraded to 1GB. Now I can try researching more on virtualization specially full virtualization using KVM (Kernel Virtual Machine). And yeah now I can run more app&#8217;s simultaneously in my Redhat5. I am almost finished writing my next article on how to configure Redhat Enterprise5 to use full virtualization provided by KVM (Kernel Virtual Machine).</p>
<p>This article helped me learn how I can build my own rpm&#8217;s using the source rpm&#8217;s provided by Redhat. That was really nice. I got my whole virtualization stuff in Redhat5 upgraded to the latest version.</p>
<p>And yeah I am working on my website too. Don&#8217;t know when I will get satisfy with the design and stuff I am hosting.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2007/04/laptop-ram-upgraded/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Ubuntu</title>
		<link>http://jeevanullas.in/blog/2007/04/new-ubuntu/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-ubuntu</link>
		<comments>http://jeevanullas.in/blog/2007/04/new-ubuntu/#comments</comments>
		<pubDate>Fri, 20 Apr 2007 08:43:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2007/04/20/new-ubuntu/</guid>
		<description><![CDATA[Hello everybody. Last night Ubuntu feisty fawn was released. I was eagerly waiting for this distro. And the major reason for that is I found only Ubuntu as a Linux distro which can be installed and configured according to user needs in very less time. Most of the linux distros are known for there hard [...]]]></description>
				<content:encoded><![CDATA[<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img218.imageshack.us/img218/6097/screenshotzm4.png"><img style="cursor: pointer; width: 320px;" src="http://img218.imageshack.us/img218/6097/screenshotzm4.png" alt="" border="0" /></a>
<div style="text-align: justify;">Hello everybody. Last night Ubuntu feisty fawn was released. I was eagerly waiting for this distro. And the major reason for that is I found only Ubuntu as a Linux distro which can be installed and configured according to user needs in very less time. Most of the linux distros are known for there hard software installation and configuration just after installing the base operating system. Detecting most of the commonly hardware is also a pain. But I kinda like it for past few years. But then also we need some distro that can help get us other windows users a reason to use linux. I prefer to install ubuntu on my friends systems (who never worked in linux before) and they all like it. With Beryl or Compiz with a Ubuntu installation you get a dream desktop which windows users (even vista) can only dream off. With feisty comes the desktop effects by default but it&#8217;s based on compiz and Ubuntu warns the user who enable those effects that they will not support that software it&#8217;s just there for technology preview. Well somewhat same thing was said by Redhat when they released almost the same thing with there Enterprise 5 product last month (Client). But then user have choice to install beryl on their Ubuntu and enjoy more effects (most of the nvidia/ati guys will go for it). But the sad part of the story is that beryl is going to be merged with compiz and now there will be no beryl anymore. There will be only compiz and what we see in beryl will be ported to compiz-extras. Well this merge is under process and that&#8217;s the reason we don&#8217;t see any changes in the beryl source svn these days. I heard from the beryl@irc.freenode.net that after the merge there will be no more svn they will host the source on git and beryl will move to compiz-extra. Well I am just waiting and watching the progress for the moment.<br />For the time being I have installed Feisty and enjoying it! I have also tried some server configuration on it (just like we have in Redhat). Most notable of them so far are Bind (DNS) and  Apache (Httpd).</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2007/04/new-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Provisioning Linux Simplified with Cobbler</title>
		<link>http://jeevanullas.in/blog/2007/03/provisioning-linux-simplified-with-cobbler/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=provisioning-linux-simplified-with-cobbler</link>
		<comments>http://jeevanullas.in/blog/2007/03/provisioning-linux-simplified-with-cobbler/#comments</comments>
		<pubDate>Sun, 01 Apr 2007 03:32:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2007/03/31/provisioning-linux-simplified-with-cobbler/</guid>
		<description><![CDATA[Well. RedHat Enterprise Linux 5 was release on 14th of last month. I hope alot of new changes will be there in it. But I still have RHEL5 Beta2 and this time I thought of trieing some new technology in my Beta2. I have heard alot of PXE(Pre-Execution Environment) but was never able to get [...]]]></description>
				<content:encoded><![CDATA[<div style="text-align: justify;">Well. RedHat Enterprise Linux 5 was release on 14th of last month. I hope alot of new changes will be there in it. But I still have RHEL5 Beta2 and this time I thought of trieing some new technology in my Beta2. I have heard alot of PXE(Pre-Execution Environment) but was never able to get time to try it. But recently I saw the RedHat Emerging Technologies webpage. This is a division in RedHat that is working on new technologies and one of them is <a href="http://cobbler.et.redhat.com/">Cobbler</a>.</div>
<p>
<div style="text-align: justify;">I studied about it and found that it is related to PXE in some way or the other but is more simplified and yet more powerful. So I thought to give it a try. Earlier I was not getting what I was doing but with a few posts at the mailing list of et-mgmt I got my self the way. So I am summarizing here what&#8217;s the purpose of Cobbler.</div>
<p>
<div style="text-align: justify;">If we left Cobbler for a moment and try to concentrate on Provisioning in Linux then what exactly does it means. It means how we can create and manage Linux machines. In simple terms we can install a lot of Linux machines (server or client) un-attendly (we need not be near the machine). We can have template based installation where we can specify a particular template to a given set of machines and another template to another set of machines and this way we can get all of them installed and running according to our configuration in very less time.</div>
<p>
<div style="text-align: justify;">In earlier days (lol. still today) PXE installations were used to provision Linux machines so that we can get un-attended installations easily for a large number of machines. But RedHat is working on a technology called Cobbler that helps simplify PXE configuration and add to it alot of powerful features to mention some: Provisioning Xen Virtual Machines, Kickstart Templating and enchant.</div>
<p>
<div style="text-align: justify;">I thought of trying Cobbler on my RedHat Beta2. Well to get started we need to install some dependencies. That are TFTP Server, DHCP Server, NFS Server, Portmap, HTTPD server and cheetah python template (required for Kickstart templating). All of the above packages can be found in the installation media of RedHat sources only required Cheetah can be downloaded from <a href="http://downloads.sourceforge.net/cheetahtemplate/Cheetah-2.0rc7.tar.gz?modtime=1152040991&#038;big_mirror=0">here</a>. Once all of the dependencies are installed we proceed with installation of Cobbler. Cobbler can be downloaded from <a href="http://cobbler.et.redhat.com/download/cobbler-0.4.5.tar.gz">here</a>.  To install Cobbler just extract the tar you download and from the source directory give the command <code>python setup.py install</code>. This will install it. After installing Cobbler we need to do some pre-configuration steps which are necessary before we start with Cobbler.</div>
<p>
<div style="text-align: justify;">First of all we need to enable TFTP Server. For that we need to edit <code>/etc/xinetd.d/tftp</code> and change the <code>disable=yes</code> to <code>disable=no</code> and then <code>service xinetd restart</code> and <code>chkconfig xinetd on</code>.</div>
<p>
<div style="text-align: justify;">Second we need to configure our installation tree. I had dumped my whole Beta2 DVD in <code>/rhel5/Dump</code>. And configure any one either HTTPD or NFS so that later we can access the Dump during installation. I preferred HTTPD as I faced problems with NFS earlier. To do so I edited the <code>/etc/httpd/conf/httpd.conf</code> file. In the last write this:</div>
<p><code><br /><xmp><virtualHost "192.168.1.5:80"></xmp>ServerAdmin root@server.example.com<br />DocumentRoot /rhel5<br /><xmp><directory "/rhel5"></xmp>Options Indexes Includes<br /><xmp></directory></xmp>ServerName server.example.com<br />ErrorLog logs/server.example.com-error_log<br />CustomLog logs/server.example.com-access_log common<br /><xmp></virtualHost></xmp><br /></code></p>
<div style="text-align: justify;">We need not do anything we DHCP server configuration and PXE configuration as it will all be well taken care of by Cobbler. Now comes the crucial part of this configuration and that is creating a kickstart file to install clients. Creating a kickstart file is a very tricky thing. I prefer <code>system-config-kickstart</code> tool for this job as it is GUI and easy to use. It can give us a sample kickstart file which we can edit according to our use. I did the same thing created the file via <code>system-config-kickstart</code> and edited it according to my client machine (I had one client only). I am posting my ks.cfg here:</div>
<p>For Physical Machines:<br /><code><br />install<br />url --url=http://192.168.1.5/Dump/<br />key 2515dd4e215225dd<br />lang en_US.UTF-8<br />keyboard us<br />xconfig --startxonboot<br />network --device eth0 --bootproto static --ip 192.168.1.23 --netmask 255.255.255.0 --gateway 192.168.1.1 --hostname server1.example.com<br />rootpw --iscrypted $1$QGYhCela$pNOZoWf4XoONvUdND/nS01<br />firewall --disabled<br />authconfig --enableshadow --enablemd5<br />selinux --disabled<br />timezone Asia/Calcutta<br />bootloader --location=mbr --driveorder=hda --append="rhgb quiet"<br /># The following is the partition information you requested<br /># Note that any partitions you deleted are not expressed<br /># here so unless you clear all partitions first, this is<br /># not guaranteed to work<br />#clearpart --linux<br />#part / --fstype ext3 --onpart sda3<br />#part swap --onpart sda6<br />#part /home --fstype ext3 --onpart sda7</p>
<p>%packages<br />@base<br />@base-x<br />@core<br /></code></p>
<div style="text-align: justify;">In the above kickstart I have commented the partition scheme as I wanted it done manually (don&#8217;t wanted to loose my data). I save this file at <code>/rhel5/Dump/ks.cfg</code>.</p>
<p>After we have configured all the required servers we should edit the file <code>/var/lib/cobbler/settings</code>. In this file we edit the lines so that they look like this:</div>
<p><code><br />manage_dhcp: 1<br />next_server: '192.168.1.5'<br />server: '192.168.1.5'<br /></code></p>
<div style="text-align: justify;"><code>manage_dhcp: 1</code> tells cobbler to take care of the <code>/etc/dhcpd.conf</code> for us. For this cobbler use a template <code>/etc/cobbler/dhcp.template</code>. The <code>next_server</code> and <code>server</code> points to my cobbler server system. They will be used in <code>/etc/dhcpd.conf</code> as <code>next-server</code>. As I have only one dhcp server so there is no where else to look for dhcp information that&#8217;s why my next-server is the same as my server.<br />After this step we run <code>cobbler check</code>. This commands checks that all things are in place and everything is fine. If this command reports the following:</div>
<p><code><br />No setup problems found.<br />Manual review and editing of /var/lib/cobbler/settings is recommended to tailor cobbler to your particular configuration.<br />Good luck.<br /></code></p>
<div style="text-align: justify;">Then we are done with our cobbler&#8217;s pre-configuration steps. Now is the time to proceed and configure cobbler.</div>
<div style="text-align: justify;">Before starting the configuration of Cobbler I would like to mention some terminology of it. In Cobbler we have Distro, Profile and Systems.<br />They can be viewed as in a hirearchy:<br />Distro -> Profile -> Systems.<br />Like for example:<br />Fedora Core 6 -> WebServer -> System A, System B<br />Fedora Core 6 -> MailServer -> System C, System D<br />Redhat 5      -> DNSServer  -> System E<br />So we have one Distro within which we can have one or more than one profile and within that we can have one or more than one or even zero systems. I hope you got my point.<br />So in our case I created first of all a Distro entry for Cobbler with the <code>cobbler distro add</code> command.</div>
<p><code>cobbler distro add --name=rhel5<br />
-dvd --kernel=/rhel5/Dump/images/pxeboot/vmlinuz --initrd=/rhel5/Dump/images/pxeboot/initrd.img --arch=x86</code></p>
<div style="text-align: justify;">This created a distro inside cobbler&#8217;s configuration (which is stored in <code>/var/www/cobbler</code>).</p>
<p>After adding a distro we add a profile inside that distro. I create a profile for the new machines  I am going to install later. To create a profile this command I gave:</div>
<p><code><br />cobbler profile add --name=redhat5y --distro=rhel5-dvd –kick-start=/rhel5/Dump/ks.cfg<br /></code></p>
<div style="text-align: justify;">The above command is simple to understand. It tells that the profile name is <code>redhat5y</code> and it&#8217;s a profile for distro <code>rhel5-dvd</code> I created earlier. The <code>–kick-start</code> option tells the path of the <code>ks.cfg</code> I created earlier for my new physical machines going to be installed later. After creating the profile I can proceed by creating system within the profile.</div>
<p>For example I want to add a systemA in the profile <code>redhat5y</code> I can give the following command:<br /><code><br />cobbler system add –name=<ip│mac│hostname> --profile=redhat5y<br /></ip│mac│hostname></code></p>
<div style="text-align: justify;">Here name can be a ip address, MAC address or DNS resolvable hostname. I didn&#8217;t tried the above command as it was a little confusing and the other thing was that I was going to have only one more system to install so I didn&#8217;t need a system within <code>redhat5y</code> profile. I can use the profile itself to install the new system. It sounds a little confusing right? Well let me explain it a little bit more. We created a distro and within that distro we created a profile. Now what actually is going on is that there is a database getting created in cobbler in hirearchial manner. Under which on top is the distro within it is a profile. For further customization I can add system&#8217;s data within that profile. But if I don&#8217;t add any system within the profile then also I can continue. I can very well use the profile to boot systems. That way new systems will inherit the profile directly there is no need to be more specific about particular system but if in case we want customization we can add a system data within a cobbler profile.</div>
<p>
<div style="text-align: justify;">After creating the profile we are done almost with the configuration of cobbler and now we proceed to start cobbler.</div>
<p>
<div style="text-align: justify;">Starting cobbler is simple with the command <code>cobbler sync</code>. This commands reads the database distro, profile, systems (if any) and write&#8217;s <code>/etc/dhcpd.conf</code> and starts the dhcp server service. After it&#8217;s done we can see a cobbler report with the command cobbler report. This command lists the distro&#8217;s the profiles within those distro&#8217;s and systems if any.</div>
<p>
<div style="text-align: justify;">After all this we switch to client side. On the client side we need a PXE boot enabled LAN card. I got one from my friend. Most of the LAN card today come with PXE support. I selected PXE boot as first boot device priority from within the BIOS and it booted from the PXE. Got IP address from my cobbler server managed dhcp. Then showed the boot: prompt. Here you can type in the profile name and press enter and it will boot into that profile automatically or if you have a system within a particular profile you can just enter the system name here and it will boot the configuration for that particular system. As I haven&#8217;t created any systems within my <code>redhat5y</code> profile I typed in my profile name that is <code>redhat5y</code> and pressed enter. If you want to see the list of all the available profiles and systems within them you can type menu at the <code>boot:</code> prompt.</div>
<p>
<div style="text-align: justify;">When I gave the profile name at the <code>boot:</code> prompt what it actually did was it read <code>/tftpboot/pxelinux.cfg/default</code> file inside which there was a entry for <code>redhat5y</code> profile telling what kernel to boot and which initrd image to use. All was specified when I added a new profile from cobbler profile add command earlier. And when I ran cobbler sync command it was written to <code>/tftpboot/pxelinux.cfg/default</code>. After the initial boot it switched to ks.cfg file to get install information. The only information it asked me was the partitioning which I left commented in ks.cfg (for the sake of my data you can very well specify this too). And after that it installed the client machine. It took very less time and a small user intervention (which can also be eradicated).</div>
<p>
<div style="text-align: justify;">So I got a new client installation from provisioning. It all sounds a little complex but once we do this practically things become more clear. So in the next step I tried to install a xen virtual machine from PXE boot. For that all I did was  create a new distro named rhel5-xen and within that distro a new profile named <code>redhat5x</code></div>
<p><code><br />cobbler distro add –name=rhel5-xen –kernel=/rhel5/Dump/images/xen/vmlinuz –initrd=/rhel5/Dump/images/xen/initrd.img --arch=x86<br /></code></p>
<div style="text-align: justify;">See the above command the only major difference between the earlier distro I created and this one is the kernel and initrd images. These one are for xen (see the pathname).<br />Then I created a profile <code>redhat5x</code> within this distro:</div>
<p><code><br />cobbler profile addd --name=redhat5x --distro=rhel5-xen --kick-start=/rhel5/Dump/ks1cfg --virt-file-size=2 –virt-ram=256<br /></code></p>
<div style="text-align: justify;">For the sake of convience I am posting my ks1.cfg file I used to install the virtual machine. In this kickstart file I specified the partitioning information and in this one I used nfs as my installation method (that can be configured very easily).</div>
<p><code><br />install<br />nfs --server=192.168.1.5 --dir=/rhel5/Dump<br />key 2515dd4e215225dd<br />lang en_US.UTF-8<br />keyboard us<br />network --bootproto=bootp --device=eth0 --onboot=on<br />rootpw --iscrypted $1$VwD9nalr$06K0bUawzanX72gNk0es91<br />firewall --disabled<br />authconfig --enableshadow --enablemd5<br />selinux --disabled<br />timezone --utc Asia/Calcutta<br />bootloader --location=mbr --driveorder=xvda --append="console=xvc0"<br /># The following is the partition information you requested<br /># Note that any partitions you deleted are not expressed<br /># here so unless you clear all partitions first, this is<br /># not guaranteed to work<br />clearpart --all --drives=xvda<br />part /boot --fstype ext3 --size=100 --ondisk=xvda<br />part pv.2 --size=0 --grow --ondisk=xvda<br />volgroup VolGroup00 --pesize=32768 pv.2<br />logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow<br />logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=144 --grow --maxsize=288</p>
<p>%packages<br />@admin-tools<br />@base<br />@core<br /></code></p>
<div style="text-align: justify;">The above profile add command created a profile within distro <code>rhel5-xen</code>. With a new kickstart which was specially written for xen virtual machine. Now the new arguments in the above command one tells the image file size was 2GB. This image file is used to store the virtual machine on the hard disk just like vmware uses files to emulate hard disks within the virtual machine we see partitions but on hard disk they are files actually in case of xen they are .img files and if not specified are stored in <code>/var/lib/xen/images/</code>(cobbler stores them here). The second argument tells the amount of RAM to be given to the virtual machine. I have 512 MB physical RAM on my system out of which I gave 256 MB with the above argument. I tried to gave 128 MB RAM but it failed during booting of the virtual machine for the first time itself with some xen error reporting balloon error.</div>
<p>
<div style="text-align:<br />
justify;">After I added the profile it was time to start the virtual machine installation. But wait it is not the same as we did earlier in case of physical machines it&#8217;s different. We use a new technology software from RedHat named <code><b>koan</b></code>&#8216;. Koan helps start the virtual machine from the cobbler&#8217;s profile. I installed the software from <a href="http://cobbler.et.redhat.com/download/koan-0.2.8.tar.gz">here</a>. The installation was as that of cobbler. Just extract the file and from within the source directory run <code>python setup.py install</code>. After it&#8217;s installed just run the following command:</div>
<p><code><br />koan --virt –server=192.168.1.5 –profile=redhat5x<br /></code></p>
<div style="text-align: justify;">The above command tells koan that we are going to install a virtual machine (&#8211;virt). The next argument tells the cobbler server&#8217;s ip address and the last one tells the profile name on the cobbler server. This thing was really amazing. Koan communicated with cobbler server and checked for the profile redhat5x (which was there) and started the installation of the virtual machine. Actually it starts the installation and ends up. What it gives is a alpha-numeric number which we need to use in xm console command to get a console of the virtual machine (so that we can see what&#8217;s going on during the installation). The number is like 00_16_3E_6B_D5_39. I used this and gave the below command after koan return me to the shell:</div>
<p><code><br />xm console 00_16_3E_6B_D5_39<br /></code></p>
<div style="text-align: justify;">This command connected me to the virtual machine 00_16_3E_6B_D5_39. This name is given by koan so that it maintains uniqueness of the virtual machine. Later we use this number as our virtual machine name. I haven&#8217;t digged into this number but it&#8217;s a sort of MAC address type which I will look into more detail later.  For the time being my installation of the virtual machine started and ended very soon. Was fast.</p>
<p>After the installation finished the virtual machine rebooted and it was there. It was a working xen virtual machine installation using cobbler and koan in RedHat Enterprise 5 Beta2.</p>
<p>Later we can use the libvirt to manage the virtual machine as we did for other virtual machines that thing is the same.</p>
<p>So in this article I wrote about provisioning which is simplified and give more power with the new emerging technology like cobbler and koan. I will be working on some more things in the coming days specially kickstart templating and enchant. There are a lot of thing&#8217;s in cobbler and koan we can use according to our use I haven&#8217;t mentioned them all but I hope once you get started with this technology you will automatically start reading about them. Well there is no good documentation about cobbler except the man pages and of-course the <a href="https://www.redhat.com/archives/et-mgmt-tools">mailing list</a>.</p>
<p>Thanks for your time. Will see you soon!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2007/03/provisioning-linux-simplified-with-cobbler/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Configuring Xen para virtualization in Redhat Enterprise 5</title>
		<link>http://jeevanullas.in/blog/2007/03/configuring-xen-para-virtualization-in-redhat-enterprise-5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=configuring-xen-para-virtualization-in-redhat-enterprise-5</link>
		<comments>http://jeevanullas.in/blog/2007/03/configuring-xen-para-virtualization-in-redhat-enterprise-5/#comments</comments>
		<pubDate>Mon, 05 Mar 2007 10:17:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[System Administration]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2007/03/05/configuring-xen-para-virtualization-in-redhat-enterprise-5/</guid>
		<description><![CDATA[Hello to everybody. In one of my last post I discussed about Xen and virtualization in Redhat Enterprise 5. Well at that time I was not able to configure virtual machine via the virtualization tool but after that I researched alot about this topic and finally was able to configure Xen on my Redhat Enterprise [...]]]></description>
				<content:encoded><![CDATA[<p>Hello to everybody. In one of my last post I discussed about Xen and virtualization in Redhat Enterprise 5. Well at that time I was not able to configure virtual machine via the virtualization tool but after that I researched alot about this topic and finally was able to configure Xen on my Redhat Enterprise 5.
<div style="text-align: justify;">Well, I had alot of problems with Xen earlier and I like to discuss them here. My first problem was during virt-install and it was:</div>
<p><code>libvir: Xen Daemon error : POST operation failed: (xend.err 'Error creating domain: I need 262144 KiB, but dom0_min_mem is 262144 and shrinking to 262144 KiB would leave only 235124 KiB free.')</code></p>
<div style="text-align: justify;">I eradicated this problem by editing /etc/xen/xend-config.sxp. In this file I edited dom0-min-mem and changed it to (dom0-min-mem 128).</p>
<p>Now I rebooted and again tried to create a new virtual machine but this time I got this error:</div>
<p><code>libvir: Xen Daemon error : POST operation failed: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.')</code></p>
<div style="text-align: justify;">This I figured out as a problem due to my wireless device (eth1). Problem was that the Xen created a virtual network device xenbr1 which was bridged to eth1. But virt-install was looking for xenbr0 which was not present. Soon I found xenbr0 is the default virtual network device virt-install looks for. We can though change the default but I preferred the default so I disabled my wireless (eth1) and enabled my ethernet (eth0). So this time Xen created xenbr0 bridged virtual network device and virt-install detected it.</div>
<p>
<div style="text-align: justify;">Well virt-install is a command line tool to create a new virtual machine that I used in CUI to create a virtual machine but here I am writing the GUI way that is too easy and user friendly. But before that some configuration steps. I saw on the internet that Xen para virtualized guests can only be installed via  a  NFS or HTTP or FTP install source location. So I preferred the NFS way as it&#8217;s too easy. I configured /etc/exports to export /dvd/actual which contained my RHEL5-Client DVD data. But I was never able to install via a NFS source. My installation always hanged. It hanged saying &#8220;Starting Install process. It will take several minutes to start..&#8221; This message comes when the final installation is about to begin (after all options are specified like Partitions, packages, passwords etc.). I never figured out a way to debug this thing so I changed my installation source.</div>
<p>
<div style="text-align: justify;">This time I used a HTTP source. So I configured Apache Webserver for my installation source. These were the VirtualHost configuration lines:</div>
<p><code><br /><xmp><virtualHost "192.168.1.5:80"></xmp>ServerAdmin root@server.example.com<br />  DocumentRoot "/dvd"<br />  ServerName server.example.com<br />  ErrorLog logs/server.example.com-error_log<br />  CustomLog logs/server.example.com-access_log common<br /><xmp></virtualHost></xmp><br /></code></p>
<div style="text-align: justify;">So my HTTP source now was http://server.example.com/actual. Great so let&#8217;s get started.</p>
<p>First of all I booted the Xen enabled kernel. Here is my Xen enabled kernel lines of grub.conf:</div>
<p><code><br />title           Red Hat Enterprise Linux Client (2.6.18-1.2747.el5xen)<br />root            (hd0,5)<br />kernel          /boot/xen.gz-2.6.18-1.2747.el5<br />module          /boot/vmlinuz-2.6.18-1.2747.el5xen ro root=LABEL=/ rhgb quiet<br />module          /boot/initrd-2.6.18-1.2747.el5xen.img<br /></code></p>
<div style="text-align: justify;">Note that I specified no dom0_mem=<memory> variable in kernel line. All was handle via dom0_min_mem in /etc/xen/xend-config.sxp.</memory><br /><memory></memory><br /><memory>See I understand what all this means but I am hiding all these details so that this thing becomes easy.</memory><br /><memory></memory><br /><memory>When my Xen enabled kernel booted the xend service started automatically. See we need xend service to get started successfully if we want to create a new virtual machine via Xen.</memory><br /><memory></memory><br /><memory>Now I started Virtual Machine Manager present in Application -> System Tools.</memory><br /><memory></memory></div>
<p><memory><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iatQW3P65ho/Revv6FcKqFI/AAAAAAAAACE/6EXZ_SErZLE/s1600-h/1.jpg"><img style="cursor: pointer;" src="http://4.bp.blogspot.com/_iatQW3P65ho/Revv6FcKqFI/AAAAAAAAACE/6EXZ_SErZLE/s320/1.jpg" alt="" id="BLOGGER_PHOTO_ID_5038384389315799122" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>In this window select Local Xen Host and Click on Connect. Note this window helps us to connect to a remote host that is running Xen. Very useful !!</memory><br /><memory></memory></div>
<p><memory><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iatQW3P65ho/Revv6FcKqGI/AAAAAAAAACM/l5xu586TMVE/s1600-h/2.jpg"><img style="cursor: pointer;" src="http://4.bp.blogspot.com/_iatQW3P65ho/Revv6FcKqGI/AAAAAAAAACM/l5xu586TMVE/s320/2.jpg" alt="" id="BLOGGER_PHOTO_ID_5038384389315799138" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>So here&#8217;s how the Virtual Machine Manager looks. Note here that right now I am running the host domain0 only so only that is shown but we will create a new domain (domainU) soon.</memory><br /><memory></memory></div>
<p><memory><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iatQW3P65ho/Revv6VcKqHI/AAAAAAAAACU/HiZ11pHQVlQ/s1600-h/3.jpg"><img style="cursor: pointer;" src="http://1.bp.blogspot.com/_iatQW3P65ho/Revv6VcKqHI/AAAAAAAAACU/HiZ11pHQVlQ/s320/3.jpg" alt="" id="BLOGGER_PHOTO_ID_5038384393610766450" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>So after clicking the New button the Create Virtual Machine wizards starts. This wizard asks some input regarding the new virtual machine and finally creates it.</memory><br /><memory></memory></div>
<p><memory><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iatQW3P65ho/Revv6VcKqII/AAAAAAAAACc/pF9ArEvwUqg/s1600-h/4.jpg"><img style="cursor: pointer;" src="http://1.bp.blogspot.com/_iatQW3P65ho/Revv6VcKqII/AAAAAAAAACc/pF9ArEvwUqg/s320/4.jpg" alt="" id="BLOGGER_PHOTO_ID_5038384393610766466" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>First of all it asks the name of the virtual machine. I gave rhel5b2-pv1 (Redhat Enterprise Linux 5 beta2 para virtualized 1).</memory><br /><memory></memory></div>
<p><memory><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iatQW3P65ho/Revv6VcKqJI/AAAAAAAAACk/3fyNgaMEa9s/s1600-h/5.jpg"><img style="cursor: pointer;" src="http://1.bp.blogspot.com/_iatQW3P65ho/Revv6VcKqJI/AAAAAAAAACk/3fyNgaMEa9s/s320/5.jpg" alt="" id="BLOGGER_PHOTO_ID_5038384393610766482" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>Now the wizard ask about the virtualization method. We select para-virtualization (unique point about Xen). Para virtualization is what I have configured till now and it&#8217;s working I have not tried full virtualization (will try it soon with Windows XP guest).</memory><br /><memory></memory></div>
<p><memory><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iatQW3P65ho/RevyH1cKqKI/AAAAAAAAACs/e6mw4Yv4kP0/s1600-h/6.jpg"><img style="cursor: pointer;" src="http://3.bp.blogspot.com/_iatQW3P65ho/RevyH1cKqKI/AAAAAAAAACs/e6mw4Yv4kP0/s320/6.jpg" alt="" id="BLOGGER_PHOTO_ID_5038386824562256034" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;">
<div style="text-align: justify;"><memory>In this step the wi<br />
zard ask about the installation source. Two options are provided I choosed the first one and specified my installation source http://server.example.com/actual (I have DNS and APACHE configured on my system).</memory></div>
<p><memory></memory></div>
<p><memory><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iatQW3P65ho/RevyIFcKqLI/AAAAAAAAAC0/Wlo7gCphic8/s1600-h/7.jpg"><img style="cursor: pointer;" src="http://4.bp.blogspot.com/_iatQW3P65ho/RevyIFcKqLI/AAAAAAAAAC0/Wlo7gCphic8/s320/7.jpg" alt="" id="BLOGGER_PHOTO_ID_5038386828857223346" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>In this step the wizard ask about the storage. How the virtual machine is going to be stored on the disk. I choosed the file way and specified the file as /opt/rhel5b2-pv1.img and size 4GB.</memory><br /><memory></memory></div>
<p><memory><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iatQW3P65ho/RevyIFcKqMI/AAAAAAAAAC8/09IjEi1qt54/s1600-h/8.jpg"><img style="cursor: pointer;" src="http://4.bp.blogspot.com/_iatQW3P65ho/RevyIFcKqMI/AAAAAAAAAC8/09IjEi1qt54/s320/8.jpg" alt="" id="BLOGGER_PHOTO_ID_5038386828857223362" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>In this step the wizard asked about the memory I want to give to the virtual machine. I gave 256MB to my RHEL5 virtual machine. Note the GUI was a little buggy in showing my system memory as  502 GB instead of 502 MB (LOL). Also in this step the wizard asked about the VCPU which I specified 1 (I have centrino duo).</memory><br /><memory></memory></div>
<p><memory></p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iatQW3P65ho/RevyIVcKqNI/AAAAAAAAADE/7gGRB7yQs9A/s1600-h/9.jpg"><img style="cursor: pointer;" src="http://1.bp.blogspot.com/_iatQW3P65ho/RevyIVcKqNI/AAAAAAAAADE/7gGRB7yQs9A/s320/9.jpg" alt="" id="BLOGGER_PHOTO_ID_5038386833152190674" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>This was a summary of all the options specified earlier by me. Finally I clicked Finish Button.</memory><br /><memory></memory></div>
<p><memory><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iatQW3P65ho/RevyIVcKqOI/AAAAAAAAADM/OS5l5EmqEn0/s1600-h/10.jpg"><img style="cursor: pointer;" src="http://1.bp.blogspot.com/_iatQW3P65ho/RevyIVcKqOI/AAAAAAAAADM/OS5l5EmqEn0/s320/10.jpg" alt="" id="BLOGGER_PHOTO_ID_5038386833152190690" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>This little window showed a progress bar and behind the scene it was creating a virtual machine. It was also establishing a VNC connection so that I can see the installer in a window in my host OS.</memory><br /><memory></memory></div>
<p><memory><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iatQW3P65ho/Revym1cKqPI/AAAAAAAAADU/78gHvN9EMWs/s1600-h/12.jpg"><img style="cursor: pointer;" src="http://3.bp.blogspot.com/_iatQW3P65ho/Revym1cKqPI/AAAAAAAAADU/78gHvN9EMWs/s320/12.jpg" alt="" id="BLOGGER_PHOTO_ID_5038387357138200818" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>So this was the window I was shown with. This is the first screen the window showed to me. After that the anaconda installer started. Asked me the partition layout, root password, time zone, network configuration and package selections.</memory><br /><memory></memory></div>
<p><memory><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_iatQW3P65ho/Revym1cKqQI/AAAAAAAAADc/0590JMzHe_M/s1600-h/13.jpg"><img style="cursor: pointer;" src="http://3.bp.blogspot.com/_iatQW3P65ho/Revym1cKqQI/AAAAAAAAADc/0590JMzHe_M/s320/13.jpg" alt="" id="BLOGGER_PHOTO_ID_5038387357138200834" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>Finally when all configuration was done the install process started. This is just before it started (I captured this screen because with my NFS installation it hanged during this process).</memory><br /><memory></memory></div>
<p><memory></p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iatQW3P65ho/RevynFcKqRI/AAAAAAAAADk/-NBENyCoA_Q/s1600-h/14.jpg"><img style="cursor: pointer;" src="http://4.bp.blogspot.com/_iatQW3P65ho/RevynFcKqRI/AAAAAAAAADk/-NBENyCoA_Q/s320/14.jpg" alt="" id="BLOGGER_PHOTO_ID_5038387361433168146" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>The installation finished in about 20 minutes as it was a very minimal installation around 940MB.  No X-window no GNOME just pure Console. When the installation finsihed it rebooted and showed nothing I had to select Serial Console from the View Menu (Virtual Machine Console) and it showed me the login prompt. </memory><br /><memory></memory></div>
<p><memory><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iatQW3P65ho/RevynFcKqSI/AAAAAAAAADs/xTgXGaBrKgU/s1600-h/15.jpg"><img style="cursor: pointer;" src="http://4.bp.blogspot.com/_iatQW3P65ho/RevynFcKqSI/AAAAAAAAADs/xTgXGaBrKgU/s320/15.jpg" alt="" id="BLOGGER_PHOTO_ID_5038387361433168162" border="0" /></a></p>
<p></memory>
<div style="text-align: justify;"><memory>Using this console I logged in to my virtual machine and used it. LOL.</memory><br /><memory></memory><br /><memory>When I was finished with all this I shut down the virtual machine and did somethings. First of all I saw that my dom0 (default domain) which was compressed to use 212 MB RAM when my virtual machine was running still used 212 MB. Performance was slow. I need to give it the whole RAM now but how I do that. Well I figured out a way (searching internet):</memory><br /><memory>In command line</memory><br /><memory></memory></div>
<p><memory><br /><code>virsh</code></p>
<p>Inside the virsh prompt</p>
<p><code>virsh # connect </code><br /><code>virsh # setmem Domain-0 500000</code></p>
<p></memory>
<div style="text-align: justify;"><memory>The first command connects virsh to the local hypervisor and the second command sets the memory of Domain-0 (Domain Name) to 500MB. To see the name of your domain issue list command inside the virsh prompt.</memory><br /><memory></memory><br /><memory>Now I wanted to start my virtual machine automatically during next boot up. This is how I did it.</memory><br /><memory></memory></div>
<p><memory><br /><code>cd /etc/xen/auto</code><br /><code>ln -s ../rhel5b2-pv1 .</code></p>
<p></memory>
<div style="text-align: justify;"><memory>What I did here was I went to /etc/xen/auto and created a symlink to my /etc/xen/rhel5b2-pv1 file in this directory. /etc/xen/rhel5b2-pv1 was the Xen configuration file for my virtual machine. And if I want to start my virtual machine during every boot up I need to place a symlink for it&#8217;s config file in /etc/xen/auto. This symlink is read by xendomains service. So I </memory><br /><memory></memory></div>
<p><memory><br /><code>chkconfig xendomains on</code></p>
<p></memory>
<div style="text-align: justify;"><memory>So the service get&#8217;s started at every bootup.</memory><br /><memory></memory><br /><memory>When you don&#8217;t want to use the virtual machine just do this</memory><br /><memory></memory></div>
<p><memory><br /><code>service xendomains stop</code></p>
<p></memory>
<div style="text-align: justify;"><memory>But if you want to assign all the physical RAM after this to the default domain you have to again call virsh and do what I told earlier. I need to figure out a easy way to do this (hack the /etc/init.d/xendomains script maybe).</memory><br /><memory></memory><br /><memory>Well this was it and hope you also got Xen installed and configured in your linux. I was specific about the OS that is Redhat Enterprise Linux 5. Virtualization is alot easier in RHEL5 and hope to see more in the final release of RHEL5. </memory><br /><memory></<br />
memory></div>
<p><memory><br /></memory>
<div style="text-align: justify;"><memory>What Redhat guys have done is that they have used a API called libvirt that talks to Xen. libvirt is simply great written in C language having bindings for Python and Perl. This API helped them to write the simple yet powerful GUI &#8216;virt-manager&#8217; for configuring and managing the virtual machines. They are doing great work at Redhat Emerging Technology. I have also tried the new virtual machine manager (GUI) and they have included alot more options in it (latest release is 0.3.1). Hope to see the new Virtual machine manager in Final release of RHEL.</memory><memory><br /></memory></div>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2007/03/configuring-xen-para-virtualization-in-redhat-enterprise-5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Configuring Yum in RHEL5 for DVD source</title>
		<link>http://jeevanullas.in/blog/2007/02/configuring-yum-in-rhel5-for-dvd-source/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=configuring-yum-in-rhel5-for-dvd-source</link>
		<comments>http://jeevanullas.in/blog/2007/02/configuring-yum-in-rhel5-for-dvd-source/#comments</comments>
		<pubDate>Tue, 27 Feb 2007 02:46:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[RHEL]]></category>
		<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2007/02/26/configuring-yum-in-rhel5-for-dvd-source/</guid>
		<description><![CDATA[In my last article I explained the problem I faced with the installation of software in RHEL5 Beta2. I tried system-config-packages and the old &#8220;rpm&#8221; command but nothing worked as it used to in earlier days. So I thought to dig into this thing and tried to find the possible cause and solution to this [...]]]></description>
				<content:encoded><![CDATA[<div style="text-align: justify;">In my last article I explained the problem I faced with the installation of software in RHEL5 Beta2. I tried system-config-packages and the old &#8220;rpm&#8221; command but nothing worked as it used to in earlier days. So I thought to dig into this thing and tried to find the possible cause and solution to this problem.</p>
<p>So I went on to GNU/Linx community and put up this question. Okay I got some inputs some directions and finally I got what I wanted. First of all let me tell you the scenario once more so that you can better get what I want to say.</p>
<p>Suppose you have installed a RHEL5 system and now after the installation is complete you want to install a package (which is not installed). You put in the DVD and mount it. Go to the said directory and try to install the package via the well old &#8220;rpm&#8221; command. But to your surprise you found that it failed due to dependency problems. Okay no problem. We all know how to deal with it. We use the &#8220;&#8211;aid&#8221; switch with our &#8220;rpm&#8221; command that will automatically install the dependency rpm first then the said rpm. Well we try that but it again failed with the same error message. That means it&#8217;s not finding the dependency rpm. But wait. The dependency rpm and the rpm we want to install both are in the same directory then why is the &#8220;rpm&#8221; command failing.</p>
<p>Well that&#8217;s because in RHEL5 (as in Fedora Core 6) all the things are controlled by &#8220;yum&#8221;. I read somethings about &#8220;yum&#8221; and quickly found that it had problem with dvd sources. But I didn&#8217;t found any thing on how to disable &#8220;yum&#8221; completely and go through the well old command line way of installing packages. But I found a way out by which &#8220;yum&#8221; can access DVD sources and if that happens we can install/un-install packages easily either via graphical tool(system-config-packages) or the command line via &#8220;yum&#8221; command.</p>
<p>Okay so let&#8217;s start this.I inserted the RHEL5 Client DVD and mounted it on /media/dvd/</div>
<div style="text-align: justify;"><code></code><br /><code>mkdir -p /media/dvd</code><br /><code>mount /dev/dvd /media/dvd</code><br /><code></code></p>
</div>
<p>Then I created a ISO file for this DVD using the &#8220;mkisofs&#8221; command.
<div style="text-align: justify;"><code>mkisofs -o /opt/RHEL5.iso -r /media/dvd/</code></p>
</div>
<div style="text-align: justify;">The above command took sometime as I was creating a image file for my DVD (approx 3.6GB). Well after sometime it finished. Now was the time to do the real job. There was no use of the DVD so i unmounted and ejected it.</div>
<div style="text-align: justify;"><code></code><br /><code>umount /media/dvd/</code><br /><code>eject</code><br /><code></code></p>
<div style="text-align: justify;">Now I created a directory which will act as mount point for the ISO file I created earlier.</div>
<p><code></code><br /><code>mkdir -p /dvd/actual</code><br /><code></code></p>
<div style="text-align: justify;">Now I mounted the ISO file onto the above mount point. Note that to mount the ISO file we need to use special options. So let&#8217;s see what is the command.</div>
<p><code></code><br /><code>mount -r -o loop -t iso9660 /opt/RHEL5.iso /dvd/actual</code><br /><code></code></p>
<div style="text-align: justify;">The above command mounted the RHEL5 ISO on /dvd/actual. Now I went to the mount point directory and installed a rpm called &#8220;createrepo&#8221;.</div>
<p><code></code><br /><code>cd /dvd</code><br /><code>rpm -Uvh actual/Client/creatrepo*</code><br /><code></code></p>
<div style="text-align: justify;">The need for this RPM arises because the DVD of RHEL5 (also of FC6) has &#8220;media:&#8221; written in it&#8217;s metadata that creates problem with &#8220;yum&#8221;. Now by using this createrepo I will create a copy of my own for the repodata that will not be having the &#8220;media:&#8221; thing and that will help me use the repodata with &#8220;yum&#8221; and hence the software using &#8220;yum&#8221; too like &#8220;system-config-packages&#8221; or &#8220;pirut&#8221;.</p>
<p>Now it&#8217;s time to create the repodata. This is how I did that  (note: I didn&#8217;t changed my current directory. Was where I was previously).</div>
<p><code></code><br /><code>createrepo .</code><br /><code></code></p>
<div style="text-align: justify;">Above command indexed around 2239 Packages and created a repodata/ directory in the current directory of around 8.1 MB. This directory had the repomod.xml and other metadata files. Actually what it did was it indexed all the RPM&#8217;s present in the current directory, that was &#8220;/dvd&#8221;. So I had rpm&#8217;s in</div>
<p><code>/dvd/actual/Client, /dvd/actual/VT, /dvd/actual/Workstation</code></p>
<p>All got indexed and the metadata was created.</p>
<p>I also copied the GPG key files to my hard disk (to tell yum to use them later).</p>
<p><code></code><br /><code>cp /dvd/actual/*GPG* /opt</code><br /><code></code></p>
<div style="text-align: justify;">There were around 4-5 GPG files they got copied to /opt. Later we will see that we can make &#8220;yum&#8221; to read these GPG key files and verify a package before installing.</p>
<p>Now finally came the time to tell yum to use this repo to for my installations. That was done by creating a repo file in /etc/yum.repos.d/. This is how it was done:</div>
<p><code></code><br /><code>cd /etc/yum.repos.d/</code><br /><code>vi dvd.repo</code><br /><code></code></p>
<p>Inside this file I wrote the following:</p>
<p><code></code><br /><code>[dvd]</code><br /><code>name=RHEL5DVD</code><br /><code>baseurl=file:///dvd</code><br /><code>enabled=1</code><br /><code>gpgcheck=1</code><br /><code>gpgkey=file:///opt/RPM-GPG-KEY file:///opt/RPM-GPG-KEY-beta file:///opt/RPM-GPG-KEY-fedora file:///opt/RPM-GPG-KEY-fedora-test</code><br /><code></code></p>
<div style="text-align: justify;">Saved the /etc/yum.repos.d/dvd.repo file. Now I thought of disabling the plugins for RHN and &#8220;InstallOnly Packages&#8221;. So I went to /etc/yum/pluginconf.d/ and opened the configuration file for each plugin and made &#8220;enabled=1&#8243; to &#8220;enabled=0&#8243;.</p>
<p>Now finally I updated my &#8220;yum&#8221; so that it reads the new repo and other settings once again. For that I did:</div>
<p><code></code><br /><code>yum clean all</code><br /><code>yum update</code><br /><code></code></p>
<div style="text-align: justify;">Voila.It&#8217;s finally done. But hey wait.When I install a package from where will it select the package rpm.It will do that from the mounted ISO.That means I need to mount the ISO everytime.</p>
<p>Well I can use fstab for that.So I created a entry in /etc/fstab so that my ISO gets mounted automatically on boot.</p>
<p>Here was the entry I made in /etc/fstab:</div>
<p><code></code><br /><code>/opt/RHEL5.iso  /dvd/actual     iso9660 defaults,ro,loop        0 0</code><br /><code></code></p>
<div style="text-align: justify;">Now I ran system-config-packages and search, browse, install and un-install RPM&#8217;s easily. Now the GUI Package manager can search for installed as well as not installed rpm&#8217;s. That&#8217;s great. But the most important thing is that it if install a RPM which needs a dependency RPM (which is not installed) the Package manager will tell us that there is a dependency and will install it automatically.Great !. Same goes for un-installation of packages.If some package is acting as a dependency for some other package and we try to remove it then it will show a message and will ask us what to do.</p>
<p>For command line lovers &#8220;yum&#8221; command will work. Now they can search package via yum search
<package name=""> or if they don&#8217;t remember the name they can see the large list using yum list command.For installing yum install.This will handle the dependencies too. </package>
<package name=""></package>
<package name="">Okay so I finally managed to find a way out. But it was a real pain. </package>
<package name="">But as they say &#8220;No Pain No Gain&#8221;.</package>
<package name=""></package>
<package name="">Meanwhile I have not formatted my RHEL5 but instead of that in my Vista partition I hav<br />
e installed Ubuntu 7.04 Herd 4. So now I have two Linux RHEL5 Beta2 (Client) and Ubuntu 7.04 Herd 4. Well I kept RHEL5 so that I can learn some more new things. </package>
<package name=""></package>
<package name="">All in all Package management in RHEL/Fedora needs a great improvement.Today I call upon the developers to come together and help the Redhat guys to improve the &#8220;yum&#8221;,&#8221;pirut&#8221; and &#8220;system-config-packages&#8221;.</package></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2007/02/configuring-yum-in-rhel5-for-dvd-source/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Linux Distros</title>
		<link>http://jeevanullas.in/blog/2007/02/linux-distros/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux-distros</link>
		<comments>http://jeevanullas.in/blog/2007/02/linux-distros/#comments</comments>
		<pubDate>Mon, 26 Feb 2007 09:21:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2007/02/26/linux-distros/</guid>
		<description><![CDATA[Well, it has been a long time since I wrote here. I have been busy with my exams and then got busy trying the new linux distro versions. In these days I tried my hands on the Redhat Enterprise Linux 5 Beta2(RHEL). It was a great experience trying a enterprise product. I downloaded the huge [...]]]></description>
				<content:encoded><![CDATA[<div style="text-align: justify;">Well, it has been a long time since I wrote here. I have been busy with my exams and then got busy trying the new linux distro versions. In these days I tried my hands on the Redhat Enterprise Linux 5 Beta2(RHEL). It was a great experience trying a enterprise product. I downloaded the huge 3.6 GB Client DVD.So let&#8217;s see how was the drive with RHEL5.</p>
<p>Installation procedure (anaconda) was exactly a copy of Fedora Core 6. I had tried FC6 earlier but only once and then I never used it. Same went for RHEL5. During installation it asked me to enter a key. That was the only difference I saw between FC6 and RHEL5 installation. I got the key from internet (I don&#8217;t remember from where) and now I don&#8217;t have the key. LOL.</p>
<p>The few changes I noted down between the previous release of RHEL and this release were that this release had 3D Desktop all because of AIGLX enabled Xorg 7.x. Compiz was providing the desktop effect. I also saw in this release Xen enabled 2.6.18 kernel. Oh wait. Let me show you the `uname -a` of RHEL5 beta2:</p>
<p><code>Linux deepsa.lenovo 2.6.18-1.2747.el5 #1 SMP Thu Nov 9 18:55:30 EST 2006 i686 i686 i386 GNU/Linux</code></p>
<p>Well the above one is not Xen enabled kernel but if you choose virtualiaztion as a installation option you surely get Xen only. Other changes were Eclipse, JAVA etc. development tools available in this release. I selected all of these and the Servers too. The installation took around 35 minutes. Wow. That was fast.<br />Okay. Now I booted the Kernel and as it should be, Xen started. Xend (Xen daemon) also started. Most notably I  saw Avahi daemon. It was great to see it in RHEL(now surely will get to see some great desktop).</p>
<p>Okay so here came the Login screen. But hey what&#8217;s that. My resolution was not according to my laptop it was 1024&#215;768 it should be 1280&#215;800. No problem. I logged in(via root). So as I have guessed it was just like Fedora 6. No change. The following hardware which I need as soon as I install a Operating System didn&#8217;t worked in RHEL5.</div>
<p>a) Wireless Internet<br />b) Bluetooth<br />c) Proper Screen Resolution.</p>
<div style="text-align: justify;">Okay. So I went on searching for drivers for ipw3945. I got to know that redhat had ipw3945 in Beta1 but they removed it due to some license problem. What the Fuck. They say if we include propertiery modules we get problem later. Here&#8217;s what they say exactly (I have converted it into a story).</p>
<p>Suppose redhat includes ipw3945 for example in RHEL5. Client A purchase RHEL5 installs it and use it. And after sometime Client A gets problem in it. Client A calls the redhat customer support guy and ask to fix the problem. Customer support department detect problem was due to a propertiery module named ipw3945. The guy tells Client A to please not install the module. Now the Client tells the guy that if you have given the module you need to better fix it. Not installing the module is not a solution. In this case note that the client didn&#8217;t required ipw3945 but ipw3945 was somewhere conflicting with some other crucial module. So redhat thought not to have propertiery module.</p>
<p>Now guys who need ipw3945 goes to <a href="http://www2.blogger.com/www.atrpms.net">atrpms </a>and install from there. Note that installing these things from internet is a real pain. All because of the dependencies problem. I am of the favour that if Linux somehow solves the Dependency problem they really have a easy path ahead (Ubuntu has done it very well).</p>
<p>Okay so I went to the above mentioned website and downloaded the daemon rpm, kernel module rpm and installed them. Then via system-config-network I configured my wireless with a 128  bit WEP Key. Oh to my surprise I saw that my wireless doesn&#8217;t starts at boot (even after telling it to start on boot automatically). I figured out a way soon. I have to switch off my wireless(on my laptop) and again switch it on after the boot process completes. The problem is that it is not associating with the Access point. I don&#8217;t know if there is some other solution to this problem but I am going with the above solution right now.</p>
<p>Bluetooth was working without any problem so it was nice. Well now comes the resolution problem. I have been facing this problem with many linux distros. Only OpenSuse 10.1 gave me proper resolution for others I have to use 915resolution. So I did the same for RHEL5. I went to the website (mentioned above) and downloaded 915resolution configured it for 1280&#215;800 and in such a way that the service for it starts automatically during boot. Okay now what I am left with. Xen? Yeah. I have tried this tool earlier with RHEL4 but never got success and to my surprise it was way too easy in RHEL5 Beta2 with the new virtualization manager (GUI) tool to create, configure and modify new virtual machines based on Xen. But I never got success in configuring one for me. And the major reason for that I find is my RAM. I need to have at-least 1GB RAM otherwise there is no point having Xen.</p>
<p>So I installed my old friend VMware workstation. But this time it was a new version. Yes the Beta 6.0. It was easy to install and configure as this time it has the code to compile vmnet and vmmon drivers for 2.6.18 kernel with GCC 4.1.1. Okay. So I got through with virtualization but hey wait. When we will see a user friendly open source virtualiaztion tool that has capablities just like VMware. Xen is promising but it&#8217;s not for beginners.</p>
<p>Okay so what I am left now. Oh Yes. The 3D Desktop. Well it was easy just go to System > Preferences > 3D Desktop effects and enable it and BOOM it&#8217;s on. Well it was Compiz utilizing AIGLX power. But as I have tried beryl and I felt in love with it along time ago I went on installing beryl via SVN on RHEL5. It was easy. I got beryl 0.2.0rc3 installed in a few minutes and up running with most of the effects and 3D Desktop is on. Well according to Redhat they have included 3D desktop just for a technological preview in RHEL5. They don&#8217;t mean to have this kind of software in a enterprise product. It&#8217;s good. Sometime we get bore at that time we can play with the desktop cubes. LOL.</p>
<p>Well now comes the most important part. And in a enterprise product like RHEL5 it&#8217;s the servers. I tried DNS (BIND-9), APAHCE and SQUID. Well I found not much difference between the earlier (RHEL4) and these ones (RHEL5). The important difference I saw was in DNS. Earlier they use to have a caching-nameserver RPM in only AS and ES version not the WS version. But this time they had that rpm in Client RHEL5 Dvd. Well it&#8217;s a DVD so it need to have more softwares. I didn&#8217;t downloaded the Server DVD which was less in size. But I think the only difference between server and client DVD is that the server DVD is going to have the Cluster suite too (GFS too).</p>
<p>The installation of software via the DVD after a base installation is there can be easily done through system-config-packages. It tries to find a connection with RHN(Redhat Network for Update). But as my system is not registered with Redhat it couldn&#8217;t connect to the RHN servers. But can I install RPM from the DVD via this GUI tool. Let&#8217;s see.</p>
<p>I started system-config-packages. Searched for a package named zsh which was on the DVD but not installed the search result said no packages were found. But what&#8217;s that. I have the package on the DVD. Okay I figured out the problem. The problem was that each time this Add/Remove Software program starts it runs a plugin called <code>Loading "installonlyn" plugin</code>. I don&#8217;t know how to remove this plugin and how to get a new plugin that can search for me the software present on the DVD and not installed on my system. Okay now I tried to install a RPM from DVD that requires other dependency RPM&#8217;s via command line (mostly the prefer way with linux administrators). I wanted to test &#8211;aid. I tried installing xfig rpm that depended on transfig rpm. Both the RPM&#8217;s were in /mnt/Client/ directory. I gave the command:</div>
<p><code><br />[roo<br />
t@deepsa Client]# rpm -ivh xfig-3.2.4-21.1.i386.rpm --aid</code></p>
<p>I got the result<br /><code><br />error: Failed dependencies:<br /> transfig >= 1:3.2.4-12 is needed by xfig-3.2.4-21.1.i386<br /></code>
<div style="text-align: justify;">But why so. It must have installed the transfig RPM automatically I gave &#8220;aid&#8221;. Now I installed transfig first and then I installed xfig. Now it got installed. Man. It&#8217;s not what I wanted. It&#8217;s the same as in Fedora core 6.</p>
<p>The aid switch doesn&#8217;t work in RHEL? It&#8217;s very important thing. God knows what will happen to Redhat. I am specially worried after ORCALE release there own Linux which is exact copy of RHEL4 Update 4. I mean aid is what I use to use many times. I mean I taught my students during there RHCE course about this switch but now it&#8217;s not functioning as it should have. Come on RedHat!!.</div>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iatQW3P65ho/ReLHA9iwAgI/AAAAAAAAAB4/JKf6SEbpvJ0/s1600-h/Screenshot.jpg"><img style="cursor: pointer;" src="http://4.bp.blogspot.com/_iatQW3P65ho/ReLHA9iwAgI/AAAAAAAAAB4/JKf6SEbpvJ0/s320/Screenshot.jpg" alt="" id="BLOGGER_PHOTO_ID_5035806152687878658" border="0" /></a></p>
<div style="text-align: justify;">This is a screenshot of the GUI based Package Manager in RHEL5 Beta2.</p>
<p>The other problem I faced on my laptop was that the CD/DVD were not getting detected and mounted automatically when I inserted them. I had to use the mount command everytime. I guess problem is with gnome-volume-manager. Guys need to fix it.</p>
<p>All in all I am going to format my RHEL5. Why? I am a desktop user not a server administrator. Sometimes I do some programming with C/C++/GTK+ but I think RHEL5 is better for enterprise not for a home user. Home user requires much more user friendly desktop and application. We don&#8217;t have CHM reader in RHEL5. We don&#8217;t have MP3 support (patent problems). We don&#8217;t have MPEG, AVI players in RHEL5. And lastly the most important issue is the software installation procedure. But that&#8217;s what a average desktop user wants.</p>
<p>Well if you are having a laptop configuring RHEL5 for your laptop is not much of a problem now. But then also you need to configure somethings before you say it&#8217;s ready for use.</p>
<p>I am now downloading Herd 4 of Ubuntu 7.04. The only linux distro I tried that is best for a laptop user like me. Wireless no problem. Bluetooth no problem. Resolution no problem. 3D Desktop no problem. MP3, AVI, MPEG it&#8217;s way to easy to configure and use. I am eagerly waiting for the final release of 7.04 in April. Meanwhile I will try Herd 4 with a 2.6.20 kernel having EXT4 support (experimental). LOL.</div>
<p>In the recent months I had tried alot of distros:</p>
<p>a) BackTrack Beta 2.0<br />b) OpenSUSE 10.2<br />c) Gentoo 2006.1<br />d) RHEL5 Beta2<br />e) Ubuntu Edgy<br />f) Ubuntu Fiesty Herd 2</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2007/02/linux-distros/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Exams fever the worst fever for a human being like me.</title>
		<link>http://jeevanullas.in/blog/2007/01/exams-fever-the-worst-fever-for-a-human-being-like-me/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exams-fever-the-worst-fever-for-a-human-being-like-me</link>
		<comments>http://jeevanullas.in/blog/2007/01/exams-fever-the-worst-fever-for-a-human-being-like-me/#comments</comments>
		<pubDate>Tue, 23 Jan 2007 16:04:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2007/01/23/exams-fever-the-worst-fever-for-a-human-being-like-me/</guid>
		<description><![CDATA[Today I got my first semester exams date. They are starting from 27th feb 2007. After a long time I am giving exams. So this exam fever is killing me. I am not so use to this fever in the past 1 or so year.The fever has increased due to the boring subjects I have [...]]]></description>
				<content:encoded><![CDATA[<div style="text-align: justify;">Today I got my first semester exams date. They are starting from 27th feb 2007. After a long time I am giving exams. So this exam fever is killing me. I am not so use to this fever in the past 1 or so year.<br />The fever has increased due to the boring subjects I have in my course. And most horrible of them is Discrete Mathematical Structures. The worst subject I have ever read. I haven&#8217;t studied in the whole semester, attended only 3 classess in college for this subject during the semester and now when I open the book nothing goes in mind. Predicate logic it&#8217;s formula, normal forms etc. etc. so fucking bore.<br />God knows what will happen in this exams. Well I am not preparing that hard so I don&#8217;t expect much but I need to pass.<br />Will comeback soon with alot of new discoveries I have done in the field of computer science (lol).</div>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2007/01/exams-fever-the-worst-fever-for-a-human-being-like-me/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing OSX86</title>
		<link>http://jeevanullas.in/blog/2006/10/installing-osx86/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-osx86</link>
		<comments>http://jeevanullas.in/blog/2006/10/installing-osx86/#comments</comments>
		<pubDate>Sun, 22 Oct 2006 06:05:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2006/10/21/installing-osx86/</guid>
		<description><![CDATA[So finally today I got time to give OSX86 a try. I have heard a lot about this. Someone said me it can be only installed on a blank hard drive (you have to make the hard drive blank otherwise loose data). Someone said it doesn&#8217;t support most of the hardware in the market. But [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://photos1.blogger.com/blogger/1572/1866/1600/Picture%202.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1572/1866/320/Picture%202.png" alt="" border="0" /></a></p>
<p>
<div style="text-align: justify;">So finally today I got time to give OSX86 a try. I have heard a lot about this. Someone said me it can be only installed on a blank hard drive (you have to make the hard drive blank otherwise loose data). Someone said it doesn&#8217;t support most of the hardware in the market. But I thought to give it a try.</div>
<div style="text-align: justify;">My first and last concern was that I don&#8217;t wanted to wipe out my hard drive because it was already housing Windows XP and SuSE Linux. So I went to google searching for the possible paths. I found one after researching quite a lot there.<br />So here I am writing what I did to get OSX86 on my laptop without wiping Windows XP and SuSE Linux and other data partition.</div>
<p>
<div style="text-align: justify;">First of all I downloaded the tiger-x86-flat.img from torrent. It&#8217;s a huge file around 6 GB so most of the trackers have it in bzip2 compressed format so it&#8217;s 1.28 GB only. After downloading the bzip2 archive uncompress it via WinRAR on some ntfs partition as FAT32 doesn&#8217;t support single file size greater than 4 GB. So you need more than 6 GB on some NTFS or EXT3 partition (it too will work).</p>
<p>Secondly download Acronis Disk Director Suite. It&#8217;s not a free software you need to purchase it if you want to use it. From within this software I resized my C drive housing windows XP. It was a 20 GB partition having 10.8 GB  free  space. I resized it such that I got unallocated space of 7 GB at the starting and then my C drive reduced to 13 GB.</p>
<p>After that from within Acronis Disk Director Suite I formatted the unallocated space as partition type of “af”.</p>
<p>Now I booted my system from the hard drive and I got grub error 17. Lol. I lost my grub. What a stupid I am, I must have taken backup of my MBR but ok I will manage things somehow.</p>
<p>Now I booted my laptop via a Ubuntu 5.10 Live CD and from within the shell mounted the ntfs drive having my tiger-x86-flat.img file it was /dev/sda5.</p>
</div>
<p><code><br /> mkdir /mnt/C<br /> mount /dev/sda5 /mnt/C<br /> cd /mnt/C<br /> dd if=tiger-x86-flat.img of=/dev/sda1 bs=512 skip=63<br /></code></p>
<div style="text-align: justify;">The last command took around 1 hour. I found a fast alternative to that but I haven&#8217;t tried so don&#8217;t know whether it will work or not but one use that method the time taken by the command is around 5 minutes.</div>
<p>
<div style="text-align: justify;">Now when I booted my system from the hard drive I again for the Grub 17 error that means the boot loader needs to be installed. Ok now comes the SuSe 10.1 bootable dvd.
<div style="text-align: justify;">I booted from within the DVD and went to rescue shell. From within this shell I issued the following commands to recover my grub.</div>
</div>
<div style="text-align: justify;">First of all I mounted my Linux “/” partition.</div>
<p><code><br />mkdir /mnt/mm<br />mount /dev/sda6 /mnt/mm<br /></code></p>
<p>Now I edit the menu.lst configuration file of grub so that I can boot OSX86.</p>
<p><code><br />cd /mnt/mm/boot/grub<br />vi menu.lst</p>
<p>Title Mac OSX86<br />rootnoverify (hd0,0)<br />makeactive<br />chainloader +1<br /></code></p>
<p>I also edited my Windows XP and SuSE linux entry because the partition number have changed after adding the HFS partition at the beginning.</p>
<p><code><br />Title Windows XP<br />rootnoverify (hd0,1)<br />makeactive<br />chainloader +1<br /></code></p>
<p>After that I saved the file and quit. Then I issued the command:</p>
<p><code><br />grub-install –root-directory='/mnt/mm' /dev/sda<br /></code></p>
<p>This command installed my grub on the MBR.</p>
<div style="text-align: justify;">After this some basic steps I did so that my Linux and windows can boot properly. I edited my Linux “/etc/fstab” file accordingly (as my partition table has now changed).<br />I also needed to edit the BOOT.INI in the C: drive otherwise I will get hal.dll erro while booting windows XP. So I mounted the Windows XP partition and edited the BOOT.INI file like this.</div>
<p><code><br />mkdir /mnt/C<br />mount /dev/sda2  /mnt/C<br />cp /mnt/C/BOOT.INI   /root<br />chmod  a+w  /root/BOOT.INI<br />vi /root/BOOT.INI<br /></code></p>
<p>Edit the partition(1) to partition(2) on the two lines. Save and exit.</p>
<p><code><br />umount /mnt/C<br />chmod a-w /root/BOOT.INI<br />ntfscp /dev/sda2   /root/BOOT.INI   /mnt/C/BOOT.INI<br /></code></p>
<div style="text-align: justify;">ntfscp comes with the ntfstools package in SuSE 10.1 otherwise it would have been difficult to write changes on NTFS partition from within Linux.</p>
<p>Now finally I rebooted my laptop from the hard drive and tested all my 3 Operating System. All 3 booted well.<br />So now I have 3 operating system on my hard drive that are tiger osx86, windows xp home and Suse Linux 10.1 and that too without loosing a single bit of data.</p>
<p>Now I am researching on OSX86 and will try to improve my graphics and sound in it. Internet and 1024&#215;768 resoultion are working fine it right now and it&#8217;s really nice operating system.</p>
<p>Wish you all happy diwali and enjoy OSX86 (power of MAC on Intel).</div>
<p>Hardware:<br />Lenovo Laptop 3000N100 (07684KA)<br />512 DDR2 SDRAM  (667 Mhz)<br />Intel Centrino Dual Core 1.66 Ghz<br />80 GB SATA Hard Drive<br />RealTek Ethernet<br />Intel Pro 10/100 Wireless<br />Intel 945GM Mobile Graphics<br />Intel High Definition Audio (SoundMAX)<br />Integrated Camera<br />DVD RAM<br />PCMCIA<br />Card Reader<br />4 USB<br />TV OUT<br />External Monitor Port<br />Firewire Device<br />15.4” inch Wide Screen<br />Finger Print Scanner<br />Bluetooth Enabled</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2006/10/installing-osx86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Windows XP virtual Machine</title>
		<link>http://jeevanullas.in/blog/2006/05/installing-windows-xp-virtual-machine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-windows-xp-virtual-machine</link>
		<comments>http://jeevanullas.in/blog/2006/05/installing-windows-xp-virtual-machine/#comments</comments>
		<pubDate>Wed, 24 May 2006 01:52:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[random]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2006/05/23/installing-windows-xp-virtual-machine/</guid>
		<description><![CDATA[In the previous post we discussed how we can install and configure VMware-workstation on a Fedora Core 5 machine. Now in this post I am going to discuss with you how to install a Windows XP virtual machine inside the VMware-workstation we installed in the previous post. From inside the VMware Application Select File->New->Virtual Machine.A [...]]]></description>
				<content:encoded><![CDATA[<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1572/1866/1600/Screenshot12.png"><img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/1572/1866/320/Screenshot12.png" alt="" border="0" /></a>
<div style="text-align: justify;">In the previous post we discussed how we can install and configure VMware-workstation on a Fedora Core 5 machine. Now in this post I am going to discuss with you how to install a Windows XP virtual machine inside the VMware-workstation we installed in the previous post.</p>
<p>From inside the VMware Application Select File->New->Virtual Machine.<br />A &#8220;New Virtual Machine Wizard&#8221; gets opened up, inside the wizard you are asked various questions you need to follow these simple steps in-order to install a simple Windows XP  Professional Virtual Machine.</p>
<p>Step 1) Just Press Next</p>
<p>Step 2) Virtual Machine Configuration -> Select Custom and Press Next</p>
<p>Step 3) New Virtual Machine Format  -> Select New-Workstation 5</p>
<p>Step 4) Guest Operating System -> Select (1) Microsoft Windows and inside Version Select Windows XP Professional</p>
<p>Step 5) Select a Name for your virtual machine you want and the path you want to save that virtual machine to.</p>
<p>NOTE: Whichever path you give mind you that it should be having at-least 4GB free space of HardDisk.</p>
<p>Step 6) Number of Processors: One</p>
<p>Step 7) Memory Size : It depends on how much RAM do you have, as I have only 256 MB RAM I give 128 MB range if you have 512 MB RAM I recommend you go for 256 MB RAM size here. Just slide the slider towards left or right to change the memory size.</p>
<p>Step 8) Network Type: If you have a broadband connection and you want that connection to be accessed inside windows virtual machine select &#8220;Bridge Networking&#8221; , if you want to only communicate with the Fedora Core 5 host machine select &#8220;Host Only Networking&#8221; and if you don&#8217;t want any network connection select &#8220;No Network Connection&#8221;.</p>
<p>Step 9) SCSI Adapter: Select BusLogic and Press Next (LSI logic seems to have problem with windows XP drivers set).</p>
<p>Step 10) Disk: Select &#8220;Create New Virtual Disk&#8221; and Press Next</p>
<p>Step 11) Virtual Disk Type: IDE (Recommended) Select this and Press Next</p>
<p>Step 12) Disk Size: I gave a 4GB space for my Windows XP virtual Machine here and selected &#8220;split disk into 2 GB files&#8221;. It depends on your needs. If you want to allocate more disk space you can give more space.</p>
<p>NOTE: The option &#8220;Allocate all disk space now&#8221; option will allocate all the said disk space during that time and in that case you should have the specified disk space where your virtual machine is going to be saved.</p>
<p>Step 13) Disk file Name: Choose the name and the location. I prefered the default one and Press Next.</p>
<p>After these steps the wizard finishes up the new virtual machine gets created and it&#8217;s time to boot up into the new virtual machine.</p>
<p>Now it&#8217;s time to install Windows XP Professional:</p>
<p>Step 1) So just put inside the Windows XP Setup CD inside the CD-Drive and &#8220;Power On&#8221; the virtual machine.</p>
<p>Step 2) During the boot up click inside the &#8220;Black Screen&#8221; (to come out of the screen press Ctrl+Alt) and press &#8220;Esc&#8221; key to get inside the &#8220;BIOS setup&#8221;. Here select the First Boot Option as CD-ROM, save the setting and exit.</p>
<p>Step 3) After the windows XP installation starts and everything goes as it goes when you install Windows XP.</p>
<p>Step 4) Just during the partition time you will be shown a Single Parition as Free Space. Create a FAT/NTFS partition of that and install windows XP on that parition.</p>
<p>Voila ! You now have a Fedora Core 5 Machine inside which you have a running Windows XP.</p>
<p>Here I am posting a Screenshot I took when I was installing Windows XP inside my Fedora Core 5 (using vmware).</p></div>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2006/05/installing-windows-xp-virtual-machine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMware Installation , Configuration on Fedora Core 5</title>
		<link>http://jeevanullas.in/blog/2006/05/vmware-installation-configuration-on-fedora-core-5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=vmware-installation-configuration-on-fedora-core-5</link>
		<comments>http://jeevanullas.in/blog/2006/05/vmware-installation-configuration-on-fedora-core-5/#comments</comments>
		<pubDate>Wed, 24 May 2006 01:06:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2006/05/23/vmware-installation-configuration-on-fedora-core-5/</guid>
		<description><![CDATA[In this post , I am going to share my experiences with you all , of how was I able to install VMware 5.5.1 on Linux (Fedora Core 5) and configure it and finally install windows XP through it.So following the step-by-step procedure we start up right away(follow all the below steps by login via [...]]]></description>
				<content:encoded><![CDATA[<p>In this post , I am going to share my experiences with you all , of how was I able to install VMware 5.5.1 on Linux (Fedora Core 5) and configure it and finally install windows XP through it.<br />So following the step-by-step procedure we start up right away(follow all the below steps by login via root user only):</p>
<p>Step 1) Vmware needs that the kernel and it&#8217;s appropriate sources are installed properly on your system. I recommend you to install the latest kernel for Fedora core 5. You can do this by issuing the following simple commands (note that you need to be connected to internet as a root user in order for these commands to run successfully):<br />          a) yum install kernel<br />          b) yum install kernel-devel<br />This will install the latest kernel and it&#8217;s source code. The version I have is 2.6.16-1.2080_FC5. After you do this step you need to reboot and boot into the newly installed kernel.</p>
<p>Step 2) We need the VMware Software for Fedora Core 5. For this we can go <a href="http://www.vmware.com/download/ws/eval.html">here</a> and follow the steps described there. Download the RPM file for VMware 5.5.1-19175 version.</p>
<p>Step 3) As the above software is a shareware version you get a key for the first 30 days trial on the e-mail provided by you during registration on the link provided in step (2), note down the key and save it somewhere in a text file we will need it after installation and configuration finishes up.</p>
<p>Step 4) Now as VMware 5.5.1 has reported some problem during the configuration in Fedora Core 5 we will need to download this specially created perl script from <a href="http://tredosoft.com/files/download/vmware-any-any-update101.tar.gz">here</a>.</p>
<p>Step 5) Install VMware from the rpm by issuing the following command:</p>
<p>rpm -ivh VMware-workstation-5.5.1-19175.i386.rpm</p>
<p>Step 6) After installing the above rpm we need to extract the script downloaded in step (4) and  follow these steps:</p>
<p>      a) gzip -d vmware-any-any-update101.tar.gz<br />      b) tar -xf vmware-any-any-update101.tar<br />      c) cd vmware-any-any-update101<br />      d) ./runme.pl </p>
<p>Step 6) After you run the runme perl script it will ask you many things. These should be your answers:</p>
<p>Question 1) Before running VMware for the first time after update, you need to                            configure it for your running kernel by invoking the following command:<br />&#8220;/usr/bin/vmware-config.pl&#8221;. Do you want this script to invoke the command for<br />you now? [yes]</p>
<p>Answer 1) Press Enter</p>
<p>Then Read the License Agreement (press Space Bar 7-8 times) and in the end type yes and press Enter.</p>
<p>Question 2) In which directory do you want to install the mime type icons?<br />[/usr/share/icons]</p>
<p>Answer 2) Press Enter </p>
<p>Question 3) What directory contains your desktop menu entry files? These files have a<br />.desktop file extension. [/usr/share/applications]</p>
<p>Answer 3) Press Enter</p>
<p>Question 4) In which directory do you want to install the application&#8217;s icon?<br />[/usr/share/pixmaps]</p>
<p>Answer 4) Press Enter</p>
<p>Question 5) None of the pre-built vmmon modules for VMware Workstation is suitable for your running kernel.  Do you want this program to try to build the vmmon module for your system (you need to have a C compiler installed on your system)? [yes]</p>
<p>Answer 5) Press Enter</p>
<p>Question 6) What is the location of the directory of C header files that match your running kernel? [/lib/modules/2.6.16-1.2080_FC5/build/include]</p>
<p>Answer 6) Yes (note your directory listing may differ with the given here !)</p>
<p>Question 7) Do you want networking for your virtual machines? (yes/no/help) [yes]</p>
<p>Answer 7) Press Enter (if you don&#8217;t want networking type no and press enter). If you need to run internet from your virtual machine in future and you happen to use a broadband connection please select yes and press enter.</p>
<p>Question 8) Do you want to be able to use NAT networking in your virtual machines? (yes/no) [yes]</p>
<p>Answer 8) This depends. For my setting I typed no and Pressed Enter.</p>
<p>Question 9) Do you want to be able to use host-only networking in your virtual machines?[no]</p>
<p>Answer 9) Answer it yes or no if you want/don&#8217;t want to communicate with your Fedora Core 5 host machine inside the virtual machine you install later. I choosed no. </p>
<p>Step 7) After these simple questions and configuration of VMware-5.5.1 finishes off and now we can run the vmware software by issuing the following command at command line:</p>
<p>vmware</p>
<p>Step 8) Once the software starts up goto Help->Enter Serial Number &#8230; and paste the serial number you got via email during step (3).</p>
<p>And voila! VMware is now installed and configured on your fedora core 5 machine.<br />In the next post I am going to explain you how did I configured the Windows XP Professional Virtual Machine inside VMware and that too through the step by step guide. So for the time being just play around with the above guide and try your hands with the different options giving in the software.</p>
<p>Happy Linux&#8217;ing !!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2006/05/vmware-installation-configuration-on-fedora-core-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BSNL Broadband configuration Linux</title>
		<link>http://jeevanullas.in/blog/2006/04/bsnl-broadband-configuration-linux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bsnl-broadband-configuration-linux</link>
		<comments>http://jeevanullas.in/blog/2006/04/bsnl-broadband-configuration-linux/#comments</comments>
		<pubDate>Sat, 22 Apr 2006 04:45:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2006/04/21/bsnl-broadband-configuration-linux/</guid>
		<description><![CDATA[I was seeing constant threads at orkut regarding configuration of internet on linux. This guide I hope will help you establish the BSNL broadband connection on your linux box. I assume that you have configured your network interface (if not then I am going to post a similar post regarding howto configure it). This document [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;">I was seeing constant threads at orkut regarding configuration of internet on linux. This guide I hope will help you establish the BSNL broadband connection on your linux box. I assume that you have configured your network interface (if not then I am going to post a similar post regarding howto configure it).</p>
<div style="text-align: justify;"> </div>
<p style="text-align: justify;">This document is a copy of a document which I saw in late 2004 when I was searching for a howto to configure internet in linux.</p>
<div style="text-align: justify;"> </div>
<p style="text-align: justify;">This document describes howto setup bsnl broadband service on your gnu/linux server/desktop. It assumes that you are neither linux beginer nor an expert. It assumes that you are aware of basic gnu/linux commands.</p>
<div style="text-align: justify;"> </div>
<p style="text-align: justify;">I  have installed it on redhat 9. I dont find any reason why it would not work on following distributions: </p>
<ul>
<li>  FC1 </li>
<li>  FC2 </li>
<li>  FC3</li>
<li>FC4</li>
<li>FC5</li>
</ul>
<p> An unofficial FAQ on Dataone can be found <a href="http://kingsly.net/kingsly/BSNL/dataone/">here</a></p>
<h2 style="text-align: justify;"> Pre-Requisites </h2>
<div style="text-align: justify;">   </div>
<ul style="text-align: justify;">
<li> Please ensure that you have connected a working ethernet card which is supported on gnu/linux. Test the ethernet card &#038; ensure that it is working. </li>
<li> Root access to a gnu/linux box </li>
</ul>
<div style="text-align: justify;">  </div>
<p style="text-align: justify;">Before  we  start,  please ensure that you have the following details on hand: </p>
<div style="text-align: justify;">  </div>
<ul style="text-align: justify;">
<li> BSNL Broadband connection -:) </li>
<li> Username &#038; Password</li>
</ul>
<div style="text-align: justify;"></div>
<h2 style="text-align: justify;"> Using the builtin dialer </h2>
<div style="text-align: justify;">  A HOWTO with instructions on using the <a href="http://www.appaji.net/stuff/dataone.html"> PPPoE builtin dialer</a> of the Huawei SmartAX MT800 ADSL router is available.<br />The procedure to configure the dialer in UTStarCom UT300R modem is given <a href="http://chennailug.org/wiki/BSNL_Broadband_Web_Installation">here</a></p>
</div>
<h2 style="text-align: justify;"> Using RP-PPPOE as dialer </h2>
<div style="text-align: justify;">   <a name="Installation"></a> </div>
<h3 style="text-align: justify;"> Installation </h3>
<div style="text-align: justify;">  </div>
<hr style="margin-left: 0px; margin-right: 0px;">
<div style="text-align: justify;"> </div>
<ul style="text-align: justify;">
<li> As BSNL broadband is using rp-pppoe (Roaring Penguin &#8211; Point to Point Over Ethernet), we would be required to download &#038; install this package. This package is normally available on most of the distributions. But, if you are using redhat7.3, please download the following packages: </li>
</ul>
<div style="text-align: justify;"><a href="http://puggy.symonds.net/%7Ebhuvan/rp-pppoe/rp-pppoe-3.5-1.i386.rpm">rpm package command line</a><br /><a href="http://puggy.symonds.net/%7Ebhuvan/rp-pppoe/rp-pppoe-gui-3.5-1.i386.rpm">rpm package GUI</a><br /><a href="http://puggy.symonds.net/%7Ebhuvan/rp-pppoe/rp-pppoe-3.5.tar.gz">source code</a></p>
</div>
<p style="text-align: justify;">If you are downloading the tar.gz version, you have to build the rpm first. So, please walk through the following procedure to build the rpm: </p>
<div style="text-align: justify;"> </div>
<p style="text-align: justify;"><strong>Procedure to build RPM from tar.gz</strong>.</p>
<p style="text-align: justify;"></p>
<pre> 1. Login as root<br />2. Download tar.gz version &#038; execute the following commands<br /># tar -zxvf rp-pppoe-3.5.tar.gz (untar this package)<br /> * This command would untar the package in the current directory.<br /># cp rp-pppoe-3.5.tar.gz /usr/src/redhat/SOURCES/<br /># cd rp-pppoe-3.5<br /> * The rpm spec file, rp-pppoe.spec is available in this directory.<br /># cp rp-pppoe.spec /usr/src/redhat/SPECS/<br /># cd /usr/src/redhat/SPECS<br /># rpm -ba rp-pppoe.spec<br />*  The  above  command would untar the tar.gz package in ../BUILD<br />directory, compile the package and finally it would create neces<br />sary rpms in<br /></pre>
<p><strong>If  everything  goes fine, you would see the following or similar message:</strong> </p>
<pre> Wrote: /usr/src/redhat/SRPMS/rp-pppoe-3.5-1.src.rpm<br />Wrote: /usr/src/redhat/RPMS/i386/rp-pppoe-3.5-1.i386.rpm<br />Wrote: /usr/src/redhat/RPMS/i386/rp-pppoe-gui-3.5-1.i386.rpm<br />Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.97349<br />+ umask 022<br />+ cd /usr/src/redhat/BUILD<br />+ cd rp-pppoe-3.5<br />+ rm -rf /tmp/pppoe-build<br />+ exit 0<br /></pre>
<p>If  this is the case, the necessary rpms are successfully created and they are available in appropriate directory. </p>
<pre> Source RPMS - /usr/src/redhat/SRPMS/rp-pppoe-3.5-1.src.rpm<br />Binary RPMS - /usr/src/redhat/RPMS/i386/rp-pppoe-3.5-1.i386.rpm<br />GUI RPMS    - /usr/src/redhat/RPMS/i386/rp-pppoe-gui-3.5-1.i386.rpm<br /></pre>
<p>Now, at this stage you are having necessary rpms with you. Either you have downloaded them from the above website. Or you would have built them on your own:</p>
<h4> Command Line Version </h4>
<pre> # rpm -vih rp-pppoe-3.5-1.i386.rpm<br /></pre>
<p>It would install the command line version of rp-pppoe package.</p>
<h4> GUI Version </h4>
<pre> # rpm -vih rp-pppoe-gui-3.5-1.i386.rpm<br /></pre>
<p>It would install the gui version of rp-pppoe package. If  you have successfully installed, then you can proceed to next section.</p>
<h3> Configuration </h3>
<p>Once  you have installed rp-pppoe package, all necessary commands would have been installed. </p>
<pre> adsl-setup  - to configure the connection parameters<br />adsl-start  - to start the connection<br />adsl-status - to check status of the connection<br />adsl-stop   - to stop the connection<br /></pre>
<p>Now,  we  are ready to configure the BSNL broadband internet connection. </p>
<p>Here you have to configure the following parameters: </p>
<pre> * userid<br />* network interface (eth0 or ..)<br />* Demand value (normally you can leave it blank)<br />* DNS Information (primary &amp; secondary)<br /></pre>
<ul>
<li> With regard to primary &#038; secondary dns, You can leave it blank, as it would be taken care automatically. If you wish to know the dns details, just complete this wizard and when you run adsl-start, do: </li>
</ul>
<pre> # tail -f /var/log/messages<br /><br /><snip><br />Mar 15 15:29:48 Gateway pppd[3564]: Remote message: Authentication success,Welcome!<br />Mar 15 15:29:48 Gateway pppd[3564]: local  IP address 59.92.9.154<br />Mar 15 15:29:48 Gateway pppd[3564]: remote IP address 59.92.8.1<br />Mar 15 15:29:48 Gateway pppd[3564]: primary   DNS address 61.1.96.69<br />Mar 15 15:29:48 Gateway pppd[3564]: secondary DNS address 61.1.96.71<br /></snip><br /></pre>
<p>There it goes! The primary &amp; secondary dns details are found and it would be automatically updated in /etc/resolv.conf. </p>
<ul>
<li> Then you should enter the following details: </li>
</ul>
<pre> * Password<br />* Firewall (set is to 2, MASQUERADE)<br />* Confirm<br /></pre>
<ul>
<li> The following is the screen shot of adsl-setup command. </li>
</ul>
<pre> # adsl-setup<br />Welcome to the Roaring Penguin ADSL client setup.  First, I will run<br />some checks on your system to make sure the PPPoE client is installed<br />properly...<br /><br />Looks good!  Now, please enter some information:<br /><br />USER NAME<br /><br />>>> Enter your PPPoE user name (default test@dataone):<br /><br />INTERFACE<br /><br />>>> Enter the Ethernet interface connected to the ADSL modem<br />For Solaris, this is likely to be something like /dev/hme0.<br />For Linux, it will be ethn, where 'n' is a number.<br />(default eth0):<br /><br />Do you want the link to come up on demand, or stay up continuously?<br />If you want it to come up on demand, enter the idle tim
e in seconds<br />after which the link should be dropped.  If you want the link to<br />stay up permanently, enter 'no' (two letters, lower-case.)<br />NOTE: Demand-activated links do not interact well with dynamic IP<br />addresses.  You may have some problems with demand-activated links.<br />>>> Enter the demand value (default no):<br /><br />DNS<br /><br />Please enter the IP address of your ISP's primary DNS server.<br />If your ISP claims that 'the server will provide DNS addresses',<br />enter 'server' (all lower-case) here.<br />If you just press enter, I will assume you know what you are<br />doing and not modify your DNS setup.<br />>>> Enter the DNS information here: 61.1.128.5<br />Please enter the IP address of your ISP's secondary DNS server.<br />If you just press enter, I will assume there is only one DNS server.<br />>>> Enter the secondary DNS server address here: 61.0.0.5<br /><br />PASSWORD<br /><br />>>> Please enter your PPPoE password: <br />>>> Please re-enter your PPPoE password:<br /><br />FIREWALLING<br /><br />Please choose the firewall rules to use.  Note that these rules are<br />very basic.  You are strongly encouraged to use a more sophisticated<br />firewall setup; however, these will provide basic security.  If you<br />are running any servers on your machine, you must choose 'NONE' and<br />set up firewalling yourself.  Otherwise, the firewall rules will deny<br />access to all standard servers like Web, e-mail, ftp, etc.  If you<br />are using SSH, the rules will block outgoing SSH connections which<br />allocate a privileged source port.<br /><br />The firewall choices are:<br />0 - NONE: This script will not set any firewall rules.  You are responsible<br />        for ensuring the security of your machine.  You are STRONGLY<br />        recommended to use some kind of firewall rules.<br />1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation<br />2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway<br />              for a LAN<br />>>> Choose a type of firewall (0-2): 2<br /><br />** Summary of what you entered **<br /><br />Ethernet Interface: eth0<br />User name:          test@dataone<br />Activate-on-demand: No<br />Primary DNS:        61.1.128.5<br />Secondary DNS:      61.0.0.5<br />Firewalling:        MASQUERADE<br /><br />>>> Accept these settings and adjust configuration files (y/n)? y<br />Adjusting /etc/ppp/pppoe.conf<br />Adjusting /etc/resolv.conf<br />(But first backing it up to /etc/resolv.conf-bak)<br />Adjusting /etc/ppp/pap-secrets and /etc/ppp/chap-secrets<br />(But first backing it up to /etc/ppp/pap-secrets-bak)<br />(But first backing it up to /etc/ppp/chap-secrets-bak)<br /><br /><br /><br />Congratulations, it should be all set up!<br /><br />Type 'adsl-start' to bring up your ADSL link and 'adsl-stop' to bring<br />it down.  Type 'adsl-status' to see the link status.<br /><br /><br /></pre>
<h2> Internet Connection </h2>
<p>Now,  if  you  see this Congrats! message, then you are all set &#038; done. You can type, </p>
<p>   # adsl-start  ..Connected!  #
<p>Thats  it.  The bsnl broadband setup has been installed &amp; configured. </p>
<p>At this point, you can go through the man  pages  of  appropriate adsl-* commands for details.</p>
<p>Hope this article helps you out in configuring internet on linux specially for the redhat persons. I will soon post a article regarding configuring network interfaces on linux and other stuff related to it.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2006/04/bsnl-broadband-configuration-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Stepper motor driver GNU/Linux 2.6 kernel</title>
		<link>http://jeevanullas.in/blog/2006/04/stepper-motor-driver-gnulinux-2-6-kernel/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=stepper-motor-driver-gnulinux-2-6-kernel</link>
		<comments>http://jeevanullas.in/blog/2006/04/stepper-motor-driver-gnulinux-2-6-kernel/#comments</comments>
		<pubDate>Wed, 19 Apr 2006 07:56:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2006/04/19/stepper-motor-driver-gnulinux-2-6-kernel/</guid>
		<description><![CDATA[I started a work on some project related to Stepper Motor Driver in Linux. I found one tutorial at linux gazette online magazine. But to my surprise the driver written was for 2.4.x kernel&#8217;s. I soon realised that I need to do pretty much stuff in order to make that driver work in 2.6.x kernel. [...]]]></description>
				<content:encoded><![CDATA[<p>I started a work on some project related to Stepper Motor Driver in Linux. I found one <a href="http://linuxgazette.net/122/sreejith.html">tutorial</a> at linux gazette online magazine. But to my surprise the driver written was for 2.4.x kernel&#8217;s. I soon realised that I need to do pretty much stuff in order to make that driver work in 2.6.x kernel. Then again to my surprise I found a excellent tutorial at <a href="http://www.tldp.org/LDP/lkmpg/">tldp</a> explaining the 2.6.x and 2.4.x kernel module programming. I went through those tutorials and I ported the driver for 2.6.x kernel.<br />I used a debian 3.1 sarge with 2.6.8 kernel in it. I started off with some basic differences (between 2.4.x and 2.6.x). Code writing convention has change alot and these days module programmer prefer to use macro&#8217;s more than anything. They even have macros for defining the init function and the exit function. I went on to learn those things and finally came up with a code which I suppose will work in most of the 2.6.x&#8217;s series.<br />Here I present the code:</p>
<linux>
<linux>
<linux>
<linux><asm><asm>#include &#8220;linux/kernel.h&#8221;<br />#include &#8220;linux/fs.h&#8221;<br />#include &#8220;linux/module.h&#8221;<br />#include &#8220;linux/init.h&#8221;<br />#include &#8220;asm/io.h&#8221;<br />#include &#8220;asm/uaccess.h&#8221;</p>
<p>#define LPT_BASE 0&#215;378<br />#define DEVICE_NAME &#8220;Stepper&#8221;<br />#define DRIVER_DESC &#8220;*Stepper Motor Driver*&#8221;</p>
<p>static int Major;<br />static int Device_Open=0;<br />static int i,j,k=0;<br />static int pattern[2][4][8] = {<br />    {{0xA,0&#215;9,0&#215;5,0&#215;6,0xA,0&#215;9,0&#215;5,0&#215;6},{0xA,0&#215;8,0&#215;9,0&#215;1,0&#215;5,0&#215;4,0&#215;6,0&#215;2}},<br />    {{0&#215;6,0&#215;5,0&#215;9,0xA,0&#215;6,0&#215;5,0&#215;9,0xA},{0&#215;2,0&#215;6,0&#215;4,0&#215;5,0&#215;1,0&#215;9,0&#215;8,0xA}}<br />};<br /><minor><br />void step(void)<br />{<br />  if(k<8)<br />  {<br />     printk(KERN_INFO &#8220;%d\n&#8221;,pattern[i][j][k]);<br />     outb(pattern[i][j][k],LPT_BASE);<br />     k++;<br />  }<br />  else <br />  {<br />     k=0;<br />     printk(KERN_INFO &#8220;%d\n&#8221;,pattern[i][j][k]);<br />     outb(pattern[i][j][k],LPT_BASE);<br />     k++;<br />  }<br />}<br />static int stepper_open(struct inode *inode, struct file *file)<br />{<br />    printk(KERN_INFO &#8220;Stepper Opened\n&#8221;);<br />    if(Device_Open)<br />        return -EBUSY;<br />    Device_Open++;<br />    try_module_get(THIS_MODULE);<br />    return 0;<br />}<br />static int stepper_release(struct inode *inode, struct file *file)<br />{<br />    printk(KERN_INFO &#8220;Stepper Released\n&#8221;);<br />    Device_Open &#8211;;<br />    module_put(THIS_MODULE);<br />    return 0;<br />}<br />static ssize_t stepper_write(struct file *file, const char *buffer, size_t len, loff_t *off)<br />{<br />    char data;<br />    get_user(data,buffer);<br />    switch (data)<br />    {<br />        case &#8216;h&#8217;:        /* Half Step */<br />                printk(KERN_INFO &#8220;Half-Step mode initialized\n&#8221;);<br />                j=0;<br />                break;<br />        case &#8216;f&#8217;:        /* Full Step */<br />                printk(KERN_INFO &#8220;Full-Step mode initialized\n&#8221;);<br />                j=1;<br />                break;<br />        case &#8216;F&#8217;:            /* Forward */<br />                i=0;<br />                step();<br />                break;<br />        case &#8216;R&#8217;:            /* Reverse */<br />                i=1;<br />                step();<br />                break;<br />        default:            /* Invalid */<br />                printk(KERN_INFO &#8220;Invalid argument\n&#8221;);<br />                break;<br />    }<br />    return -EINVAL;<br />}<br />struct file_operations fops = {<br />    .write=stepper_write,<br />    .open=stepper_open,<br />    .release=stepper_release<br />};<br />static int __init entry(void)<br />{<br />    Major=register_chrdev(0,DEVICE_NAME,&#038;fops);<br />    if(Major < 0)<br />    {<br />      printk(KERN_INFO &#8220;Cannot get major number for the device %s\n&#8221;,DEVICE_NAME);<br />      return Major;<br />    }<br />    printk(KERN_INFO &#8220;&#8216;mknod /dev/%s c %d 0&#8242;\n&#8221;,DEVICE_NAME,Major);<br />    return 0;<br />}<br />static void __exit bye(void)<br />{<br />    int ret = unregister_chrdev(Major, DEVICE_NAME);<br />    if (ret < 0)<br />        printk(KERN_INFO &#8220;Error in un-registering stepper: %d\n&#8221;, ret);   <br />    else<br />        printk(KERN_INFO &#8220;Stepper un-registered.\n&#8221;);<br />}<br />module_init(entry);<br />module_exit(bye);<br />MODULE_LICENSE(&#8220;GPL&#8221;);<br />MODULE_DESCRIPTION(DRIVER_DESC);<br />MODULE_SUPPORTED_DEVICE(DEVICE_NAME);</p>
<p>The messages logged by this driver can be found in /var/log/messages file. Anytime we need to see what the program does or what it outputs we need to open the file and go down the file to see the recent outputs. This can be made easy by issuing the following command:</p>
<p>tail -f /var/log/messages</p>
<p>As a super user now we need to execute the below command on the terminal. Here the major number is the number allocated by the kernel when the module get&#8217;s inserted into it. It&#8217;s a dynamic number. Minor number is mostly 0 (in this case).<br />In my case I had to execute the following command:</p>
<p>mknod /dev/Stepper c 254 0</p>
<p>This create&#8217;s a device file in the /dev directory and now if we want to communicate to the motor all we need to do is write data onto this file. That can be done by simply using:</p>
<p>echo &#8220;h&#8221; <data>  > /dev/Stepper<br />echo &#8220;F&#8221; > /dev/Stepper<br />(NOTE: What&#8217;s happening when these commands execute can be see by tail -f /var/log/messages)</p>
<p>Here data to the stepper device<data> is any valid character in the set {h,f,F,R}. First two elements of the set intializes the motor in half-step or full-step mode and the last two data set actually runs the motor in Forward or Reverse directions.</p>
<p>In the next article I will explain the user interface program I created to handle this motor. I used the power of GTK+ in creating that interface.</p>
<p>Note:<br />There maybe many points I have left in this article regarding the internal working of the program. For that I assume you have gone through the <a href="http://linuxgazette.net/122/sreejith.html"> page </a>.</data></data></minor></asm></asm></linux></linux></linux></linux>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2006/04/stepper-motor-driver-gnulinux-2-6-kernel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How tough is the RHCE exam ?</title>
		<link>http://jeevanullas.in/blog/2005/11/how-tough-is-the-rhce-exam/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-tough-is-the-rhce-exam</link>
		<comments>http://jeevanullas.in/blog/2005/11/how-tough-is-the-rhce-exam/#comments</comments>
		<pubDate>Mon, 14 Nov 2005 12:17:00 +0000</pubDate>
		<dc:creator>jeevanullas</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[RHEL]]></category>

		<guid isPermaLink="false">http://jeevanullas.in/blog/2005/11/14/how-tough-is-the-rhce-exam/</guid>
		<description><![CDATA[Toughness of a certification exam can be judged out through many parameters. But important among them is the course content, type of examination (practical or theory) and also the industry value of the certificate. As I am currently studying RHCE I created this blog to get the views of students/sysadmin taking the RHCE exam or [...]]]></description>
				<content:encoded><![CDATA[<p>Toughness of a certification exam can be judged out through many parameters. But important among them is the course content, type of examination (practical or theory) and also the industry value of the certificate.</p>
<p>As I am currently studying RHCE  I created this blog to  get the views of students/sysadmin taking the RHCE exam or who had given the exam earlier. What are your views about the exam and it&#8217;s toughness for a newbie to Linux operating system.</p>
<p>Please let your view been expressed and communicate them with other RHCE aspirants.</p>
<p>Thanks</p>
]]></content:encoded>
			<wfw:commentRss>http://jeevanullas.in/blog/2005/11/how-tough-is-the-rhce-exam/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
