<?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>Your Warranty Is Void.com &#187; Linux</title>
	<atom:link href="http://www.yourwarrantyisvoid.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yourwarrantyisvoid.com</link>
	<description>Linux, Hardware, Software and Chaos. What more is there?</description>
	<lastBuildDate>Wed, 18 Jan 2012 03:59:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>CVS Netbook Revisited</title>
		<link>http://www.yourwarrantyisvoid.com/2011/07/25/cvs-netbook-revisited/</link>
		<comments>http://www.yourwarrantyisvoid.com/2011/07/25/cvs-netbook-revisited/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 16:42:40 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[How-To's]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[Sylvania]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=906</guid>
		<description><![CDATA[A few months ago, I posted a hardware teardown of the CVS Sylvania Netbook pictured above. After working with it and performing a lot of research on it, I promised a follow up article, and here it is.  To sum it all up, with a bit of modification to the software, a spare SD card [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-medium wp-image-751 aligncenter" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/01/2011-01-06-17.11.07-300x225.jpg" alt="" width="300" height="225" /></p>
<p>A few months ago, I posted a hardware teardown of the CVS Sylvania Netbook pictured above. After working with it and performing a lot of research on it, I promised a follow up article, and here it is.  To sum it all up, with a bit of modification to the software, a spare SD card and a lot of patience, you can actually turn this thing into a somewhat useful Linux device.  There&#8217;s also some improvements and suggestions to be had for improving the Windows CE side of things should you decide to continue using it in its default state.</p>
<p><span id="more-906"></span></p>
<p>When I posted the original teardown, I was somewhat distressed at how little information there was for this device. There was a ton of &#8220;marketing&#8221; material online however very few real-world posts.  This appears to have changed and although most of the reviews lamblasted the device as a horrible design and underpowered, I have found that for the price I paid for it, it&#8217;s not bad at all.  In this article, we will be focusing on software because as much as I&#8217;d like to say I&#8217;ve done a lot of hardware mods to this thing, the truth of the matter is that I haven&#8217;t.  Time has continued to get away from me and I&#8217;ve had to put a lot of projects on hold.  But let&#8217;s not start this article off on a downbeat.</p>
<p>In the three months that I&#8217;ve been doing research on the Sylvania Netbook, I have uncovered a lot of information that can help turn this machine into a pretty useful piece of equipment.  The fact that it has a pretty decent battery in of itself should be of merit to justify the time invested in fine-tuning it.</p>
<h2>1: Windows CE</h2>
<p>In my research, there have been two key complaints against the Sylvania netbook in regards to a &#8220;stock&#8221; configuration.  The first complaint has been that it is running Windows CE (affectionately called &#8220;WinCE&#8221;) and the second being that the WinCE installation is really badly implemented.</p>
<ul>
<li>The key thing to remember with working with Windows CE is that <strong>Windows CE is NOT Windows like on your desktop or &#8220;normal&#8221; laptop!</strong> Windows CE was designed for small form factor devices and although it shares the same name as it&#8217;s bigger brother desktop OS, <strong>Windows CE can not run Native Windows applications.</strong> This appears to be the biggest hurdle in locating user software for the device as people will attempt to download software then when they get the software into the netbook, they are thrown off by an error message stating it&#8217;s not a &#8220;valid&#8221; application.  Consider it like taking a MacOS program designed for MacOS and attempting to get it running in Windows XP.  It ain&#8217;t gonna happen.  That being said, there <strong>is</strong> Windows CE applications out there, however the pickings are slim.</li>
</ul>
<ul>
<li>The other issue with working with the stock Windows CE installation is that the OS software is so badly implemented on the netbook that most things that should work, don&#8217;t.  Thankfully for us there is a patch available that will make things easier.  From research, the patch addresses several performance issues with the core OS, several updates to the builtin applications as well as an update to Internet Explorer.  Unfortunately, IE will still render mobile sites by default, but the rendering won&#8217;t take as long.  The patch also fixes the issue with the wireless card not being able to properly associate with WPA/WPA2 secured networks and DHCP release/DHCP renew works as expected.  I have uploaded the patch to here.  In order to install the patch, follow the below instructions. You will need a spare SD card at least 128MB in size.</li>
</ul>
<p>Here&#8217;s how to download and perform the OS update:</p>
<ol>
<li>Download the patch from here:  <a href="http://www.yourwarrantyisvoid.com/downloads/files/sylvania_smartbook_OS_update.zip" target="_blank">sylvania_laptop_OS_update.zip</a></li>
<li>Extract the executable to an SD card.</li>
<li>Insert the SD card into the Sylvania netbook.</li>
<li>Browse to the SD card slot (Computer -&gt; SD Card)</li>
<li>Launch the patch and follow the on screen prompts.</li>
</ol>
<h2>2:On the Linux side of things&#8230;</h2>
<p>When I did my original research, I was fortunate to have come by a site dedicated to a Linux distribution made solely for the WM8505 series devices like the Sylvania Netbook. The site and the distribution were called Bento Linux and much like the Japanese namesake, the distribution was very small and was designed to be able to run within the computer&#8217;s limited spec.  Unfortunately, the site www.bento-linux.org no longer exists but thankfully I still have the documentation and files needed to pull it off.  If you are the owner of bento-linux.org and are willing to give me the site files, I would be more than happy to host it here. Please contact me in the comments.</p>
<p>One of the added benefits of Bento-Linux is that unlike some replacement OS installations, this is a sidecar installation meaning that all work is done on the SD card.  If you want to boot to Windows CE, halt the Linux OS, pop out the SD card and power the Netbook back on and you&#8217;re up and running like nothing happened.  Although the Bento Linux site did have instructions for performing an installation to the device&#8217;s flash ram, it is not recommended as if you accidentally mess up the Linux distribution, there may be no recovery. In a sidecar installation, you can pop the SD card into another device, make your changes, and then put the SD card into the netbook and you&#8217;re up and running again.</p>
<p>Although the site claimed that the distro could run on a 512MB SD card, I will up the recommendation to at least a 2GB card.  Prices are low and SD cards are very commonplace so it&#8217;s worth it to get a larger chip.  I started out on a 2GB SD card, but later upgraded to a 4GB Microdrive and noticed a significant performance increase going from solid-state memory to a USB Microdrive. Your mileage will vary, but it is recommended to stick with an SD card first, then perform upgrades and additional installations as needed later on.  As far as USB devices are concerned, you can use any USB storage device/keydrive that is recognized by the usb mass-storage driver in Linux.</p>
<p>Please note that the version of Bento I was running is usable however it did not appear that the sound card was operational. Since I am intending to use this as an external serial console, this was not a deal breaker for me.</p>
<h3>Installation (SD Card Only)</h3>
<p>Bento-linux comes in two parts. One part is for a FAT16 partition placed at the beginning of the SD card and it contains the boot commands needed to tell u-boot (the Netbook&#8217;s bootloader) how to boot the linux kernel and the root filesystem.  The other part contains the linux kernel and the filesystem in an EXT3 filesystem and will contain all the files needed to run Linux.</p>
<ol>
<li>You will need to start with an SD card at least 1GB in size.  I used a 2GB which gave me some room to play around on and of course the bigger, the better.</li>
<li>Partition the SD card with a 20MB FAT16 partition at the beginning of the card and the rest of the disk space can be allocated for an EXT3 partition.  Do not create a swap partition.</li>
<li>Download the file <a title="FAT partition for Bento Linux" href="http://www.yourwarrantyisvoid.com/downloads/files/fatpart.tgz" target="_blank">fatpart.tgz</a> and extract it into the root of the FAT partition on the SD card.</li>
<li>Download the file <a title="EXT3 partition file for Bento Linux" href="http://www.yourwarrantyisvoid.com/downloads/files/extpart.tgz" target="_blank">extpart.tgz</a> and extract it into the root of the EXT3 partition of the SD card.</li>
<li>Unmount the card and insert into the Sylvania&#8217;s SD cardslot and power on the machine. It should boot the Bento Linux distribution</li>
</ol>
<h3>Installation (SD Card + USB stick)</h3>
<p>This setup does not require special partitioning, however it does require that the SD card be formatted FAT16.   You will also need a USB storage device formatted EXT3.</p>
<ol>
<li>Download the file <a href="http://www.yourwarrantyisvoid.com/downloads/files/fatpartusb.tgz" target="_blank">fatpartusb.tgz</a> and extract it to the root of the FAT formatted SD card.</li>
<li>Download the file extpart.tgz and extract it to the root of the EXT3 formatted USB stick (or hard drive).</li>
<li>Insert the SD card into the Sylvania&#8217;s SD slot and insert the USB stick into a free USB port on the Sylvania.</li>
</ol>
<p>In either instance, when you first boot the distro, it will simply bring you to a console prompt and you are good to go.  There are a couple of things you may want to do:</p>
<ul>
<li>(Pretty much required)  Set a root password.</li>
<li>Install fluxbox (light weight graphical interface) and wicd for wireless control.</li>
<li>Install aurora (lightweight firefox lookalike)</li>
<li>Install other applications though apt-get as desired.</li>
</ul>
<p>Although the bento-linux site is no longer in existence, it appears that all the repositories that come with the distribution point to the arm ports of the official Debian repositories.  Prior to them going offline, I saw a note about Bento-Linux had the sources for the WM8505 however it appears that VIA has recently released the sources for the WM8585/VT8505 chips that drive the netbook so if you have any custom drivers, it appears that now there is an easier method for getting the drivers compiled in.  I am not a kernel compiler expert so I can&#8217;t advise on this process, however some brief research does seem to indicate that there is some element of truth to this.</p>
<h3>Linux Impressions and final words</h3>
<p>After getting the Bento Linux distribution working comfortably in the netbook, I played around with it and made some tweaks here and there that did give some notable boost in performance.   If you are using a spinning platter form of storage, creation of a  swap file or swap partition is recommended as it will give you a performance boost.  Attempting to make a swap file on the SD card or on a solid-state USB drive are not recommended because of the performance hit when writing to these devices and also due to the issue of &#8220;burn-in&#8221; when a storage cell is written to frequently.  I found that the device works decently enough for quick tasks and light webpages however it will not handle flash at all, nor will it be able to render sites with large amounts of images.  In my testing, I was able to use this device to configure Cisco switches and other devices through a USB-Serial adapter and Linux&#8217;s &#8220;minicom&#8221; terminal emulator.</p>
<p>While I believe it was a valiant effort by Sylvania to enter into the netbook market, I do believe that they should have done more research.  The Sylvania netbook, even running Linux and with all the performance tweaks mentioned, still is easily beat by Asus&#8217; first offerings into the Netbook market. The two biggest things that seem to harm this device are the lack of RAM in the system (mine only has 128MB RAM) and the sub-par processor less than 1GHz.  If you have one, then you may be able to make it work for you, however if you are considering one, I&#8217;d stay clear.  It&#8217;s not worth the price they are asking for it at CVS.</p>
<p>A couple of comments left by Syed and Dave to the original CVS netbook post indicates that there are people out there that are able to get Android running on this device.  If you have information or an article written on how you did it, let me know in the comments.  I&#8217;m interested in trying it out and finding out what works on this machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2011/07/25/cvs-netbook-revisited/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Building Snort and Nessus &#8211; Ubuntu IDS Part 3</title>
		<link>http://www.yourwarrantyisvoid.com/2011/05/20/building-snort-and-nessus-ubuntu-ids-part-3/</link>
		<comments>http://www.yourwarrantyisvoid.com/2011/05/20/building-snort-and-nessus-ubuntu-ids-part-3/#comments</comments>
		<pubDate>Fri, 20 May 2011 16:01:31 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[How-To's]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=851</guid>
		<description><![CDATA[&#160; In this final article in the three part Ubuntu IDS series, we will go over installing, compiling and configuring Snort and Nessus on our new IDS device.  We will use Snort to analyze traffic as seen by the IDS and we will use Nessus to perform vulnerability testing on the network. The process for [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p><a rel="attachment wp-att-852" href="http://www.yourwarrantyisvoid.com/2011/05/20/building-snort-and-nessus-ubuntu-ids-part-3/watchtower/"><img class="aligncenter size-medium wp-image-852" title="Watchtower" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/Watchtower-300x199.jpg" alt="" width="300" height="199" /></a>In this final article in the three part Ubuntu IDS series, we will go over installing, compiling and configuring Snort and Nessus on our new IDS device.  We will use Snort to analyze traffic as seen by the IDS and we will use Nessus to perform vulnerability testing on the network. The process for installing Snort will also cover installing SnortReport provided by Symmetrix Technologies so we can translate Snort&#8217;s cryptic messages into a more readable format that we can take action on.  Read on as we wrap up the installation and finish our IDS device.</p>
<p><span id="more-851"></span>This article is divided into three sections. The first section will cover installing Snort, then we will move on to customizing Snort beyond the steps covered in the first section for our specific installation.  Finally we will end with installing Nessus.</p>
<h2>1:  Installing Snort</h2>
<p>Admittedly, this was the longest part in the series. I had tried manually to compile and install Snort from sources over and over again and wasn&#8217;t getting anywhere fast.  I had performed research over and over again on what options to use and was no further along than when I had unzipped the sources.  Luckily my research finally turned up a complete HOWTO article written by Symmetrix Technologies which provided instructions on how to compile and set up Snort.  You can download their HOWTO from this site:  <a href="http://www.symmetrixtech.com/download.html">http://www.symmetrixtech.com/articles/004-snortinstallguide286.pdf</a></p>
<p><strong>There are some discrepancies that you must take note of:</strong> If you are using the bonded interface as described in the prior articles, you will need to use the interface &#8220;bond0&#8243; instead of the document&#8217;s provided eth1 interface for monitoring.  If you monitor an ethX interface, you will only get half of the conversation, and since most of Snort&#8217;s ability to detect traffic relies on analyzing stimulus and the responses to that stimulus, you will be severely cutting down on Snort&#8217;s effectiveness.</p>
<h2>2: Snort Tuning</h2>
<p>If you&#8217;re this far in, then it&#8217;s safe to assume that you have already downloaded Snort, the associated ruleset and have SnortReport installed and running.  There are some things that the Snort installation howto did not entirely touch on and these are things that we will cover here.</p>
<p><strong>Adding BPF to /etc/init.d/rc.local</strong></p>
<p>One of the things missing from the Installation HOWTO was to add a BPF expression to the snort command line. BPF stands for &#8220;Berkeley Packet Filter&#8221; and is used by Snort and tcpdump to control what traffic is being analyzed by the respective tool.  In our configuration, we need to add an exception for the IDS&#8217;s management traffic otherwise when we install and run Nessus, we will end up triggering a ton of alerts.</p>
<p>Edit the /etc/rc.local file and locate the snort line.  Add &#8221; not host 192.168.0.253&#8243; to the end of the snort line. Replace 192.168.0.253 with that of the IP of the management interface of your IDS.  This is the BPF syntax that tells it to monitor your network but not the IP of your IDS device. By adding it to the end of the snort command, we are effectively telling Snort to not listen to the traffic generated by Nessus when we decide to fire it off.</p>
<p><strong>Password Protect SnortReport:</strong></p>
<p>Regardless of whether or not your IDS device can be reached from the Internet, there exists several vulnerabilities in SnortReport including one that allows potential code execution.  This could allow someone that knows you run SnortReport to execute code on your IDS and would be counterproductive to our efforts.  Until SnortReport has been fixed by SymmetrixTech, we will have to use a more basic method of securing it.  In order to provide minimal protection for SnortReport, we will add .htaccess protection to the directory that SnortReport was installed in so that way only authorized people will have access to SnortReport.</p>
<p>As root, we will use htpasswd to create the password file.  If you forget it later on, you can recreate the file easily using the below steps. Use the below command to make the password file and replace &#8220;joe&#8221; with that of your desired username.</p>
<p><strong># htpasswd -c /var/snortreportpasswd joe</strong></p>
<p>Now, we need to create a .htaccess file in /var/www/snortreport-1.3.1 to reference it.  Copy the below code and enter it into /var/www/snortreport-1.3.1/.htaccess and don&#8217;t forget the . in the filename.</p>
<pre>AuthName "SnortReport"
AuthType Basic
AuthUserFile /var/snortreportpasswd
Require valid-user
</pre>
<p>Finally, there is one more change we need to make to Apache2 to get the .htaccess protection working.  Edit /etc/apache2/sites-available/default and look for the clause that looks like the one below:</p>
<pre>&lt;Directory /var/www/&gt;
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
&lt;/Directory&gt;</pre>
<p>Change the &#8220;<strong>AllowOverride None</strong>&#8221; to &#8220;<strong>AllowOverride All&#8221;</strong> and then restart apache2 via <strong>/etc/init.d/apache2 restart</strong> . Now try it out by going to http://(your IDS IP address)/snortreport-1.3.1/alerts.php. You should  get a password prompt. Type in the password that you created using the htpasswd command earlier and you should see a green page that says SnortReport.</p>
<p>When you first load the page, you will see two dropdowns for Timeframe and Day.  If your IDS has received any incidents, you will see it show the incidents here.   Clicking on the incident summary will show more details including the source and destination IP addresses. Clicking on the IP will return correlated events that include the source or destination IP you clicked on and will show packet payloads and IP addressing information.</p>
<p>Now that you have a way to read the incidents that the IDS receives, it&#8217;s up to you to decide whether or not the incidents generated are something to take action against. However, installing an IDS is only one half of the solution.  In order to be aware of the effect an attack may have on your network, you first must know what vulnerabilities exist on your network.  For that, we turn to the free vulnerability scanner, Nessus.</p>
<h2>3: Installing Nessus</h2>
<p>Nessus is widely used as a professional commercial-grade vulnerability scanner. It can generate reports that indicate per host what vulnerabilities exist and can provide information on where to go to learn more about patching or mitigating the threat.  Keep in mind that while Nessus is often used on Linux, it is a commercial product.  It does have a home version which we will be using in our installation however the home version can not be used in a commercial environment.</p>
<p>The Nessus HomeFeed provides your Nessus installation with the most up-to-date vulnerability detection methods and signatures.  Access to the HomeFeed does come at a cost, however the benefits of having a vulnerability scanner outweigh the loss of a couple of features. Most notably, a feature that is only available to their commercial feed is that you can not set up recurring scans of you home network, e.g. you can&#8217;t tell the IDS to automatically scan your network and generate reports on a regular schedule.  The only other limitation that I have been able to find is that the scans are limited to 16 active hosts per report so if you have 32 hosts, you will need to run two scans. Despite the two limitations mentioned above, Nessus is still a great scanner, and will work quite well for identifying vulnerabilities on your network.</p>
<p>All that being said, let&#8217;s get started.</p>
<p>First off, head to Tenable Security&#8217;s website at <a title="Nessus Security" href="http://www.tenable.com/products/nessus/nessus-homefeed" target="_blank">http://www.tenable.com/products/nessus/nessus-homefeed</a> and register to receive your activation code. Keep your email handy, you will need it later.</p>
<p>Next, head to <a href="http://www.tenable.com/products/nessus/nessus-download-agreement" target="_blank">http://www.tenable.com/products/nessus/nessus-download-agreement</a> and agree to the license, then download the Ubuntu debian package that is appropriate for your distribution.  Since this tutorial is based on using Ubuntu 10.04, I downloaded the Ubuntu 10.04 32 bit version. Although the filename says &#8220;ubuntu910&#8243;, this version was recommended by Tenable as the version to use for 10.04.</p>
<p>Now, SCP the installation package to the IDS and then use <strong>dpkg -i Nessus-4.4.1-ubuntu910_i386.deb</strong> to install it into the server. <strong>Please note:</strong> If your Ubuntu Server is running a 64 bit kernel, please download the 64bit version of Nessus.</p>
<p>Once installed, you will need to add a Nessus user to the service so you can login.  Nessus users are seperate from OS users, so you can have multiple users without having to add multiple users to the system.  To start this process, run <strong>/sbin/nessus-adduser</strong> and follow the prompts.  For the first user that you add, you will want to add an administrative user. This user will be able to adjust Nessus&#8217;s scan policies, behaviors and other settings within Nessus.</p>
<p>Now that you&#8217;ve added a user, you will need to register your Nessus installation using the HomeFeed code in your email.  Run the command <strong>/opt/nessus/bin/nessus-fetch &#8211;register &lt;Activation Code&gt;</strong> and allow it to complete the installation. Substitute <strong>&lt;Activation Code&gt;</strong> with the HomeFeed code in the email.  <strong>Please note:</strong> This step may take a considerable amount of time due to the fact that Nessus will download and update itself according to the HomeFeed subscription.  This only took about an hour on my system, your mileage may vary depending on Internet connectivity speeds.</p>
<p>Now that the Nessus service is installed, registered and updated, it&#8217;s time to test the installation.  Open a web browser and go to <strong>https://your-ids-ip-address:8834</strong> .  If you are running Firefox and are using Noscript, AdblockPlus or Flashblock, you will need to add exceptions for Javascript and Flash for the IDS IP.  This is required as the Nessus UI relies entirely on Javascript and Flash.</p>
<p>Now that you have Nessus installed, it is <strong>highly</strong> recommended to take a read through the Nessus User&#8217;s Guide: <a href="http://cgi.tenable.com/nessus_4.4_user_guide.pdf" target="_blank">http://cgi.tenable.com/nessus_4.4_user_guide.pdf</a> While Nessus is a vulnerability scanner, some of the tests it performs can cause unpredictable results. It is recommended to set up a &#8220;safe&#8221; scan that performs basic testing and then set up a &#8220;full&#8221; scan for aggressive testing.</p>
<h3>How to read the scan results:</h3>
<p>Once you have made it through the User&#8217;s Guide and have performed your first scan, you can download or view the report.  The report is listed according to IP address, then service name, then vulnerability. Each vulnerability will include the service name, port, protocol, related CVE information (links to the CVE database for more information), as well as common fixes for the vulnerability.</p>
<p>I recommend taking a look at the vulnerability list in this order:</p>
<ol>
<li>Externally accessible services: A vulnerability in Apache that listens to the outside world threatens your internal network.  Address this first!</li>
<li>Internally accessible services on the same server as external services:  Should the external service be compromised, internal services could be used to further compromise the network.</li>
<li>Internally accessible services: A service listening internally may not pose much of a threat, but may be a possible point of compromise should another host get infected.  ( A common example is a weakness in older versions of Samba that would allow for remote code execution.)</li>
</ol>
<p>Generally speaking, it is a good idea to keep up to date with all service packs, updates and patches as this will prevent any known exploits from turning into full-blown worms.  Remember, it only takes one vulnerability to get compromised.</p>
<h2>Final thoughts:</h2>
<p>This has definitely been quite a project. I have learned a whole lot about network security in the course of my GCIA training and in building this project. I honestly think that building an IDS device from scratch is a great way to get acquainted with network security and how to perform vulnerability assessments.  Using Snort Report to analyze suspicious traffic and incoming threats and using Nessus to identify vulnerabilities in your system will help your home network stay secure against the ever evolving threats going around the Internet.</p>
<p>Always remember that security is no use  if the warnings go unheeded.  While you don&#8217;t have to turn into a complete security nut, make it a good habit to take a look at Snort Report once a week at least.  Personally, I record the number of events logged and if it changes, I then investigate further however I haven&#8217;t picked up any incidents in the last month so for me it&#8217;s a pretty easy check.  If you find yourself with tons of IRC events and you don&#8217;t use IRC, it&#8217;s very possible that you have an active trojan on your hands and may warrant further investigation.</p>
<p>I hope you had fun and learned a lot from this project. I had a lot of fun building it and working out the kinks to make it all work together.  If you have any comments or questions, please leave me a comment and I&#8217;ll do my best to answer.</p>
<p>FIRESTORM_v1</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2011/05/20/building-snort-and-nessus-ubuntu-ids-part-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setting up bonding networking -Ubuntu IDS Part 2</title>
		<link>http://www.yourwarrantyisvoid.com/2011/05/04/building-an-ubuntu-ids-part-2/</link>
		<comments>http://www.yourwarrantyisvoid.com/2011/05/04/building-an-ubuntu-ids-part-2/#comments</comments>
		<pubDate>Wed, 04 May 2011 16:01:59 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[How-To's]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=847</guid>
		<description><![CDATA[In an earlier article, I demonstrated how you can build a passive monitoring device for an Ethernet network as the first part to a three part project to build a home IDS device.  In this article, the second in the series, I will describe how to set up the networking for an IDS using the [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-848" href="http://www.yourwarrantyisvoid.com/2011/05/04/building-an-ubuntu-ids-part-2/cctvwall/"><img class="aligncenter size-medium wp-image-848" title="CCTV Wall" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/CCTVwall-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p>In an earlier article, I demonstrated how you can build a passive monitoring device for an Ethernet network as the first part to a three part project to build a home IDS device.  In this article, the second in the series, I will describe how to set up the networking for an IDS using the passive tap that I built earlier.This setup will involve using a technique called bonding to take two physical interfaces and bond them together, creating a logical interface that we can use for Snort.  This article will also explain where is the best location to place the tap and what you can expect to see once the networking is set up using common Linux utilities like tcpdump.</p>
<p><span id="more-847"></span></p>
<h2>Requirements</h2>
<ul>
<li>A Passive Tap as mentioned in &#8220;<a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/" target="_blank">Build a Passive Ethernet Tap</a>&#8221; or similar device.</li>
<li>Three network cards or a single network card with  three interfaces.</li>
<li>A new installation of Ubuntu Server. (I am using Ubuntu Server 10.04LTS).</li>
<li>Beer. (Always)</li>
</ul>
<p>The requirements for this project aren&#8217;t that extensive and chances are you have most if not all the equipment you need in your parts bin. The most significant item in this list is the three network cards.  If you followed the steps in my first article in this series, you already have a machine with two or three network cards in it so you&#8217;re pretty much there. If not, then go ahead and get three network cards in your Ubuntu server and ensure that all three cards re properly recognized by the system even if there&#8217;s no IP address. for them.</p>
<p>The first two network cards will be combined together to form the monitoring interface while the third card will be for our management interface.  The management interface will be assigned an IP address and will be how we acccess the server&#8217;s commandline (via SSH), and the scanning and reporting tools we will install in Part 3.</p>
<h2>Getting things set up</h2>
<p>With the proper hardware in hand, we can now set about performing the configuration necessary to getting our interfaces configured properly. In the code below, you can see the interfaces (eth0, eth1 and eth2) and that eth0 has been configured with an IP address.  If you haven&#8217;t configured yours with an IP address, this will be covered while we perform the configuration.</p>
<pre>matt@ids-01:~$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:18:f3:18:1c:25 
 inet addr:192.168.0.222  Bcast:192.168.0.255  Mask:255.255.255.0
 inet6 addr: fe80::218:f3ff:fe18:1c25/64 Scope:Link
 UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 RX packets:45458 errors:0 dropped:0 overruns:0 frame:0
 TX packets:23861 errors:0 dropped:0 overruns:0 carrier:2
 collisions:0 txqueuelen:1000
 RX bytes:55984695 (55.9 MB)  TX bytes:2326303 (2.3 MB)

eth1      Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:06 
 UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 RX packets:11505094 errors:2 dropped:0 overruns:0 frame:2
 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000
 RX bytes:3057886364 (3.0 GB)  TX bytes:218 (218.0 B)

eth2      Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:06 
 UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 RX packets:8061127 errors:1 dropped:0 overruns:0 frame:1
 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000
 RX bytes:1434430796 (1.4 GB)  TX bytes:250 (250.0 B)

lo        Link encap:Local Loopback 
 inet addr:127.0.0.1  Mask:255.0.0.0
 inet6 addr: ::1/128 Scope:Host
 UP LOOPBACK RUNNING  MTU:16436  Metric:1
 RX packets:48 errors:0 dropped:0 overruns:0 frame:0
 TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:0
 RX bytes:3948 (3.9 KB)  TX bytes:3948 (3.9 KB)
</pre>
<p>In this output, you can see eth0 is my management interface as it has been assigned an IP, eth1 and eth2 are both going to become a new interface called bond0.  When we set up Snort, we will use bond0 as our monitoring interface so that way we can take advantage of Snort&#8217;s stateful analysis and because it will be critical for any network analysis to hear both sides of the conversation on the passive tap.</p>
<p>In order to set up bonding, we will need to install the <strong>ifenslave</strong> package.  As root, run the below command:</p>
<p># <strong>apt-get install ifenslave</strong></p>
<p>Once apt-get completes, let&#8217;s check a few things.  First, let&#8217;s take a look at <strong>/etc/modprobe.d/aliases.conf</strong>.  Make sure that the two lines below appear in the file:</p>
<p><strong>alias bond0 bonding</strong><br />
<strong>options mode=0 miimon=100 downdelay=200 updelay=200</strong></p>
<p>If you will be making more than one bonding interface, you will need to add another alias line to coincide with the bond interfaces you wish to add (bond1, bond2, etc..) and you will need to add <strong>max_bonds=X</strong> to the end of the options line. Set X to the maximum number of bonding interfaces you will be using.</p>
<p>Now this is where things get interesting.  In order to test this out, we will bond the interfaces using the command below:</p>
<p><strong># ifenslave bond0 eth1 eth2</strong></p>
<p>It does not matter which order the two eth interfaces appear, however bond0 must come first.  This command tells the Linux kernel to take eth1 and eth2 and pair them together into a single interface (bond0).  Now that we have done that, <strong>ifconfig -a</strong> will present a new interface:</p>
<pre>root@ids-01:~# ifconfig -a
bond0     Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:06 
 inet6 addr: fe80::2e0:b6ff:fe00:a206/64 Scope:Link
 UP BROADCAST RUNNING PROMISC MASTER MULTICAST  MTU:1500  Metric:1
 RX packets:19568527 errors:3 dropped:0 overruns:0 frame:3
 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:0
 RX bytes:198240524 (198.2 MB)  TX bytes:468 (468.0 B)

eth0      Link encap:Ethernet  HWaddr 00:18:f3:18:1c:25 
 inet addr:192.168.0.222  Bcast:192.168.0.255  Mask:255.255.255.0
 inet6 addr: fe80::218:f3ff:fe18:1c25/64 Scope:Link
 UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 RX packets:45907 errors:0 dropped:0 overruns:0 frame:0
 TX packets:24117 errors:0 dropped:0 overruns:0 carrier:2
 collisions:0 txqueuelen:1000
 RX bytes:56024505 (56.0 MB)  TX bytes:2411029 (2.4 MB)

eth1      Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:06 
 UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
 RX packets:11506043 errors:2 dropped:0 overruns:0 frame:2
 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000
 RX bytes:3058301702 (3.0 GB)  TX bytes:218 (218.0 B)

eth2      Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:06 
 UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
 RX packets:8062484 errors:1 dropped:0 overruns:0 frame:1
 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000
 RX bytes:1434906118 (1.4 GB)  TX bytes:250 (250.0 B)

lo        Link encap:Local Loopback 
 inet addr:127.0.0.1  Mask:255.0.0.0
 inet6 addr: ::1/128 Scope:Host
 UP LOOPBACK RUNNING  MTU:16436  Metric:1
 RX packets:48 errors:0 dropped:0 overruns:0 frame:0
 TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:0
 RX bytes:3948 (3.9 KB)  TX bytes:3948 (3.9 KB)
</pre>
<p>Now that we have the bonding interface up, we need to write the configuration in <strong>/etc/networking/interfaces</strong> so that they will be brought up at boot time.  After struggling with this for a few moments, I finally found out the proper rules needed in order to do this:</p>
<ol>
<li>You have to define your bonding interface first.</li>
<li>You must use an &#8220;<strong>up</strong>&#8221; statement to specify how to bring up the interfaces. We will be using the parameter <strong>promisc</strong> to ensure that the interfaces are ready for when we install Snort.</li>
<li>We must use bonding-specific statements to specify how the bonding interface will be created and for each interface&#8217;s role in the bonding configuration.</li>
</ol>
<p>Edit <strong>/etc/networking/interfaces</strong> and remove the existing information.  Add the below lines, but be sure to add the proper IP addressing information for your management interface.</p>
<pre># The primary network interface
auto eth0
iface eth0 inet static
 address 172.20.1.253
 netmask 255.255.255.0
 broadcast 172.20.1.255
 gateway 172.20.1.250

auto bond0
iface bond0 inet manual
 bond-slaves none
 bond-mode 0
 bond-miimon 100
 up ifconfig bond0 promisc up

auto eth1
iface eth1 inet manual
 up ifconfig eth1 promisc up
 bond-master bond0
 bond-primary eth1 eth2

auto eth2
iface eth2 inet manual
 up ifconfig eth2 promisc up
 bond-master bond0
 bond-primary eth1 eth2</pre>
<p>In the above configuration, the <strong>up</strong> parameter tells the network scripts to bring up the selected interface up with the promiscuous mode enabled so we can prepare the interfaces at boot time for  listening to network traffic. The <strong>bond-master</strong> and <strong>bond-primary</strong> parameters indicate which bonding interface the physical interface should be added to.  Granted for one bond interface it would appear faster to just single keywords however if you decide to set up multiple bonded interfaces, the keywords would lose meaning quickly.</p>
<p>When all is said and configured, reboot the computer.  When the computer comes back up, check <strong>ifconfig -a</strong> and see if you see something like the below.</p>
<pre>root@ids-01:~# ifconfig -a
bond0     Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:06 
 inet6 addr: fe80::2e0:b6ff:fe00:a206/64 Scope:Link
 UP BROADCAST RUNNING PROMISC MASTER MULTICAST  MTU:1500  Metric:1
 RX packets:19570074 errors:3 dropped:0 overruns:0 frame:3
 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:0
 RX bytes:198918392 (198.9 MB)  TX bytes:468 (468.0 B)

eth0      Link encap:Ethernet  HWaddr 00:18:f3:18:1c:25 
 inet addr:172.20.1.253  Bcast:192.168.0.255  Mask:255.255.255.0
 inet6 addr: fe80::218:f3ff:fe18:1c25/64 Scope:Link
 UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 RX packets:46106 errors:0 dropped:0 overruns:0 frame:0
 TX packets:24224 errors:0 dropped:0 overruns:0 carrier:2
 collisions:0 txqueuelen:1000
 RX bytes:56042559 (56.0 MB)  TX bytes:2427777 (2.4 MB)

eth1      Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:06 
 UP BROADCAST RUNNING PROMISC SLAVE MULTICAST  MTU:1500  Metric:1
 RX packets:11506719 errors:2 dropped:0 overruns:0 frame:2
 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000
 RX bytes:3058600599 (3.0 GB)  TX bytes:218 (218.0 B)

eth2      Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:06 
 UP BROADCAST RUNNING PROMISC SLAVE MULTICAST  MTU:1500  Metric:1
 RX packets:8063355 errors:1 dropped:0 overruns:0 frame:1
 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000
 RX bytes:1435285089 (1.4 GB)  TX bytes:250 (250.0 B)

lo        Link encap:Local Loopback 
 inet addr:127.0.0.1  Mask:255.0.0.0
 inet6 addr: ::1/128 Scope:Host
 UP LOOPBACK RUNNING  MTU:16436  Metric:1
 RX packets:48 errors:0 dropped:0 overruns:0 frame:0
 TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:0
 RX bytes:3948 (3.9 KB)  TX bytes:3948 (3.9 KB)
</pre>
<h2>Now to install it&#8230;</h2>
<p>In order to install this machine where it will be most effective in your network, there are some things to consider:</p>
<ul>
<li>What kind of Internet access do you have? (Cable, DSL, FiOS, etc&#8230;..)</li>
<li>Does your ISP require running a program on your router to connect? (like PPPoE clients, RASPPPoE, others..)</li>
<li>What is considered the &#8220;edge&#8221; of your network?</li>
<li>Where is the location where the IDS would have most visibility to the network traffic generated by your computers either wired or wireless?</li>
</ul>
<p>In most corporate networks, there is a single switch that handles all the traffic for a network. This makes things a loss less complex as the network traffic is in one place however in most homes, this is simply not the case.  At least in my network, there&#8217;s at least four switches between the router (my edge) and the innermost device (my Wireless Access Point). Since I wanted all the traffic monitored, I elected to connect the passive tap between my router and the first switch.  Any internet activity generated by any device on the network will be monitored by the IDS and if malicious will generate an alert.  If you have only a couple of PCs that are wireless but have several embedded devices like gaming consoles or media streaming boxes (not media center PCs, more like Boxee boxes and the like) you may want to move the passive tap between your wireless access point and the switch connecting the embedded devices as they are a lot less likely to generate malicious traffic.  Your configuration may be different, but when in doubt, installing the passive tap and your soon-to-be IDS between your edge router and the rest of your network is a safe bet.</p>
<h2>What&#8217;s Next?</h2>
<p>We&#8217;ve covered how to build a passive tap. We just covered how to configure bonding for the passive tap.  In the final article in the series, we will discuss how to install Snort and make this machine into a full blown IDS device.</p>
<p>Happy Hacking!</p>
<p>&nbsp;</p>
<p>FIRESTORM_v1</p>
<p>&nbsp;</p>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 3862px; width: 1px; height: 1px; overflow: hidden;">root@ids-01:~# ifconfig -a<br />
bond0     Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:06<br />
inet6 addr: fe80::2e0:b6ff:fe00:a206/64 Scope:Link<br />
UP BROADCAST RUNNING PROMISC MASTER MULTICAST  MTU:1500  Metric:1<br />
RX packets:19570074 errors:3 dropped:0 overruns:0 frame:3<br />
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:0<br />
RX bytes:198918392 (198.9 MB)  TX bytes:468 (468.0 B)&nbsp;</p>
<p>bond1     Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:04<br />
inet6 addr: fe80::2e0:b6ff:fe00:a204/64 Scope:Link<br />
UP BROADCAST RUNNING PROMISC MASTER MULTICAST  MTU:1500  Metric:1<br />
RX packets:24303821 errors:2 dropped:0 overruns:0 frame:2<br />
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:0<br />
RX bytes:777005710 (777.0 MB)  TX bytes:468 (468.0 B)</p>
<p>eth0      Link encap:Ethernet  HWaddr 00:18:f3:18:1c:25<br />
inet addr:192.168.0.222  Bcast:192.168.0.255  Mask:255.255.255.0<br />
inet6 addr: fe80::218:f3ff:fe18:1c25/64 Scope:Link<br />
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1<br />
RX packets:46106 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:24224 errors:0 dropped:0 overruns:0 carrier:2<br />
collisions:0 txqueuelen:1000<br />
RX bytes:56042559 (56.0 MB)  TX bytes:2427777 (2.4 MB)</p>
<p>eth1      Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:06<br />
UP BROADCAST RUNNING PROMISC SLAVE MULTICAST  MTU:1500  Metric:1<br />
RX packets:11506719 errors:2 dropped:0 overruns:0 frame:2<br />
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:1000<br />
RX bytes:3058600599 (3.0 GB)  TX bytes:218 (218.0 B)</p>
<p>eth2      Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:06<br />
UP BROADCAST RUNNING PROMISC SLAVE MULTICAST  MTU:1500  Metric:1<br />
RX packets:8063355 errors:1 dropped:0 overruns:0 frame:1<br />
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:1000<br />
RX bytes:1435285089 (1.4 GB)  TX bytes:250 (250.0 B)</p>
<p>eth3      Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:04<br />
UP BROADCAST RUNNING PROMISC SLAVE MULTICAST  MTU:1500  Metric:1<br />
RX packets:16316361 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:1000<br />
RX bytes:3675415003 (3.6 GB)  TX bytes:238 (238.0 B)</p>
<p>eth4      Link encap:Ethernet  HWaddr 00:e0:b6:00:a2:04<br />
UP BROADCAST RUNNING PROMISC SLAVE MULTICAST  MTU:1500  Metric:1<br />
RX packets:7987460 errors:2 dropped:0 overruns:0 frame:2<br />
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:1000<br />
RX bytes:1396558003 (1.3 GB)  TX bytes:230 (230.0 B)</p>
<p>lo        Link encap:Local Loopback<br />
inet addr:127.0.0.1  Mask:255.0.0.0<br />
inet6 addr: ::1/128 Scope:Host<br />
UP LOOPBACK RUNNING  MTU:16436  Metric:1<br />
RX packets:48 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:48 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:0<br />
RX bytes:3948 (3.9 KB)  TX bytes:3948 (3.9 KB)</p>
<p>root@ids-01:~#</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2011/05/04/building-an-ubuntu-ids-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build a Passive Ethernet Tap &#8211; Ubuntu IDS Part 1</title>
		<link>http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/</link>
		<comments>http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 16:34:40 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[How-To's]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=802</guid>
		<description><![CDATA[One of the things that the GCIA study has taught me is that being able to monitor the network your computer is on is a critical necessity to maintaining a secure network. Corporate environments can set up IDS devices to monitor traffic however monitoring doesn&#8217;t work unless you have proper connectivity to what you want [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/acousticcoupler/" rel="attachment wp-att-803"><img class="aligncenter size-medium wp-image-803" title="acoustic coupler" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/acousticcoupler-300x199.jpg" alt="Image courtesy of forums.overclockers.co.uk" width="300" height="199" /></a></p>
<p>One of the things that the GCIA study has taught me is that being able to monitor the network your computer is on is a critical necessity to maintaining a secure network. Corporate environments can set up IDS devices to monitor traffic however monitoring doesn&#8217;t work unless you have proper connectivity to what you want to monitor. Unfortunately, most of us don&#8217;t have central wiring in our house and expensive managed switches that can set up span sessions with which to monitor traffic in transit.  In this HOWTO, I will cover how to build your own monitoring connection that you can use on your own network to monitor traffic without breaking the bank. This article is first in a three part series on how to build your own home IDS for monitoring your network traffic. Look for the other two sections soon!<br />
<span id="more-802"></span></p>
<h2>A little bit more info first&#8230;</h2>
<p>In the early days of affordable Ethernet networking, devices called hubs (or repeaters) were used to bring the signals together from each workstation in order to allow the workstations to communicate with each other. When a packet was sent to the hub, the hub repeated the packet across all ports on the device and all other workstations would receive it, even if it was not destined for that particular workstation.  The hubs gave way to switches as networking technology became cheaper and faster. Unfortunately, the switches also changed the old way of signal transmission. When a workstation sends a packet to a switch, it is sent from the sender&#8217;s switch port  and arrives at  the switch port of the workstation that the packet is destined to. It does not get sent to other workstations&#8217; switch ports unlike the hub&#8217;s transmission method.  Because of the need for network monitoring, more advanced switches started offering monitor ports (Cisco calls them span sessions) that are used to forward all traffic that goes through a switch out of this specifically configured port.  This port would then be connected to the monitoring device and would allow the monitoring device to &#8220;listen&#8221; to all packets that traversed the switch.</p>
<p>The good thing is that most if not all managed switches support a monitor port however the bad thing is that a managed switch is way outside the pocketbook of most home network users.</p>
<h2>But why not use a hub?</h2>
<p>A hub would allow us to listen in on network traffic however a hub would degrade your network&#8217;s performance thanks to it&#8217;s lack of proper high speed flow control and its susceptability to collisions.  In my testing, I used a 100baseT hub between my firewall and my network and found that my previously rock solid network connection had dropped well below speed and would barely support YouTube streaming, much less Netflix.  Instead of using a hub and risking continued degradation, I decided to research another solution.</p>
<h2>So, what&#8217;s the solution and how do I use it?</h2>
<p>The solution is the Passive Tap.  This device sits between a unmanaged switch and a computer or router and allows a monitor device to listen in on the network connection between a computer and switch.  The word passive in this instance means that there is no way to detect the device&#8217;s presence. It does not have a MAC address, it does not repeat. For all intensive purposes, the tap does not exist.</p>
<p><a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/passivetapmonitorsetup/" rel="attachment wp-att-804"><img class="aligncenter size-full wp-image-804" title="Passive Tap Monitor Setup" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/PassiveTapMonitorSetup.jpg" alt="" width="438" height="174" /></a></p>
<p>In the image above, we have connected the Passive Tap between a network switch and a monitored host in order to monitor traffic between the host and other machines on the network (in this case the Server).  This would be an ideal setup for monitoring traffic generated by the monitored host and the rest of the network with the focus being on the monitored host. In this configuration, the monitor device would pick up all traffic destined to or originating from the host and any broadcast traffic generated by the network.</p>
<p style="text-align: center;"><a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/passivetapmonitorsetup2/" rel="attachment wp-att-873"><img class="size-full wp-image-873 aligncenter" title="Passive Tap Monitor Setup #2" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/PassiveTapMonitorSetup2.jpg" alt="Passive Tap Monitor Setup #2" width="438" height="174" /></a></p>
<p>This configuration is a bit different than the first image however the scope of the monitor device&#8217;s visibility has changed. Instead of just monitoring the Monitored Host, this configuration allows the monitor device to monitor any Internet traffic that passes between any host on the switch and the firewall. If there were additional devices connected to the switch (other desktops, an Xbox, a Wifi Access point, etc..) their communication with the Internet would also be monitored.  The only communication that would not get monitored would be communication between the devices plugged into the switch (for example the Monitored Host and a Wifi Accesspoint, etc.)</p>
<h2>Parts List</h2>
<p>In order to build a passive tap, you will need the following items.  The parts themselves cost me about $20 at a computer store which is a lot better than the $200 that some eBay sellers want.</p>
<ul>
<li>A cat-5 patch cord</li>
<li>A surface mount biscuit jack / modular mounting box. (See picture below)</li>
<li>Two CAT5 keystones (they don&#8217;t have to be green/red like mine)</li>
<li>Screwdriver</li>
<li>Wire cutters/blade</li>
<li><a href="http://en.wikipedia.org/wiki/Punch_down_tool" target="_blank">A M110 punch down tool</a> (If you have one, it makes the installation easier)</li>
<li>A monitoring computer with two network interfaces and Wireshark installed (windows) or tcpdump(linux)</li>
<li>A test computer (or device) with one network interface</li>
<li>A network switch.</li>
<li>Beer (optional)</li>
</ul>
<div id="attachment_805" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/parts/" rel="attachment wp-att-805"><img class="size-medium wp-image-805" title="Parts" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/Parts-300x225.jpg" alt="Parts" width="300" height="225" /></a><p class="wp-caption-text">Parts</p></div>
<p>Here&#8217;s an image of the parts. The biscuit jack on the left, the two keystones are in the center and the patch cord is on the right.</p>
<p>We&#8217;ll start off by first taking a look at the keystones up close.</p>
<div id="attachment_806" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/keystones/" rel="attachment wp-att-806"><img class="size-medium wp-image-806" title="Keystones" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/Keystones-300x225.jpg" alt="Keystones" width="300" height="225" /></a><p class="wp-caption-text">Keystones</p></div>
<p>These keystone jacks are wired up and marked in such a way that all you need to do to wire it up properly is to follow the color code. A closer inspection will reveal that there are small numbers in between the symbols for the wire positions. In <a href="http://www.infocellar.com/networks/cables/twisted-pair-cables.htm" target="_blank">this page on twisted pair wiring</a>, you can see that of the four pairs in a Cat-5 10/100 cable, only pairs 2 (white/orange) and 3(white/green) are used.  In order to properly receive both sides of the conversation on the wire, we will need to &#8220;tap&#8221; into both pairs and route them to the proper pins on the two keystones to each jack&#8217;s Pair 2 (receive pair) so that the data being sent can arrive at the NIC of our monitoring device.</p>
<p>If you scroll down to the section labeled &#8220;568A and 568 B Color Schemes&#8221;, you will see that the receive pair is on pins 3 and 6 of the diagram jacks.  Our keystones are similarly labelled and when we are done, we will have one pair of the Cat-5 patch cable going to pins 3 and 6 of one jack, and the other pair of the Cat-5 patch cable going to the other jack.</p>
<h2>Let&#8217;s get started.</h2>
<p>First off, it is important to understand that you must be able to do this WITHOUT NICKING OR CUTTING THE WIRES.  A cut or nick could result in either your tap not working properly or the tap getting all the data but your connected host doesn&#8217;t or any one of a whole handful of issues.  Thankfully, Cat-5 patch cords are not very expensive, but it still sucks to put a project on hold because a slip of the knife.</p>
<p>To start, lay out the patch cord and decide on where you want the tap.  Since the hosts are closer to my monitor machine, I&#8217;ve decided to create a short end and a long end with the tap being more towards one end.  You may want to have the tap in the middle or very close to one end of your patch.  It electrically does not matter.</p>
<p>Strip back about two to three inches of jacket so that you have something like below.</p>
<div id="attachment_807" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/strippedwires/" rel="attachment wp-att-807"><img class="size-medium wp-image-807" title="Stripped Wires" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/strippedwires-300x225.jpg" alt="Stripped Wires" width="300" height="225" /></a><p class="wp-caption-text">Stripped Wires</p></div>
<p>Mount the keystones in the surface mount box as shown below.</p>
<p>&nbsp;</p>
<div id="attachment_811" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/mounted-keystones/" rel="attachment wp-att-811"><img class="size-medium wp-image-811" title="mounted keystones" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/mounted-keystones-300x225.jpg" alt="mounted keystones" width="300" height="225" /></a><p class="wp-caption-text">mounted keystones</p></div>
<p>Now that they are mounted, we will then need to take a look at which pair of pins we need to match the wires up to. Below is a better side-view pic of the green jack in detail.  Please note, your jacks may appear different, but all CAT5 keystone jacks that I have seen have both a color designation and a numeric designation. Be sure to pay attention to which is which and where you are placing your wires otherwise it may not work.</p>
<div id="attachment_812" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/wiremarks/" rel="attachment wp-att-812"><img class="size-medium wp-image-812" title="Wire/Pin designations" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/wiremarks-300x225.jpg" alt="Wire/Pin designations" width="300" height="225" /></a><p class="wp-caption-text">Wire/Pin designations</p></div>
<p>You can click on the picture for a larger more detailed image.  In the above image (using the top set of colors as a guide) we see that the orange/white hash is pin 3 and the solid orange is pin 6. The same goes for the red jack (not shown).  That being said, untwist the orange and green wires, and place them into their respective slots. Make sure that the solid wire goes with the solid pin and the hashed wire goes with the hashed pin. A reversal here will cause the monitor port not to receive data and could affect your host/switch.</p>
<div id="attachment_815" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/readytocrimp/" rel="attachment wp-att-815"><img class="size-medium wp-image-815" title="Wires ready to crimp" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/readytocrimp-300x225.jpg" alt="Wires ready to crimp" width="300" height="225" /></a><p class="wp-caption-text">Wires ready to crimp</p></div>
<p>In the above photo, you can see that the white/orange pair are lightly inserted into the wire channels.  If you don&#8217;t have the M100 punch tool, you can get away with using the wire caps that came with your keystones.  These caps will push down the wire and crimp it into place over a metal pin that connects the wire to the pin in the jack.  When you are done, you will have something akin to the below:</p>
<div id="attachment_816" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/readytoclose/" rel="attachment wp-att-816"><img class="size-medium wp-image-816" title="Tap ready to close" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/readytoclose-300x225.jpg" alt="Tap ready to close" width="300" height="225" /></a><p class="wp-caption-text">Tap ready to close</p></div>
<p>Also of note: To act as a strain relief, I have added tiewraps on the cable. This will serve to protect the cable from getting yanked out and damaged.  In this picture, you can also see the two white caps that have punched the wires down in place. Reassemble the jack and make sure to install the screw in the lid if your jack has one.</p>
<div id="attachment_817" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/completedtap/" rel="attachment wp-att-817"><img class="size-medium wp-image-817" title="Completed Passive Ethernet Tap" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/completedtap-300x225.jpg" alt="Completed Passive Ethernet Tap" width="300" height="225" /></a><p class="wp-caption-text">Completed Passive Ethernet Tap</p></div>
<p>Here&#8217;s the completed tap in all it&#8217;s glory!</p>
<h2>Testing the Tap</h2>
<p>In order to test the tap, we need at least two computers, one of which must have two network adapters.  The computer with one network adapter will be our &#8220;test host&#8221; and the other computer will be our monitoring host.  On the test host, I have assigned the IP address 10.0.0.2 and on the monitoring computer, I have assigned one interface (eth0) with the IP of 10.0.0.1.  The monitoring interface (eth1) will have no IP address assigned to it and will be for testing the tap.  Remember that as far as the test host is concerned, the tap is just a CAT-5 patch cable.</p>
<p>Before proceeding, mark the passive tap where the Ethernet cables come out as A and B.  This will be important as this test will also help us label which side of the conversation we are listening to.  One side will be considered &#8220;Network to Host&#8221; and the other will be considered &#8220;Host to Network&#8221;.  It is imperative that we get both sides of the conversation, each side represented by one of the two keystone jacks. While it might not be important now, later on when you use this tap for something else (like an IDS project), you will need to know which side of the conversation you are listening to.</p>
<p>To get your test rig set up, connect the long side (side A in my case) of the tap cable to the switch.  Connect the short side (side B in my case) to the test host.  Connect the ethernet interface on the monitoring machine to the switch, but leave the  unmonitored interface disconnected.  Keep in mind that on my monitoring machine, eth0 was the interface with the IP address, and eth3 was the interface that will be used for monitoring. I&#8217;m using Linux on my system, you may need to make adjustments where needed.</p>
<ul>
<li>On the monitoring host, ensure that you can ping the test host before hooking up the monitoring interface to the tap.</li>
<li>On the monitoring host, open two terminal windows</li>
<li>In the first window, start tcpdump using this command:  <strong>sudo tcpdump -i eth3 -nvs0 -c 10 ip[9]=1</strong>This translates to start tcpdump on eth3, no host resolution (-n), verbose mode (v), no snapshot length (s0), for a count of 10 packets (-c 10) and only on ICMP protocol (ip[9]=1).</li>
<li>Attach the monitoring interface to one of the two keystones.  I picked the red jack.</li>
<li>In the second window, ping the test host using the -c 5 parameter:  <strong>ping testmachine -c 5</strong> The -c 5 tells ping to try 5 times.</li>
<li>You should see the below text in your ping window:</li>
</ul>
<p>&nbsp;</p>
<pre>$ ping  testmachine -c 5
PING testmachine (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=7.25 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.685 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.719 ms
64 bytes from 10.0.0.2: icmp_seq=4 ttl=64 time=0.746 ms
64 bytes from 10.0.0.2: icmp_seq=5 ttl=64 time=0.704 ms</pre>
<p>&nbsp;</p>
<ul>
<li>Your TCPDUMP window should show something like this:</li>
</ul>
<p>&nbsp;</p>
<pre>21:48:59.093624 IP (tos 0x0, ttl 64, id 27270, offset 0, flags [DF], proto ICMP (1), length 84)
 10.0.0.2 &gt; 10.0.0.1: ICMP echo reply, id 24899, seq 1, length 64
21:49:00.088502 IP (tos 0x0, ttl 64, id 49871, offset 0, flags [DF], proto ICMP (1), length 84)
 10.0.0.2 &gt; 10.0.0.1: ICMP echo reply, id 24899, seq 2, length 64
21:49:01.087486 IP (tos 0x0, ttl 64, id 36772, offset 0, flags [DF], proto ICMP (1), length 84)
 10.0.0.2 &gt; 10.0.0.1: ICMP echo reply, id 24899, seq 3, length 64
21:49:02.086630 IP (tos 0x0, ttl 64, id 27025, offset 0, flags [DF], proto ICMP (1), length 84)
 10.0.0.2 &gt; 10.0.0.1: ICMP echo reply, id 24899, seq 4, length 64
21:49:03.085505 IP (tos 0x0, ttl 64, id 28037, offset 0, flags [DF], proto ICMP (1), length 84)
 10.0.0.2 &gt; 10.0.0.1: ICMP echo reply, id 24899, seq 5, length 64</pre>
<p>&nbsp;</p>
<ul>
<li>Keep in mind that there are two packets associated with ping. One is an <strong>ICMP Echo Request</strong> and the other is an <strong>ICMP Echo Reply</strong> In this case I received the echo reply which means that the red jack is for &#8220;Host to Network&#8221; monitoring or B-&gt;A. If you got ICMP echo request, then your jack is A-&gt;B.</li>
<li>Mark the jack as B-&gt;A and continue testing. At this point, we know that our tap at least hears half the conversation.</li>
<li>Switch the monitor interface to the other jack (Mine is green) and rerun the ping.  Your ping should show the below just like before:</li>
</ul>
<p>&nbsp;</p>
<pre>$ ping 10.0.0.2 -c 5
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=9.69 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.705 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.663 ms
64 bytes from 10.0.0.2: icmp_seq=4 ttl=64 time=0.722 ms
64 bytes from 10.0.0.2: icmp_seq=5 ttl=64 time=0.714 ms</pre>
<p>&nbsp;</p>
<ul>
<li>This time, however, the TCPDUMP output should have changed:</li>
</ul>
<p>&nbsp;</p>
<pre>22:00:28.084339 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
 10.0.0.1 &gt; 10.0.0.2: ICMP echo request, id 40269, seq 1, length 64
22:00:29.077220 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
 10.0.0.1 &gt; 10.0.0.2: ICMP echo request, id 40269, seq 2, length 64
22:00:30.076215 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
 10.0.0.1 &gt; 10.0.0.2: ICMP echo request, id 40269, seq 3, length 64
22:00:31.075218 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
 10.0.0.1 &gt; 10.0.0.2: ICMP echo request, id 40269, seq 4, length 64
22:00:32.074214 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
 10.0.0.1 &gt; 10.0.0.2: ICMP echo request, id 40269, seq 5, length 64</pre>
<p>&nbsp;</p>
<ul>
<li>Just like before, I received 5 packets however last time I got the ICMP echo reply, this time I got the ICMP echo request.  This means that the green jack is the A-&gt;B connector, that is Network to Host. Mark it as appropriate.</li>
</ul>
<p>If you&#8217;re at this point, then you have demonstrated that the tap works.  It allows the test host to communicate with the network unimpeded, it also allows the monitoring of host to network and network to host data.  My passive tap looks like the one below:</p>
<div id="attachment_818" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/labelled/" rel="attachment wp-att-818"><img class="size-medium wp-image-818" title="Finished Passive Tap" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/03/labelled-300x225.jpg" alt="Finished Passive Tap" width="300" height="225" /></a><p class="wp-caption-text">Finished Passive Tap</p></div>
<h2>Now what to do?</h2>
<p>At this point, with a good passive tap in hand, you have a whole bunch of things you can do. You could:</p>
<ol>
<li>Establish an IDS for your network (my original plan)</li>
<li>Monitor a host&#8217;s traffic exchange with the network/Internet.</li>
<li>Perform traffic reconstruction for analysis.</li>
<li>Monitor network communication between your Wireless access point and the rest of your network</li>
</ol>
<h2>Troubleshooting</h2>
<p>Unfortunately, I can&#8217;t account for every situation however there may be some situations where the tcpdump test doesn&#8217;t exactly work as planned.  Here&#8217;s some common solutions if your tests don&#8217;t work quite right<strong>:</strong></p>
<p><strong>I can see the A-&gt;B traffic, but can&#8217;t see the B-&gt;A traffic. The ping window shows the host responds. (or)</strong></p>
<p><strong>I can see the B-&gt;A traffic but can&#8217;t see the A-&gt;B traffic. The ping window shows the host responds. (or)</strong></p>
<p><strong>I can not see any traffic, but the ping window shows the host responds.</strong></p>
<p><strong> </strong>Check your wires on the keystone and make sure the wire went down onto the metal pin. Sometimes when using the caps to crimp down the wires, one of the wires will shift at the last second<strong>.<br />
</strong></p>
<p><strong>I can see the ICMP Echo Request  on one port but I see nothing on the other. The ping window shows that the host does not respond.</strong></p>
<p>Check to see that the wires didn&#8217;t rip apart or that they were not nicked in the construction process.</p>
<h2>Last Thoughts</h2>
<p>Even if you don&#8217;t plan on building a home IDS, having a passive tap in your toolbox is a good idea.  You never know when you will need to intercept and analyze traffic between two devices on a network. This device will allow you to do so with minimal effort and cost all while allowing the host to chatter away unimpeded by the monitoring.</p>
<p>Happy Hacking!</p>
<p>FIRESTORM_v1</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2011/04/06/homeland-security-build-a-passive-ethernet-tap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Minecraft Server in Ubuntu Server</title>
		<link>http://www.yourwarrantyisvoid.com/2011/01/09/installing-minecraft-server-in-ubuntu-server/</link>
		<comments>http://www.yourwarrantyisvoid.com/2011/01/09/installing-minecraft-server-in-ubuntu-server/#comments</comments>
		<pubDate>Sun, 09 Jan 2011 22:29:05 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[How-To's]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Minecraft]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=773</guid>
		<description><![CDATA[Ok, I&#8217;ll admit it.  I&#8217;ve been caught by the Minecraft bug.  It bit me hard and of course I learned rather quickly that there is a problem with using two laptops to play Minecraft on and that is that it&#8217;s a pain in the posterior to move your save games around.  In this article, I [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-775" href="http://www.yourwarrantyisvoid.com/2011/01/09/installing-minecraft-server-in-ubuntu-server/minecraftubuntu/"><img class="aligncenter size-full wp-image-775" title="Minecraft and Ubuntu logos" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2011/01/minecraftubuntu.jpg" alt="Minecraft and Ubuntu logos" width="263" height="88" /></a>Ok, I&#8217;ll admit it.  I&#8217;ve been caught by the Minecraft bug.  It bit me hard and of course I learned rather quickly that there is a problem with using two laptops to play Minecraft on and that is that it&#8217;s a pain in the posterior to move your save games around.  In this article, I will be covering how to install Minecraft Server on a new installation of Ubuntu 9.04LTS.  These instructions will work for all current versions of Ubuntu, so if you&#8217;re using something newer or something older, these instructions should get you up and running in no time. <span id="more-773"></span></p>
<h2>Foreword</h2>
<p>Please note that per Notch (the Minecraft developer), running the Multiplayer server is still in beta phase so expect it to crash, be buggy and generally not work.  That being said, I can personally tell you that Minecraft Server DOES work and except for a few minor gameplay glitches, the server works quite well. Please keep in mind that this is by no means an exhaustive article on all things Minecraft Server, nor is it written in stone (ba-dum-thish!) as the Minecraft Server application may change.  If it does, I will make changes to this article to keep it current.</p>
<p>I can tell you that having your own Minecraft server is awesome and that you will never go back to playing singleplayer as you won&#8217;t have to worry about files to migrate and that your world will continue to evolve even as you are not playing.  This being said, before you disconnect your Minecraft session, it is recommended to make sure that your minecraft player is somewhere safe, be it in your bunker or somewhere where baddies can&#8217;t get to you while you are away. Remember, just because you&#8217;re not logged in, doesn&#8217;t mean that the world stops.</p>
<h2>System Requirements</h2>
<p>The System Requirements for Minecraft Server have yet to be officially established however there are some guidelines that have turned up during my research into this topic.  The below is a guideline only and not an exhaustive set of requirements.  It&#8217;s perfectly fine if you don&#8217;t meet all of them however expect performance hits depending on how you use the server.</p>
<ul>
<li>Processor: At least a 1.5GHz single core chip, whichever architecture you desire.</li>
<li>RAM:  At least 1.5GB FREE RAM. If you use the server for anything more than Minecraft, make sure you have at least 1.5GB free RAM at full utilization.</li>
<li>Disk: At least a 20Gb disk, with swap space allocated. (Using the &#8220;Use Full Disk&#8221; and &#8220;Automatically Setup Partitions&#8221; options in the Ubuntu Setup will ensure you have enough swap.  Although the game isn&#8217;t that big, the save files and caching elements will be quite large so of course the more the merrier.</li>
<li>Networking: 10/100 Ethernet is recommended.</li>
<li>Video:  Doesn&#8217;t matter. We will be running Minecraft Server in a Screen session, so there&#8217;s no need for a fancyOMGWTFBBQ video card. Save that for the rig you will play Minecraft on.</li>
</ul>
<p><strong>Please note: In order to take advantage of Minecraft Server, you must purchase the game from Notch at <a title="Minecraft Official Site" href="http://www.minecraft.net" target="_blank">www.minecraft.net</a> and have a username and password. You will still need to use either the Minecraft Beta standalone application or the Minecraft Beta web-based application to access your server.</strong></p>
<p>This is the basic setup of a good single person Minecraft server. While the possibility exists that you may be able to run multiple connected players on the specs above, if you are planning on hosting a lot of players, you may want to consider a beefer rig. My Minecraft server uses the below stats:</p>
<ul>
<li>Processor: Dual Core Intel Core 2 Duo 1.86GHz</li>
<li>RAM:  3.5GB DDR-2</li>
<li>Disk: 80GB SATA</li>
<li>Networking: 10/100/1000 Ethernet (onboard)</li>
<li>Video: whatever&#8217;s on the motherboard.</li>
</ul>
<h2>Getting Started</h2>
<p>This HOWTO will already assume you&#8217;ve installed your core Ubuntu Server installation and have performed no additonal steps. Login with your user account that you created during setup and perform the following steps. While you can technically prepend &#8220;sudo&#8221; to each command, I find it faster and less frustrating to just &#8220;sudo bash&#8221; and type your password once.</p>
<ul>
<li>
<b>apt-get update</b>
</li>
<li>
<b>apt-get install openssh-server</b>
</li>
<li>
<b>apt-get install screen</b>
</li>
</ul>
<p>This will install the OpenSSH server so you can remotely manage the server.  You will need a client like PuTTY (<a title="Putty Homepage" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" target="_blank">download from here</a>) in order to access it.  This will also install Screen which will contain the Minecraft server process.  If you don&#8217;t install screen, you will not be able to exit the SSH session without the Minecraft server being killed off.</p>
<p>Now for the fun part.  You will need to install Java in order to start the Minecraft server but Minecraft server will require the use of only the Sun JVM. I tried with the other JVM and it did not work at all.</p>
<ul>
<li>
<b>apt-get install sun-java6-bin sun-java6-jdk sun-java6-jre</b>
</li>
</ul>
<p>In order to ensure that the java environment is correct, run the command &#8220;java -version&#8221; and make sure it matches the below text.<br />
<b># java -version<br />
java version &#8220;1.6.0_22&#8243;<br />
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)<br />
Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode)<br />
</b></p>
<p>If it shows something else, you will need to do the following:</p>
<ul>
<li><b>update-java-alternatives -l</b></li>
</ul>
<p>This will list off all the various Java VMs that are installed.<br />
<b># update-java-alternatives -l<br />
java-6-openjdk 1061 /usr/lib/jvm/java-6-openjdk<br />
java-6-sun 63 /usr/lib/jvm/java-6-sun</b><br />
You will need to set the proper Java VM to use via the below syntax:</p>
<ul>
<li>
<b>update-java-alternatives -s java-6-sun</b>
</li>
</ul>
<p>Now, run &#8220;java -version&#8221; again and it should show the same version information as above. If it does, you&#8217;re good to go otherwise check your error messages.</p>
<p>Please note that the rest of these commands are run without root privileges. <span style="color: #ff0000;"><strong>NEVER EVER RUN MINECRAFT SERVER AS ROOT!</strong></span></p>
<h2>Installing Minecraft Server</h2>
<p>If you&#8217;re this far, then you&#8217;ve got the Java VM set properly and your server is all set for Minecraft Server.  You will need to download the minecraft_server.jar to your computer then use scp to put it on the server. You can download a Windows SCP client called WinSCP from <a title="WinSCP homepage" href="http://winscp.net/eng/index.php" target="_blank">this site</a>. Copy it into your non-root user&#8217;s home directory, in my case I&#8217;m using &#8220;mcserver&#8221;.</p>
<p>To start the server, you will need to use the following command:</p>
<ul>
<li>
<pre>java -Xmx1024m -Xms1024m -jar minecraft_server.jar nogui</pre>
</li>
</ul>
<p>You will see a lot of text scroll past the screen and you will see it generate a new world via the console messages. Once it settles down, you can then type &#8220;help&#8221; for a list of commands.</p>
<p>Since we just fired it up, let&#8217;s go ahead and stop it. Type in the command &#8220;save-all&#8221; which forces the server to save the generated map, then &#8220;stop&#8221; to shut the server down.</p>
<h2>Stopping and Starting the server</h2>
<p>To start the server, first off make sure you are in a screen session by typing &#8220;screen -list&#8221; like below:</p>
<pre>mcserver@mcserver:~$ screen -list
There is a screen on:
 2434.tty1.mcserver        (01/09/2011 12:58:57 PM)        (Attached)
1 Socket in /var/run/screen/S-mcserver.</pre>
<p>This indicates that you are in a screen session.  If you see &#8220;(no screens running)&#8221; then just type &#8220;screen&#8221; to start one.</p>
<p>Once in the screen session, type in the command shown below.  This is the exact same command as when we installed it, but this time we&#8217;re not going to shut it down.</p>
<ul>
<li>
<pre>java -Xmx1024m -Xms1024m -jar minecraft_server.jar nogui</pre>
</li>
</ul>
<p>To disconnect from the screen session, hit Ctrl-A and then the D key, this will drop you back to the shell prompt where you can then type &#8220;exit&#8221; to logout. The Minecraft Server will continue to run.</p>
<p>To stop the server that is already in a screen session, login to the server using SSH and the non-root user.  To reconnect with the screen session, type in &#8220;screen -r&#8221;.  You will be reconnected to the server and can then perform the following commands:</p>
<ul>
<li>say Server is going down</li>
</ul>
<p>This lets any players know that the server&#8217;s going down.</p>
<ul>
<li>save-all</li>
</ul>
<p>This tells the server to save the entire world.</p>
<ul>
<li>stop</li>
</ul>
<p>This tells the Minecraft Server to shutdown and exit. You will be dropped to a console prompt from there you can shutdown the server or do whatever you need to do.</p>
<h2>Other useful commands in MC Server</h2>
<pre>Console commands:
 help  or  ?               shows this message
 kick &lt;player&gt;             removes a player from the server
 ban &lt;player&gt;              bans a player from the server
 pardon &lt;player&gt;           pardons a banned player so that they can connect again
 ban-ip &lt;ip&gt;               bans an IP address from the server
 pardon-ip &lt;ip&gt;            pardons a banned IP address so that they can connect again
 op &lt;player&gt;               turns a player into an op
 deop &lt;player&gt;             removes op status from a player
 tp &lt;player1&gt; &lt;player2&gt;    moves one player to the same location as another player
 give &lt;player&gt; &lt;id&gt; [num]  gives a player a resource
 tell &lt;player&gt; &lt;message&gt;   sends a private message to a player
 stop                      gracefully stops the server
 save-all                  forces a server-wide level save
 save-off                  disables terrain saving (useful for backup scripts)
 save-on                   re-enables terrain saving
 list                      lists all currently connected players
 say &lt;message&gt;             broadcasts a message to all players</pre>
<h2>Quick and Easy Start script</h2>
<p>Below is a very simple script I wrote because I kept forgetting all the java commands.  In order to use it, save both lines below as a file (like &#8220;startmcserver.sh&#8221;) and then &#8220;chmod +x startmcserver.sh&#8221; so that way you can start the server simply by running &#8220;./startmcserver.sh&#8221;</p>
<pre>#!/bin/bash
java -Xmx1024m -Xms1024m -jar minecraft_server.jar nogui</pre>
<p>Remember to keep both lines intact.  It&#8217;s essentially the same Java command, but it&#8217;s easier to type.</p>
<p>Have fun and Happy minecrafting!</p>
<p>FIRESTORM_v1</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2011/01/09/installing-minecraft-server-in-ubuntu-server/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>Dead Dockstar Resurrected with JTAG!</title>
		<link>http://www.yourwarrantyisvoid.com/2010/09/08/dead-dockstar-resurrected-with-jtag/</link>
		<comments>http://www.yourwarrantyisvoid.com/2010/09/08/dead-dockstar-resurrected-with-jtag/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 17:08:38 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[How-To's]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Dockstar]]></category>
		<category><![CDATA[JTAG]]></category>
		<category><![CDATA[seagate]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=595</guid>
		<description><![CDATA[The reason I haven&#8217;t written any more about my fun with the Dockstar was that due to an unfortunate set of circumstances I was left with a bricked dockstar. (read: I did something stupid.)  After performing a lot of research and thanks to a bunch of people over at the PlugApps.com Forum site who helped [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/Dead-Dockstar-plus-JTAG-equals-WIN.jpg"><img class="aligncenter size-full wp-image-594" title="Dead Dockstar plus JTAG equals WIN" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/Dead-Dockstar-plus-JTAG-equals-WIN.jpg" alt="Hey, I never said I was a graphics designer.  This was created in MS Paint after 15 minutes searching for a zombie icon and a JTAG icon or an angel I could slap JTAG over. " width="473" height="76" /></a></p>
<p>The reason I haven&#8217;t written any more about my fun with the Dockstar was that due to an unfortunate set of circumstances I was left with a bricked dockstar. (read: I did something stupid.)  After performing a lot of research and thanks to a bunch of people over at the <a href="http://plugapps.com/forum" target="_blank">PlugApps.com Forum site</a> who helped me, I was able to get it running.  Read more for a complete list of what you will need including how to build an adapter and where to get the needed JTAG kit.<span id="more-595"></span></p>
<h2>Before we begin</h2>
<p>This document demonstrates how to recover your Dockstar and upload a custom bootloader to it using a JTAG cable.  JTAG is used for low-level in-circuit debugging of embedded applications and is very hardware specific. If you are familiar with working with Linksys routers and uploading custom firmware to them, you have heard of the term bricking and you have more than likely heard of something called JTAG that is used to recover it.</p>
<p>Because of the nature of JTAG and the fact that manufacturers don&#8217;t typically like us having access to the JTAG port, these ports are often hidden in many different locations, usually unmarked or unpopulated headers, or other odd locations and is the way that the manufacturer loads the firmware for the very first time on to a new device.</p>
<p>By using JTAG, we can place the hardware into a &#8220;debug&#8221; mode where we can manipulate the microprocessor&#8217;s core functionality.  We can also send instructions to it, monitor responses from it, or even pause the chip, leaving it in a state of suspended animation until we issue the command to start it up again or reset the device.</p>
<p>In this particular howto, we will cover how to use the debug mode of the Marvell chip in the Dockstar to upload a new boot loader in order to rewrite the bootloader to the onboard Flash which will result in a working, new Dockstar.  Please note that if you have NOT bricked your dockstar, there is no need to perform the steps in this howto.  This is only for bricked dockstars that have been verified with a serial adapter to be dead. (A dead dockstar will produce NO serial output and the front panel LED will not light up when power is applied.)</p>
<h2>Legal Disclaimer</h2>
<p>By performing the steps outlined in this document, you agree not to hold firestorm_v1, YourWarrantyIsVoid.com or any other linked sites, forums, companies, liable if you really screw something up.  You can also not hold any of these entities responsible for data loss, physical damage, emotional trauma, spousal abuse or any other act of whatever god(s) that you may have happen to you.  In short, Read twice, type once, hit enter and don&#8217;t screw up.  If you&#8217;re at this point, then you&#8217;ve already come to terms that your dockstar may be unrecoverable already so deal with it.</p>
<h2>Parts List</h2>
<p>In order to perform this recovery, you will need the following items:</p>
<ol>
<li>The dead seagate dockstar and power supply.</li>
<li>A handful of 2.0mm female connectors or one 2.0mm female connector with at least 10 pins (5 pins in 2 rows)</li>
<li>A 10 pin header that matches your PCB 2.5mm spacing  (again, 5 pin, 2 row)</li>
<li>A bit of holed PCB board 2.5mm pin spacing. (Radio Shack is good for this kind of stuff)</li>
<li>A CA-42 cable with the appropriate pins as <a href="http://www.yourwarrantyisvoid.com/2010/07/21/seagate-dockstar-add-an-accessible-serial-port/" target="_blank">outlined in my previous Dockstar post</a>.</li>
<li>A handful of extra breadboard jumpers.</li>
<li>Superglue</li>
<li>A Windows PC (2k or XP, untested on vista/7 although plugapps forums says it should work.) with a Parallel Port</li>
<li>Whatever provisions needed for the CA-42 cable to work properly.  (I have to use a linux box to SSH to, you can do the same or if your Windows computer works with the CA42 cable, you can use that as well.  You don&#8217;t need two PCs for this operation.)</li>
<li>A TAIO Buffered/Unbuffered &#8220;Universal&#8221; Parallel Port JTAG module kit (<a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=270528612875" target="_blank">Here&#8217;s the eBay seller where I got mine, ~$21.00 out the door</a>) and a Parallel cable extension (Male to Female) so that you can reach it without having to get behind your PC. For my setup, I used an old iomega Parallel/SCSI Zip drive cable. I also recommend the ebay link as this is the seller that I purchased mine from and it comes with a lot of extra jumpers that are very useful for this project.</li>
<li>A USB A to USB mini B cable (for powering up the JTAG adapter).</li>
<li>Glue gun with extra gluesticks</li>
<li>Heatshrink tubing and lighter/heat source</li>
<li>In lieu of building/reinforcing your JTAG cable, you can use a laptop hard drive adapter (3.5 IDE to 2.5IDE) if you&#8217;re in a pinch and just need to get it running.</li>
</ol>
<p>In addition to the above items, you will need the following software applications:</p>
<ol>
<li><a href="http://www.plugapps.com/forum/download/file.php?id=20" target="_blank">Kragorn&#8217;s copy of dockstar.cfg</a> &#8211; <a href="http://www.yourwarrantyisvoid.com/downloads/files/dockstar.zip" target="_blank">Mirrored Here</a></li>
<li><a href="http://www.freddiechopin.info/index.php/en/download/category/4-openocd" target="_blank">A copy of OpenOCD</a> &#8211; <a href="http://www.yourwarrantyisvoid.com/downloads/files/openocd-0.4.0.zip" target="_blank">Mirrored Here</a></li>
<li>A copy of the <a href="http://jeff.doozan.com/debian/uboot/uboot-original-mtd0.kwb" target="_blank">Jeff Doozan&#8217;s custom USB-boot capable u-boot</a> (Recommended!) (<a href="http://www.yourwarrantyisvoid.com/downloads/files/uboot-original-mtd0.kwb" target="_blank">Mirrored Here</a>) or a copy of another factory or custom uBoot.  If you want to compile your own, there&#8217;s a great write-up here: <a href="http://jeff.doozan.com/debian/uboot/" target="_blank">http://jeff.doozan.com/debian/uboot/</a></li>
<li>A copy of PuTTY for Serial/Telnet communication.  You can <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">download it here</a>.</li>
</ol>
<h2>Getting Started</h2>
<p>This howto will be divided up into several sections:</p>
<p><strong>Section I:</strong>Building an adapter cable &#8211; This section will cover how to build the required cable from spare 2MM connectors or if you already have the proper cable, this will describe how to reinforce it for repeated use using heatshrink tubing. I call it a smokestack cable because it resembles a small smokestack sticking out of the Dockstar&#8217;s mainboard.</p>
<p><strong>Section II:</strong> Wiring it all up &#8211; This will cover the Dockstar&#8217;s pinout, the TAIO parallel port pinout, the serial port pinout and how to wire it up together.</p>
<p><strong>Section III:</strong> Performing the JTAG recovery &#8211; This is where the actual recovery process takes place now that we have everything wired up.</p>
<p><strong>Section IV:</strong> Notes and credits &#8211; As much as I&#8217;d like to say this was all my doing, truth is it&#8217;s not.  I couldn&#8217;t have done it without some great people from the PlugApps forums.</p>
<p>Each section will have lots of pictures that you can use as a guide to make sure you&#8217;re making the right connections.</p>
<h2><span style="color: #ff0000;"><em><span style="text-decoration: underline;"><strong>BIG FAT OBNOXIOUS WARNING!!!</strong></span></em></span></h2>
<p>Although there are as many JTAG adapters on the market as there fish in the sea, I can not cover each and every device&#8217;s unique configuration options. Generally the JTAG port is a universal standard but many vendors implement their own standard, have other standards that they choose to leave out and their pin configurations may not match what is given here.  This article is based on my experience performing the JTAG restoration of a dockstar I broke using the equipment and the software outlined above.  If you are new to JTAG, I recommend using the versions and adapter board listed as other devices/software may not work in the same way.  When in doubt, go with what you know!</p>
<h2>Section I: Building out the JTAG adapter cable.</h2>
<p>The dockstar&#8217;s JTAG port uses a 2.0 mm spacing and while it&#8217;s good for tight spaces, isn&#8217;t exactly ideal when dealing with breadboard jumpers as most breadboards have a 2.5mm spacing and the jumpers have connectors to match.  In this instance I felt that since I was going to be working on actually developing code for the Dockstar, the inevitable would happen and I would end up bricking it through a random error (namely user failure) and would need a quick and reliable connector that I could use to quickly connect and disconnect the JTAG port as needed during restore and development.</p>
<p>I checked out EPO and managed to find several 2.0mm spaced connectors however these were in groups of three and while they would work, would require significant effort to harden the connectors to something that could stand the test of repeated connections and disconnections. So let&#8217;s get started.</p>
<div id="attachment_611" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/conntest.jpg"><img class="size-medium wp-image-611" title="Connector Test" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/conntest-300x225.jpg" alt="Connector Test" width="300" height="225" /></a><p class="wp-caption-text">Checking the connectors to make sure they would work</p></div>
<p>This is a shot of the connectors standing out of the Dockstar.  Since I had four connectors with 3 pins each, this means that I had two pins that hung over the connector block on the Dockstar.  Since these two wires were not needed, I cut them and removed the metal connector from inside the plastic, leaving 10 wires for 10 pins of the dockstar&#8217;s JTAG port.  We&#8217;ll deal with the two vacant holes later.</p>
<p><strong>Little known fact:</strong> The pin spacing on the Dockstar&#8217;s JTAG port is identical to that of a laptop hard drive (which is why this part of the process is optional.)  In a pinch, you can use a laptop IDE adapter similar to <a href="http://www.geeks.com/details.asp?invtid=HD-108&amp;cat=CBL" target="_blank">this one</a> (in fact I own several exactly like this).  If you decide to use a laptop IDE adapter, use the part of the adapter <strong>opposite the power connector</strong>.</p>
<p>Since the goal is to harden the four little connectors to one single connector, I used a dead laptop hard drive and superglued the four connectors together. <strong>USE THE SUPERGLUE SPARINGLY!!</strong> You do not want to superglue your connectors to a hard drive so only put a tiny amount. It also helps to put a dab of glue on one connector, then put the connectors together as you&#8217;re pushing them onto the laptop HD pins.  Make sure they are completely seated so they will be even as possible.  If you see the pins of the laptop HD, you&#8217;re not down far enough.</p>
<div id="attachment_612" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/connglue.jpg"><img class="size-medium wp-image-612" title="Glued 2.0MM connectors" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/connglue-300x225.jpg" alt="Glued 2.0MM connectors curing on a laptop HD." width="300" height="225" /></a><p class="wp-caption-text">Glued 2.0MM connectors curing on a laptop HD.</p></div>
<p>Once you get all four connectors onto the laptop HD and properly aligned, let it cure for at least an hour.  This will ensure that the superglue bonds correctly and the connector doesn&#8217;t fall apart later.</p>
<div id="attachment_613" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/glueset.jpg"><img class="size-medium wp-image-613" title="Glued connectors after setting." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/glueset-300x225.jpg" alt="Glued connectors after the superglue set." width="300" height="225" /></a><p class="wp-caption-text">Glued connectors after the superglue set.</p></div>
<p>Now that the superglue has set, check that it still fits in the Dockstar. On the connectors used here, my wires were quite long. To alleviate yet another mass of cable snakes on my desk, I cut them down to about three inches, which should be big enough to handle, but small enough to not get in the way. You can cut your wires to any length desired.</p>
<p>In order to solder to the 10 pin header and ensure that the wires would not seperate from use, I chose to use a small piece of PCB as shown below.</p>
<div id="attachment_614" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrbb.jpg"><img class="size-medium wp-image-614" title="Header and Breadboard" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrbb-300x225.jpg" alt="Header and Breadboard" width="300" height="225" /></a><p class="wp-caption-text">Header and Breadboard</p></div>
<p>Keep in mind that if you cut your own, you&#8217;re soldering 10 wires into a 10 pin header, so you will need a 20 hole piece of PCB (5 holes by 4 holes).  The idea here is that the wires will come in on the component side of the PCB and wrap around it then go further down to the 2.0mm connector we just glued together.   Go ahead and solder the header into the center two rows of the PCB as shown below(Leave one row of 5 on each side of the header).</p>
<div id="attachment_615" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrinst.jpg"><img class="size-medium wp-image-615" title="Header and PCB soldered together" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrinst-300x225.jpg" alt="Header and PCB soldered together" width="300" height="225" /></a><p class="wp-caption-text">Header and PCB soldered together</p></div>
<p>Strip off a 1/8 inch off of each wire on one side of the glued connector and solder to the PCB. Keep your pinout the same and do not cross the wires.   Below, you can see that the first half of the PCB and the wires has been soldered.</p>
<div id="attachment_616" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrsolder.jpg"><img class="size-medium wp-image-616" title="Header with one side soldered" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrsolder-300x225.jpg" alt="Header with one side soldered" width="300" height="225" /></a><p class="wp-caption-text">Header with one side soldered.</p></div>
<p>Now comes the fun part.  Trying to solder the other side of the PCB without burning yourself or the other wires and without creating unnecessary solder bridges to other pins.  Below is a shot of my connector, partially soldered.</p>
<div id="attachment_617" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrsolder2.jpg"><img class="size-medium wp-image-617" title="Second set of wires to solder" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrsolder2-300x225.jpg" alt="Second set of wires to solder" width="300" height="225" /></a><p class="wp-caption-text">Second set of wires to solder</p></div>
<p><strong>Protip:</strong> If you don&#8217;t already have a pair, I highly recommend you get a pair of Helping Hands for soldering like this. <a href="http://www.radioshack.com/product/index.jsp?productId=3928375&amp;CAWELAID=437363031" target="_blank">Available at Radio Shack</a> and many other electronics outlets.  Below is a picture of the completely soldered PCB.</p>
<div id="attachment_618" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrdone.jpg"><img class="size-medium wp-image-618" title="Completed PCB soldering" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrdone-300x225.jpg" alt="Completed PCB soldering" width="300" height="225" /></a><p class="wp-caption-text">Completed PCB soldering</p></div>
<p>Now that the PCB is soldered, go ahead and check your wiring!  Don&#8217;t do any pin swaps, make sure that pin 1 on the 2.0mm connector is pin 1 on the header, pin2 on the 2.0mm connector is pin 2 on the header and so on. Also make sure that you didn&#8217;t bridge between pins on the PCB. Before you slip on the shrinkwrap, we&#8217;re going to reinforce the body of the adapter.  Get your hot glue gun ready and shoot a large bead of glue down the length of the wire. Once that is done, shoot some more hotglue around the connector to reinforce the wires coming out of the connector. Below is a picture of the hotglue process.</p>
<div id="attachment_620" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrhg.jpg"><img class="size-medium wp-image-620" title="Header hotglued" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrhg-300x225.jpg" alt="Wires hotglued together and header is wrapped in hotglue." width="300" height="225" /></a><p class="wp-caption-text">Wires hotglued together and header is wrapped in hotglue.</p></div>
<p>The hotglue on the wire-side of the plug will make sure that the wires don&#8217;t wiggle around inside the heatshrink tube and fail later on.  After you&#8217;ve properly applied the hot glue, put the tip of the hotglue gun over the two holes that we vacated earlier.  Keep consistent pressure on the hotglue gun and press the trigger.  This will inject hot glue into the holes left behind when the excess pins were extracted and ensure that the connector is &#8220;keyed&#8221; and will prevent a one-off connection (and prevent further headache).  This is what the hotglue injected connector looks like.</p>
<div id="attachment_621" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrkey.jpg"><img class="size-medium wp-image-621" title="Key-glued header" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrkey-300x225.jpg" alt="Key glued header." width="300" height="225" /></a><p class="wp-caption-text">Key-glued header.</p></div>
<p>Take one moment and check your cable one last time.  Make sure that the pins are wired one to one.  Once you&#8217;re ready, get the heatshrink tube and cut it to a little bit less than the length of your adapter.  Below, you can see the heatshrink and adapter lengths I used. (This image was taken before the hot glue was applied.)</p>
<div id="attachment_622" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrswrap.jpg"><img class="size-medium wp-image-622" title="Header adapter and shrinkwrap." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrswrap-300x225.jpg" alt="Header adapter and shrinkwrap." width="300" height="225" /></a><p class="wp-caption-text">Header adapter and shrinkwrap.</p></div>
<p>Slip over the heatshrink wrap over the connector (it may not fit over the PCB) and leave just a little bit so that it overlaps the 2MM connector end.  Apply even heat to the 2MM connector end first so that it will shrink and hold the heatshrink wrap in place as you apply even heat to the rest of the connector. When completed, you should have a connector resembling the below image.</p>
<div id="attachment_623" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrtop.jpg"><img class="size-medium wp-image-623" title="Heatshrink wrapped adapter." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrtop-300x225.jpg" alt="Heatshrink wrapped adapter." width="300" height="225" /></a><p class="wp-caption-text">Heatshrink wrapped adapter.</p></div>
<p>Now take the hotglue gun and fill in the gap between the heatshrink wrap and the bottom of the PCB. If your gluegun has a fine tip, also shoot some hot glue into the open end of the shrinkwrap.  This will further harden the connector and ensure that it doesn&#8217;t flex and damage the connections.  You may have something looking like the below image.</p>
<div id="attachment_624" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrtopgl.jpg"><img class="size-medium wp-image-624" title="Header Top glue bead" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/hdrtopgl-300x225.jpg" alt="Header Top with glue bead." width="300" height="225" /></a><p class="wp-caption-text">Header Top with glue bead.</p></div>
<p>For a final touch, wrap and distribute hot glue around the wiring from a little bit over the heatshrink wrap all the way to the black part of the header wiring.  It&#8217;s ok to use a large amount of glue as this will make sure that the connector is properly protected.  As a last step, connect it to the Dockstar and make sure it fits.  Once finished, you should have something resembling the below image.</p>
<div id="attachment_625" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/smokestack.jpg"><img class="size-medium wp-image-625" title="Completed Smokestack adapter on Dockstar." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/smokestack-300x225.jpg" alt="Completed Smokestack adapter on Dockstar." width="300" height="225" /></a><p class="wp-caption-text">Completed Smokestack adapter on Dockstar.</p></div>
<p>Now, you have a completed Smokestack adapter.  You can use this for any device that has 2.0MM connector pitch and for any purpose.  Since the header on top is a 1 to 1 representation of the connector on bottom, you can use this anywhere where you need to use breadboard connectors for a temporary connection to these headers.</p>
<h2>Section 2: Wiring it all up.</h2>
<p>With a completed smokestack adapter, now you can wire it all up together  but before we begin, it is highly recommended to solder in a ground pin.  This ground pin will be used to ensure that the ground used by the JTAG adapter&#8217;s reference ground will be the same as the ground used by the Dockstar.  While it may not be required, it is recommended as a difference in ground may end up corrupting data being sent and received as part of the update.  To do that, we can use any of the ground planes, shields or open spots on the PCB.  I preferred to use one of the three USB shields as the shield&#8217;s purpose is the same as the GND connection that we are trying to establish.  For this, we&#8217;ll use a jumper pin with no plastic on it.  Start off by applying a small bead of solder to the USB shield as shown below.</p>
<div id="attachment_627" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/dsgnd.jpg"><img class="size-medium wp-image-627" title="Dockstar USB shield prep for pin" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/dsgnd-300x225.jpg" alt="Dockstar USB shield pin prepped for header pin." width="300" height="225" /></a><p class="wp-caption-text">Dockstar USB shield pin prepped for header pin.</p></div>
<p>Apply the heat from the soldering iron to the bead again and drop in the jumper pin.  Remove heat and do not touch the jumper pin until the connector has cooled.  Do not apply heat for a long period of time otherwise you may damage the USB port itself.  Below is the completed ground pin installation:</p>
<div id="attachment_628" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/dsgndpin.jpg"><img class="size-medium wp-image-628" title="Dockstar Ground pin installed." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/dsgndpin-300x225.jpg" alt="Dockstar Ground pin installed." width="300" height="225" /></a><p class="wp-caption-text">Dockstar Ground pin installed.</p></div>
<p>Now, we have a properly installed Ground pin that is easy to connect and remove and we also have our smokestack JTAG adapter.  At this point, we can start wiring up the JTAG connector up and prepare for recovery of our dead dockstar.  If you went with my suggestion and ordered the TIAO Parallel JTAG adapter, you should have received the following items.  JTAG board (blue with DB25 connector), Short jumpers (left of  JTAG board) and Long Jumpers (above board) as shown in the picture below.</p>
<div id="attachment_626" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/JTAGkit.jpg"><img class="size-medium wp-image-626" title="JTAG kit" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/JTAGkit-300x225.jpg" alt="TIAO Parallel JTAG kit." width="300" height="225" /></a><p class="wp-caption-text">TIAO Parallel JTAG kit.</p></div>
<p>The below image is the entire wiring diagram for the Dockstar JTAG adapter.  As long as you keep pin 1 on the dockstar as pin 1 on the smokestack adapter, you should have no problems with the connection.  As mrbill and Klingon and several others pointed out in the PlugApps forums, the nSRST line (orange) and the DINT(purple) leads are both not connected.  Pin 1 on the Dockstar/Smokestack are also left unconnected as we will use the Dockstar&#8217;s power supply to power the board while it is connected to the JTAG adapter.  Additionally, it is crucial to plug the USB cable into the JTAG adapter and into a PC to power the onboard buffer chip.  Without the USB cable connected, the adapter will not function.  There is also an LED on the JTAG adapter that will light when the device has sufficient power. Click on the below image to get a much larger image.</p>
<div id="attachment_629" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/dockstarjtag.jpg"><img class="size-medium wp-image-629" title="Dockstar/TAIO JTAG connection table." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/dockstarjtag-300x185.jpg" alt="Dockstar/TAIO JTAG connection table." width="300" height="185" /></a><p class="wp-caption-text">Dockstar/TAIO JTAG connection table.</p></div>
<p>The Dockstar layout diagram on the right hand side of the image is bundled together to provide a reference.  Pin 1 of the JTAG port is on the LED side of the jumper and is towards the center of the board and is designated by a black dot in the image and a white triangle on the dockstar board itself as shown below.  The picture of the Dockstar is rotated 90 degrees clockwise to the layout diagram in the image above.</p>
<div id="attachment_630" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/DSJTAGport.jpg"><img class="size-medium wp-image-630" title="Dockstar JTAG port showing pin 1" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/DSJTAGport-300x225.jpg" alt="Dockstar JTAG port showing pin 1" width="300" height="225" /></a><p class="wp-caption-text">Dockstar JTAG port showing pin 1</p></div>
<p>You can use the following images as a reference that your dockstar is connected properly.  The below image is a picture of my CA-42 adapter&#8217;s serial header as discussed in the <a href="http://www.yourwarrantyisvoid.com/2010/07/21/seagate-dockstar-add-an-accessible-serial-port/" target="_blank">serial port post</a>. Also, since the serial port post discussed soldering to the header, if you haven&#8217;t done so already, remove the existing serial port wires so that your smokestack adapter will fit.  In the image below, the three jumpers coming off of the pins are colored as they would be if you had just cut and stripped back the CA-42&#8242;s cable. Remember that your CA-42 cable may be different!</p>
<div id="attachment_636" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/DSCF0705.jpg"><img class="size-medium wp-image-636" title="Serial Port jumpers from CA42 USB cable." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/DSCF0705-300x225.jpg" alt="Serial Port jumpers from CA42 USB cable." width="300" height="225" /></a><p class="wp-caption-text">Serial Port jumpers from CA42 USB cable.</p></div>
<p>The below image shows the top of the smokestack adapter and the respective colors.  You can see that the black wire for GND is attached to the USB shield pin we installed earlier. Remember, pin 1 and pin 7 on the smokestack are left not connected!</p>
<div id="attachment_637" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/DSCF0700.jpg"><img class="size-medium wp-image-637" title="Top of smokestack adapter with jumpers." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/DSCF0700-300x225.jpg" alt="Top of smokestack adapter with jumpers." width="300" height="225" /></a><p class="wp-caption-text">Top of smokestack adapter with jumpers.</p></div>
<p>The below image shows the JTAG adapter, properly wired and ready to go.  You can see the device is powered by the USB connector and that the orange and purple wires have been spared off.   Although the flash from my camera drowned out the red power LED, you will need to make sure that your LED is lit.  Please note, the JTAG adapter does require power however it will not show up as anything in Windows as we are using the USB port strictly for the power lines for the JTAG buffer.</p>
<div id="attachment_638" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/DSCF0701.jpg"><img class="size-medium wp-image-638" title="TIAO JTAG wired up and ready." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/DSCF0701-300x225.jpg" alt="TIAO JTAG wired up and ready." width="300" height="225" /></a><p class="wp-caption-text">TIAO JTAG wired up and ready.</p></div>
<p>An aerial view of the whole mess. <img src='http://www.yourwarrantyisvoid.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />     Yes, I know my desk is still messy.</p>
<div id="attachment_639" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/DSCF0708.jpg">C:\Program Files\OpenOCD\0.4.0<img class="size-medium wp-image-639" title="Wow, what a rats nest!" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/DSCF0708-300x225.jpg" alt="Wow, what a rats nest." width="300" height="225" /></a><p class="wp-caption-text">Wow, what a rats nest.</p></div>
<p>Now that all of the required connections have been made, it&#8217;s time to get busy with the software. Plug in the power cable to your dockstar and proceed to the next section.</p>
<h2>Step III: Software</h2>
<p>If you haven&#8217;t already, go back up to the Parts list and download Kragorn&#8217;s dockstar.cfg, OpenOCD and the uBoot image.</p>
<p>Install the OpenOCD software and accept the defaults.  Once completed, unzip the dockstar.zip and copy dockstar.cfg to C:\Program Files\OpenOCD\0.4.0\board and then copy your uboot image to C:\Program Files\OpenOCD\0.4.0  It would be recommended to rename it to just &#8220;uboot.bin&#8221; so that way you won&#8217;t have to retype that complicated line later on.</p>
<p>Now that we have all the proper software in place let&#8217;s discuss what all is going to happen.  When you start OpenOCD in a DOS window, it will in turn start a telnet server on localhost, port 4444.  You will use PuTTY to connect to the telnet server process and issue commands to OpenOCD.   In conjunction with that, you will need a second PuTTY session established to COM1 (if your windows machine has the CA-42 cable plugged into it) or to SSH to the machine you have the cable connected to. The reason is that once you enter specific commands on the telnet window, you need visibility to the other window (serial or SSH) to see if your dockstar is booting. <span style="text-decoration: underline;"><em><strong>Timing is critical!</strong></em></span> From here on out, commands and things to look for in output are in <strong>bold</strong> with other important text in bold, italics and underline.</p>
<p>In my configuration, my windows computer is what will run OpenOCD and the telnet session, and a nearby Linux box will have the SSH session with an application called minicom.</p>
<p>Start off by opening a DOS window (Start -&gt; Run -&gt; &#8220;cmd&#8221; )</p>
<p>Type the following command in exactly as shown:  <strong> </strong></p>
<pre><strong>openocd -f board/dockstar.cfg</strong></pre>
<p>You should get output similar to the below image.  If you get what I have, then you can proceed to the next step.  If you get any errors, check your wiring. Make sure only those pins shown in the above images are what you have hooked up. Also, you may get a  Windows Firewall exception error.  If you do, just hit &#8220;Allow&#8221; otherwise you won&#8217;t be able to talk to OpenOCD.</p>
<div id="attachment_640" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/OpenOCD-1.jpg"><img class="size-medium wp-image-640" title="OpenOCD successful startup" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/OpenOCD-1-300x148.jpg" alt="OpenOCD successful startup." width="300" height="148" /></a><p class="wp-caption-text">OpenOCD successful startup</p></div>
<p>If OpenOCD is running without errors, minimize the DOS box and start PuTTY. Use the below configuration to establish a connection to the telnet process that OpenOCD started.</p>
<div id="attachment_644" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/puttytelnet.jpg"><img class="size-medium wp-image-644" title="PuTTY Telnet settings" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/puttytelnet-300x286.jpg" alt="PuTTY Telnet settings" width="300" height="286" /></a><p class="wp-caption-text">PuTTY Telnet settings</p></div>
<p>When you connect, you should get a window that says &#8220;<strong>Open On-Chip Debugger</strong>&#8221; with a caret &#8220;&gt;&#8221; prompt.  Before we continue, if you haven&#8217;t already pulled up your serial session to the dockstar, you will need to do that now.  The issue is that from here on out, we will either be communicating with OpenOCD via Telnet, or communicating with the Dockstar via serial.</p>
<p>Now that you&#8217;ve established your connection to OpenOCD, perform the next two steps.</p>
<ul>
<li>Type the command <strong>&#8220;init&#8221;</strong> into the telnet session and hit enter.</li>
<li>Type the command <strong>&#8220;sheevaplug_init</strong>&#8221; into the telnet session and hit enter.</li>
</ul>
<p>Now, here is the hard part. The routine sheevaplug_init from above will attempt to halt the processor.  The Marvell chip has two types of halt, one of which labelled &#8220;ARM&#8221; and one labelled &#8220;Thumb&#8221;.  If your output resembles the below output (processor halted in <strong>Thumb</strong> state), you will need to perform the next steps otherwise skip down to the next section. When in doubt,  continue with the instructions below.</p>
<div id="attachment_645" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/Thumbstatehalt.jpg"><img class="size-medium wp-image-645" title="Thumb State Halt is no good!" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/Thumbstatehalt-300x186.jpg" alt="Thumb State Halt is no good!" width="300" height="186" /></a><p class="wp-caption-text">Thumb State Halt is no good!</p></div>
<p><strong>If you got <em>&#8220;Target halted in Thumb State&#8221;</em></strong>: There is some additional trickery that must be performed.   The issue is that the processor must be halted in ARM state as this allows OpenOCD to communicate with the processor properly.</p>
<ul>
<li>Hit Ctrl-C in your OpenOCD session. Your PuTTY session will break and generate an error. Dismiss the error and restart OpenOCD.</li>
<li>Hold down the reset button <span style="text-decoration: underline;"><strong>and keep it held down</strong></span> with one hand and with the other, type &#8220;<strong>sheevaplug_init</strong>&#8221; and hit enter.  Ignore the error messages.</li>
<li> Type in the command &#8220;<strong>halt</strong>&#8221; . <em><strong>DO NOT HIT ENTER YET!</strong></em></li>
<li><em><span style="color: #ff0000;"><strong>Release the RESET switch and simultaneously hit Enter.</strong></span></em></li>
<li>You should see that the processor was halted in ARM state.
</li>
<li>Type in &#8220;<strong>sheevaplug_init</strong>&#8221; and hit enter. No output should be generated from this command.
</li>
</ul>
<p>Check your telnet session output with my output in the screenshot below.  Make sure your output matches the screenshot before proceeding.</p>
<div id="attachment_647" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/properhalt1.jpg"><img class="size-medium wp-image-647" title="Properly halted dockstar" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/properhalt1-300x186.jpg" alt="Properly halted dockstar" width="300" height="186" /></a><p class="wp-caption-text">Properly halted dockstar</p></div>
<p>Now for the ultimate test.  We need to probe the NAND flash to make sure that the processor can communicate with it. Type in &#8220;<strong>nand probe 0</strong>&#8221; (zero) and hit enter.  If everything is correct, you should get text returned similar to &#8220;<strong>NAND flash device &#8216;NAND 256MiB 3,3V 8-bit&#8217; found</strong>&#8220;.  If you get any other message <strong>ESPECIALLY</strong> anything about Unknown Manufacturer, restart OpenOCD and try again.  Here is my output so far:</p>
<div id="attachment_648" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/nandprobe0.jpg"><img class="size-medium wp-image-648" title="Nand Probe successful!" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/nandprobe0-300x186.jpg" alt="Nand Probe Successful!" width="300" height="186" /></a><p class="wp-caption-text">Nand Probe Successful!</p></div>
<p>Now that the processor has been correctly identified by OpenOCD and the processor has properly identified the flash memory, we can now load the image into the Dockstar&#8217;s RAM and tell the processor to execute it. Type in <strong>load_image uboot.bin 0&#215;800000</strong> (zero, letter x, 8 and five zeros). If you renamed your uboot file something other than &#8220;uboot.bin&#8221; then substitute as needed.  This will take a couple of minutes as the image is transferred. Here is the output of what I have after the image loaded into RAM:</p>
<div id="attachment_649" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/loadimage.jpg"><img class="size-medium wp-image-649" title="Load_Image successful!" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/loadimage-300x186.jpg" alt="Load_Image successful!" width="300" height="186" /></a><p class="wp-caption-text">Load_Image successful!</p></div>
<p>When you get the caret prompt back &#8220;&gt;&#8221;, type in the command &#8220;<strong>resume 0&#215;800200</strong>&#8221; and check your serial connection for activity.  At this point, you can minimize the telnet session.  Now we will be dealing expressly with the serial connection.  Depending on your connection method, you may have a different window, but the text is the same.  As soon as you hit enter on the resume command, you should notice that the LED on your once dead dockstar is now blinking. Immediately switch over to the serial connection and hit a key to disrupt the boot process. If you did it right, you should see that the command prompt now shows <strong>Marvell&gt;&gt;</strong> as shown in the screenshot below:</p>
<div id="attachment_650" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/intboot.jpg"><img class="size-medium wp-image-650" title="Interrupted boot sequence." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/intboot-300x186.jpg" alt="Interrupted boot sequence." width="300" height="186" /></a><p class="wp-caption-text">Interrupted boot sequence</p></div>
<p><strong>DO NOT DISCONNECT POWER FROM THE DOCKSTAR YET! WE ARE NOT DONE.</strong> The Dockstar has successfully loaded and ran the uboot commands in RAM however if we hit the reset switch or powercycle the dockstar, the device will return to it&#8217;s zombie state, and we will have to do it all over again. The only thing left to do is to prepare and write the image to flash.</p>
<p>If you were like me and you accidentally typed in &#8216;nand erase&#8221; and bricked your dockstar, you will need to re-erase the flash to reload it.  If you bricked your dockstar by another method, skip this step and go on to the next paragraph. To do this, type in &#8220;<strong>nand erase</strong>&#8220;.  This will erase the entire flash chip.  Now to write the working uboot to flash, use the command &#8220;<strong>nand write.e 0&#215;800000 0&#215;0 0&#215;80000</strong>&#8220;  (zero x eight then 5 zeroes, zero x zero, then zero x eight then four zeros). You should get a message that the nand write was successful similar to the below screenshot.</p>
<div id="attachment_651" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/writeflash.jpg"><img class="size-medium wp-image-651" title="Successful flash write." src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/09/writeflash-300x186.jpg" alt="Successful flash write." width="300" height="186" /></a><p class="wp-caption-text">Successful flash write.</p></div>
<p>If you did not brick your dockstar by an errant nand erase command, you will want to use &#8220;<strong>nand erase 0 0&#215;0 0xa0000</strong>&#8221; (zero, zero x zero, zero x a then four zeros).  The reason for this difference is that if you didn&#8217;t erase your flash, this command will preserve the u-boot environment variables, otherwise you would have to recreate them later on.</p>
<p>Now, it&#8217;s time for the moment of truth.  Don&#8217;t start disconnecting wires just yet, simply tap the reset switch to load the uboot from the flash and test your recovery.   You will notice two key things:  Your uboot will be stuck in a permanent loop (assuming you didn&#8217;t interrupt autoboot) and the LED on the dockstar will alternate between flashing green and flashing orange as uboot cycles through.  This is because the dockstar can&#8217;t find a valid kernel or filesystem to boot from.  If you used the same version of the uBoot I listed above then you will notice that this uboot will attempt to boot off of USB key drives unlike the original factory image which opens up a LOT of opportunity. <img src='http://www.yourwarrantyisvoid.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>To clean up, simply exit the various windows you have open, and exit OpenOCD by hitting Ctrl-C.  Remove power from the Dockstar, then remove the smokestack adapter and the ground wire on the USB shield.  If you want to make sure (because you&#8217;re as paranoid as I am, reapply power after all the jumpers have been removed and make sure that the Dockstar&#8217;s LED continues to blink orange then blinks green and repeats.  This means that your dockstar is confirmed as running off it&#8217;s own flash.</p>
<p>Now get to hacking!</p>
<h2>Section IV: Notes and Credits</h2>
<p>This article was assembled using information and help from various sources.  I want to thank everyone listed below for your assistance in helping me with getting the Dockstar JTAG figured out.  It was definitely not easy for someone new to JTAG however it was an enjoyable learning experience once I got the bugs worked out,  even if I did scratch my head a lot.</p>
<p>From the PlugApps forums, I&#8217;d like to thank Admin, Kragorn, bzboi, klingon, ygator, mrbill, and jtagfun.</p>
<p>A special thanks to bzboi for the initial howto that most of the OpenOCD instructions were used from and to Admin for the starting post with the Dockstar&#8217;s JTAG diagram.</p>
<p>I&#8217;d also like to thank mrbill for getting me involved with these things. It&#8217;s all his fault that I even have a dockstar to break. <img src='http://www.yourwarrantyisvoid.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Thanks goes to Kragorn for finding out the proper settings in his dockstar.cfg so that all of us could unbrick after the inevitable &#8220;Oops&#8230;&#8221; moment.</p>
<p>Last, but not least, thanks goes out to Jeff Doozan for his work with uBoot and compiling in needed features into the bootloader so that we can use USB sticks as boot devices.</p>
<h2>Where do we go from here?</h2>
<p>The answer is &#8220;Where do you want to go?&#8221;  In my relatively short time with the Dockstar, I was working on getting OpenWRT compiled and installed on it.  OpenWRT is the same OS that they use for the Linksys and other branded routers and is pretty much it&#8217;s own distribution.  There are also processes on how to install Debian onto the dockstar, using a laptop drive and USB sled to run the OS.  There is a lot of people doing research and finding out other warranty voiding things to do with their dockstars so take a look around.</p>
<p>As far as me personally?  I have three of them and while one of them is going to be a small NAS fileserver, one of the more esoteric things I was planning on doing with mine is making it into a roving USB camera with wifi.  The idea is that the Dockstar&#8217;s mainboard would be the brains of the rover and could send commands to a Parallax BOE-BOT via a usb to serial converter.  Since the entire thing would be wireless off of a USB dongle, I could use the IP based connection to deliver video and commands via a custom written application.</p>
<p>I sincerely hope that you are able to recover your dockstar using the above process.  It&#8217;s no fun when you accidentally destroy something you have put so much work into however now you should be able to work on the Dockstar without fear that you&#8217;re going to damage it and prevent it from booting.  Also, if you decide to try custom boot loaders, you can do so worry free.</p>
<p>Happy Hacking!</p>
<p>FIRESTORM_v1</p>
<p><em> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2010/09/08/dead-dockstar-resurrected-with-jtag/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Hardware Porn: Seagate Dockstar teardown</title>
		<link>http://www.yourwarrantyisvoid.com/2010/07/14/hardware-porn-seagate-dockstar-teardown/</link>
		<comments>http://www.yourwarrantyisvoid.com/2010/07/14/hardware-porn-seagate-dockstar-teardown/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 01:00:20 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Hardware Pr0n]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Dockstar]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[seagate]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=504</guid>
		<description><![CDATA[I was given a very interesting product by a friend of mine that happened to catch a good deal on woot.com a few days ago.  Apparently Seagate has made a network fileserver device for their Freeagent Go line of portable USB drives called the Freeagent DockStar. (I can only think that this is a play [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-505" title="Seagate Logo" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/seagatelogo.png" alt="Seagate Logo" width="136" height="79" />I was given a very interesting product by a friend of mine that happened to catch a good deal on woot.com a few days ago.  Apparently Seagate has made a network fileserver device for their Freeagent Go line of portable USB drives called the Freeagent DockStar. (I can only think that this is a play on Battlestar Galactica&#8217;s Baystar &#8211; a cylon &#8220;aircraft-carrier&#8221; of sorts.)  When I went to look for pictures online of the hardware, I was dismayed to find nothing about the inside of the little thing.  So here they are in all their exposed glory, the innards of the Seagate Dockstar.</p>
<p><span id="more-504"></span></p>
<div id="attachment_506" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/Dockstar-box.jpg"><img class="size-medium wp-image-506" title="Dockstar box" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/Dockstar-box-300x225.jpg" alt="Dockstar box" width="300" height="225" /></a><p class="wp-caption-text">Dockstar box</p></div>
<p>This is the box that the Dockstar came in.  Having not bought a non-OEM seagate drive in ages, I was pleasantly surprised that they used normal cardboard instead of some plastic case for this device.  Seagate is really pushing their &#8220;Go Green&#8221; incentive by changing the entire box (even the box inside) with easy to recycle cardboard instead of that translucent plastic &#8220;tray&#8221; that normally accompanies electronics.  While not necessarily an indication of product performance, it does show that they care about the environment.</p>
<div id="attachment_507" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/Dockstar-contents.jpg"><img class="size-medium wp-image-507" title="Dockstar contents" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/Dockstar-contents-300x225.jpg" alt="Dockstar contents" width="300" height="225" /></a><p class="wp-caption-text">Dockstar contents</p></div>
<p>Inside the box, aside from the little &#8220;Getting Started Manual&#8221; is the following items:  A Universal power brick pre-fitted with the US style prongs, a shielded ethernet cable and of course, the dockstar itself.</p>
<div id="attachment_509" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/universal-plug.jpg"><img class="size-medium wp-image-509" title="universal plug sticker" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/universal-plug-300x225.jpg" alt="universal plug sticker" width="300" height="225" /></a><p class="wp-caption-text">universal plug sticker</p></div>
<p>Here&#8217;s a closeup of the universal plug and all it&#8217;s various warnings and certifications.  I have seen a shift towards these universal plugs and away from the more proprietary plugs that manufacturers would normally use as a cost saving process. Since there is no one world-wide standard on power for every country that Seagate does business with, why spend that money building 20+ different power adapters when all you need is one with different prongs to fit whatever country&#8217;s plugs you&#8217;re going to be selling to.</p>
<div id="attachment_510" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/up-details.jpg"><img class="size-medium wp-image-510" title="Universal Plug details" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/up-details-300x225.jpg" alt="Universal Plug details" width="300" height="225" /></a><p class="wp-caption-text">Universal Plug details</p></div>
<p>And, just because I&#8217;m a sucker for details (and I keep losing the power bricks), here&#8217;s the voltage and amperage rating of the power brick.  Output is 12vDC 2Amps with a positive tip.</p>
<div id="attachment_508" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-front.jpg"><img class="size-medium wp-image-508" title="dockstar front" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-front-300x225.jpg" alt="Dockstar front" width="300" height="225" /></a><p class="wp-caption-text">Dockstar front</p></div>
<p>Finally, we get to the dockstar to find what secrets it holds.  The front panel has one LED for device status and the USB mini-B port for the Freeagent drive to sit in.  Unlike most older-style USB devices, the Seagate Freeagent is powered entirely through the USB port, eliminating the need for two cables to power one device.  Overall it&#8217;s a simple presentation of what looks to be a fairly complex device.</p>
<div id="attachment_511" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-back.jpg"><img class="size-medium wp-image-511" title="Dockstar Back" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-back-300x225.jpg" alt="Dockstar Back" width="300" height="225" /></a><p class="wp-caption-text">Dockstar Back</p></div>
<p>The back of the dockstar has two USB ports, the Gigabit Ethernet port and the power port on it.  I would like for there to have been a link and an activity LED for the Ethernet port, but unfortunately this was not implemented.  I guess I&#8217;m a sucker for LEDs.</p>
<div id="attachment_512" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-side.jpg"><img class="size-medium wp-image-512" title="Right side of dockstar" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-side-300x225.jpg" alt="Right side of dockstar" width="300" height="225" /></a><p class="wp-caption-text">Right side of dockstar</p></div>
<p>The right side of the dockstar features another USB port and the reset switch for the device.  The left side of the dockstar (not pictured) only has cooling vents on the side.</p>
<div id="attachment_513" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-bottom.jpg"><img class="size-medium wp-image-513" title="dockstar bottom" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/dockstar-bottom-300x225.jpg" alt="Dockstar Bottom" width="300" height="225" /></a><p class="wp-caption-text">Dockstar Bottom</p></div>
<p>This is the bottom of the dockstar which has a large sticker that shows the serial numbers and MAC address of the device.  Of note, there was one number on this sticker which is formatted like some kind of product activation key and is formatted as follows:  six alphanumeric characters,  hyphen, six alphanumeric characters, hyphen, two alphanumeric characters, hyphen, six alphanumeric characters, hyphen, six alphanumeric characters.   At first glance, I thought these were hexadecimal numbers however the letters used were not between A-F and so it&#8217;s currently unclear what this number is for.  There is no mention of what this number is for in the documentation.</p>
<div id="attachment_514" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/spudger.jpg"><img class="size-medium wp-image-514" title="Gaining access to the insides" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/spudger-300x225.jpg" alt="Gaining access to the insides" width="300" height="225" /></a><p class="wp-caption-text">Gaining access to the insides</p></div>
<p>Typically on a device like this and most small consumer devices, there are four screws on the bottom (usually under the black slip-resistant dots) however the Dockstar doesn&#8217;t have any.  In order to gain access, I used a metal spudger to work the bottom away from the top half of the body.  There are two notches on each side of the square base, so you may need to use something flat like a spudger, small flathead screwdriver or a expansion slot blank to pry it open.</p>
<div id="attachment_515" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/just-opened.jpg"><img class="size-medium wp-image-515" title="Cracked the case" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/just-opened-300x225.jpg" alt="Cracked the case" width="300" height="225" /></a><p class="wp-caption-text">Cracked the case</p></div>
<p>Once you cracked the case open (hopefully without breaking it), you should see the small cable that connects the top USB port to the dockstar&#8217;s mainboard.  Carefully disconnect this cable and the two halves should now be seperated.</p>
<div id="attachment_516" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/mb-top.jpg"><img class="size-medium wp-image-516" title="Mainboard top view" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/mb-top-300x225.jpg" alt="Mainboard top view" width="300" height="225" /></a><p class="wp-caption-text">Mainboard top view</p></div>
<p>This is the dockstar in all it&#8217;s nude glory. The front of the device is to the right in this photograph. The small black square is Nanya 1Gb (comes out to ~128 megabytes)  DDR-2 RAM in a BGA package. <a href="http://www.nanya.com/NanyaAdmin/GetFiles.ashx?ID=502" target="_blank">Datasheet available here</a> and the large square is the device&#8217;s main processor.  From research I have performed, this appears to be a Marvell 1.2GHZ processor (just like the sheevaplug devices that Marvell is also selling. I tried to pull some more datasheets from plugcomputer.org, but their datasheet listing is quite lacking.  For now, just know that it&#8217;s an arm compliant processor and when I post an update article, I will have more juicy details on the capabilities of the processor.  Also of note, just below and to the right of the processor is a small ten pin header.  Presumably this can be used for a serial port however I do not have the cable for that.  Once I get it in and test it, I will update this article with a pinout diagram for you. Since this device is so low-level I would not recommend trying to connect a regular serial port to it directly as it more than likely requires a level shifter like a MAX232 to bring the -12/+12VDC down into something that won&#8217;t blast the components.</p>
<div id="attachment_517" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/mb-bottom.jpg"><img class="size-medium wp-image-517" title="Mainboard bottom" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2010/07/mb-bottom-300x225.jpg" alt="Mainboard bottom" width="300" height="225" /></a><p class="wp-caption-text">Mainboard bottom</p></div>
<p>This is the bottom of the dockstar&#8217;s mainboard.  Unfortunately, the board is now oriented that the front of the dockstar is now at the bottom of the picture. (Bad cameraman, no cookie.)  There&#8217;s not really much to note here as the board layout is jam packed with passive components.  The large black square on the lower right is the NAND storage for the device and while I couldn&#8217;t pull up the datasheet for it, the guys over at PlugPBX already had a <a href="http://forums.plugpbx.org/index.php?topic=97.0" target="_blank">forum post</a> that showed the Dockstar&#8217;s hardware specs for us.  According to their chart, the dockstar&#8217;s storage is 256MB. which should be more than adequate for general Linux fun.  The small chip just under the black tape in the upper right hand corner of the board is presumably the ethernet NIC however googling the chip numbers came up with nothing.</p>
<p>Just looking at the hardware overall, it would appear that the Seagate Dockstar is a very capable device that just needs to be altered to run whatever we choose to run with it.  While the software on the device (stock) comes with a filesharing service called Pogoplug, I do not intend on using that software and will be looking to get this device as far away from stock as possible.  Here is a list of some things I&#8217;ve been thinking of doing with it so far:</p>
<ul>
<li>Home NAS (without Internet file sharing)</li>
<li>multihomed router (I have a stack of pegasus USB modules)</li>
<li>semiportable network notification device (USB to parallel port, HD44780 LCD display)</li>
<li>realtime data acquisition device (USB logger and serial ports?)</li>
<li>Apple MT-DAAPd server for streaming music to iTunes installations on your local network</li>
</ul>
<p>Some sites I&#8217;ve seen while doing research have mentioned things from a in-home webserver with databases, to even a PBX server (take a look at <a href="http://www.plugpbx.org/" target="_blank">www.plugpbx.org</a>)</p>
<p>The big question is:  What would you do with it? Feel free to leave a comment as to what you&#8217;d do with this device, suggestions, information, etc.</p>
<p>FIRESTORM_v1</p>
<h1><span style="color: #ff0000;"><em><span style="text-decoration: underline;"><strong>BIG FAT OBNOXIOUS WARNING!:</strong></span></em></span><span style="color: #ff0000;"> </span></h1>
<p>Because of the Dockstar&#8217;s affinity to want to &#8220;phone home&#8221; thanks to the Pogoplug software,  I would not recommend plugging this into your live network just yet.  In all of the research I have done for this device, just about every site I have seen has posted some kind of warning about this.  The dockstar was originally designed to run with pogoplug which is an internet filesharing service that allows you to access your files from anywhere with Internet connectivity.  I don&#8217;t exactly trust an outside third party to have access to my files on a device that is only going to be used on a local network so I have not connected mine up to even test it.  If you are going to do any work with this device, I recommend that you use a dedicated mini-hub or switch and that it not be allowed to connect to the Internet until you have a complete understanding of what all it wants to do. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2010/07/14/hardware-porn-seagate-dockstar-teardown/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Android:Sprint officially releases Android 2.1 for Samsung Moment!</title>
		<link>http://www.yourwarrantyisvoid.com/2010/05/15/androidsprint-officially-releases-android-2-1-for-samsung-moment/</link>
		<comments>http://www.yourwarrantyisvoid.com/2010/05/15/androidsprint-officially-releases-android-2-1-for-samsung-moment/#comments</comments>
		<pubDate>Sat, 15 May 2010 07:10:43 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Product Reviews]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Mods]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=447</guid>
		<description><![CDATA[While writing up the review for the Samsung Moment versus the Palm Pre, I happened to find out that Sprint has now released Android 2.1 (Eclair) for the Moment.  Guess now I have to start over again, but the up side is that this is a very significant update from Samsung&#8217;s initial release, Android 1.5. [...]]]></description>
			<content:encoded><![CDATA[<p>While writing up the review for the Samsung Moment versus the Palm Pre, I happened to find out that Sprint has now released Android 2.1 (Eclair) for the Moment.  Guess now I have to start over again, but the up side is that this is a very significant update from Samsung&#8217;s initial release, Android 1.5.</p>
<p>You can download the update from Sprint at <a title="Sprint's samsung moment update page" href="http://shop.sprint.com/en/software_downloads/pda_smartphone/samsung_moment.shtml" target="_blank">http://shop.sprint.com/en/software_downloads/pda_smartphone/samsung_moment.shtml</a></p>
<p>Please note: According to the instructions available at the link above, you will need to use a Windows PC to apply the update to your phone.  I will be posting a mirror shortly and it will show up in the &#8220;Download Files&#8221; page at the top of this page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2010/05/15/androidsprint-officially-releases-android-2-1-for-samsung-moment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site News: I have a new toy!</title>
		<link>http://www.yourwarrantyisvoid.com/2010/04/01/site-news-i-have-a-new-toy/</link>
		<comments>http://www.yourwarrantyisvoid.com/2010/04/01/site-news-i-have-a-new-toy/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 16:06:55 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[Embedded devices]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Product Reviews]]></category>
		<category><![CDATA[Site News]]></category>
		<category><![CDATA[schwag]]></category>
		<category><![CDATA[Small Form Factor]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/2010/04/01/site-news-i-have-a-new-toy/</guid>
		<description><![CDATA[Well my life has been busy as all get out and I do have a new post in the works however I&#8217;m taking a quick break because I have a new toy that makes for a far better story. I have recently gotten my hands on a new Samsung Moment on the Sprint network. Within [...]]]></description>
			<content:encoded><![CDATA[<p>Well my life has been busy as all get out and I do have a new post in the works however I&#8217;m taking a quick break because I have a new toy that makes for a far better story.</p>
<p>I have recently gotten my hands on a new Samsung Moment on the Sprint network.  Within the next few days, I will post all the gory details from this Android n00b and will be offering a comparison against the other smartphone I have, the Palm Pre.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2010/04/01/site-news-i-have-a-new-toy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Clonezilla to make your HD bigger</title>
		<link>http://www.yourwarrantyisvoid.com/2009/12/29/using-clonezilla-to-make-your-hd-bigge/</link>
		<comments>http://www.yourwarrantyisvoid.com/2009/12/29/using-clonezilla-to-make-your-hd-bigge/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 20:08:49 +0000</pubDate>
		<dc:creator>firestorm_v1</dc:creator>
				<category><![CDATA[How-To's]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[network boot]]></category>
		<category><![CDATA[PXE]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.yourwarrantyisvoid.com/?p=217</guid>
		<description><![CDATA[(Ok, innuendo aside&#8230;) Well, the Christmas/Yule break is over with and it&#8217;s time to get cracking.   If you were like me this holiday season, you were either placed in the position if needing to do a hard drive upgrade for someone else or you received a new hard drive of your own that warrants upgrading.  [...]]]></description>
			<content:encoded><![CDATA[<h1 style="text-align: center;">
<p style="text-align: center;"><img class="size-medium wp-image-273   aligncenter" title="HD upgrade" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/HD-upgrade-300x153.jpg" alt="HD upgrade" width="240" height="122" /></p>
</h1>
<p>(Ok, innuendo aside&#8230;)</p>
<p>Well, the Christmas/Yule break is over with and it&#8217;s time to get cracking.   If you were like me this holiday season, you were either placed in the position if needing to do a hard drive upgrade for someone else or you received a new hard drive of your own that warrants upgrading.  The CloneZilla site didn&#8217;t contain very clear instructions for what to do so I decided to write this howto documenting the process. In this howto, I will cover using the free application &#8220;CloneZilla&#8221; to perform a hard drive upgrade on a test installation of Windows XP from 4GB to a 10GB drive.</p>
<h3><span id="more-217"></span></h3>
<h3>Foreword:</h3>
<p>Of course, it&#8217;s Christmastime/Yule and I took pity on my girlfriend&#8217;s laptop which had two things going against it.  Firstly, it had vista and secondly it had a 80GB hard drive.  I&#8217;m not sure why Toshiba in their infinite wisdom only gave it a 80GB HD, but they did. Thankfully I had just completed an upgrade to another machine and had a 250GB hard drive to spare.  So I set out to upgrade her hard drive and fix at least one of the two reasons that her laptop was evil.</p>
<p>A lot of research turned up various solutions however none of them were very viable or were free.  Most of them required two hard drives in one computer and although her laptop did have the solder traces for the second SATA hard drive connector I&#8217;m not about to take a soldering iron to her laptop, she&#8217;d kill me.  So with that said and with my head still attached to my body, I kept searching.  I found a Live CD application called CloneZilla which had Cloning abilities much like a certain Symantic product but was free and didn&#8217;t require extensive configuration to get to work.  Unfortunately the instructions were not very clear at all and after spending a nailbiting hour trying to start the copy, I finally got it done and decided to document the process in case someone else got stuck in the same need that I did.</p>
<p>In this HOWTO, I will be upgrading a 4GB Virtual Disk in VMware with that of a 10GB Virtual disk.  Aside from the fact that it&#8217;s all virtualized, this is indeed a true upgrade and is exactly how you would do an upgrade for a real &#8220;physical&#8221; computer.</p>
<h3>Prerequisites</h3>
<p>You will need the following items for a successful transfer:</p>
<ol>
<li> The CloneZilla CD available from <a title="Clonezilla community site" href="http://clonezilla.org/" target="_blank">http://clonezilla.org/</a> I&#8217;m using Clonezilla Live version 1.2.2-31.</li>
<li>A Windows computer that has a hard drive with free space greater than the size of the original disk you are upgrading.  (If you&#8217;re upgrading a 40GB HD, then this machine must have at least 40GB free on it.) This will be the WIndows Image Server.</li>
<li>The hard drive to upgrade</li>
<li>A working network where your machine to upgrade can browse the other windows machine&#8217;s file shares. (This is CRITICAL, as the other machine will store your disk image for the upgrade.)</li>
<li>A case of beer, rum, vodka, etc&#8230;</li>
</ol>
<p>The &#8220;other machine&#8221; in #2 will be the image server.  This is where CloneCD will copy the files to that make up the disk image.  I will review how to set up a fileshare in Windows for this however any machine that does SMB filesharing can work.  There are other options available however SMB sharing works the easiest.</p>
<h3>Process Overview</h3>
<p>In this HOWTO, we will be upgrading a Windows XP Virtual Machine with a 4GB HD to a 10 GB HD.  Although I&#8217;m using VMware Server to capture the screenshots, this same method can be used to upgrade almost any home Windows computer.  I&#8217;m not sure if Windows 7 or if Windows Server 200* will work but in all theory they should too.  The process for upgrading will go something like this:</p>
<ol>
<li>Examine the existing system to upgrade and get existing disk size</li>
<li>Configure Windows Image Server to accomodate images</li>
<li>Boot system to upgrade with Clonezilla, configure and start copy process</li>
<li>Swap out hard drives, reboot with Clonezilla and configure to start the restore process</li>
<li>Take whatever OS steps are needed to take advantage of new space. (OS Dependent)</li>
</ol>
<h3>Step 1:  Examine the existing system</h3>
<p>This one&#8217;s easy.  Just fire up the existing machine and take a look at the hard drive.  In my example system, there&#8217;s only one hard drive.  All I did in this screenshot was open My Computer and Right Click on Local Disk C: then go to &#8220;Properties&#8221;:</p>
<div id="attachment_223" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/systoupgrade.jpg"><img class="size-medium wp-image-223" title="systoupgrade" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/systoupgrade-300x225.jpg" alt="Test system to upgrade" width="300" height="225" /></a><p class="wp-caption-text">Test system to upgrade</p></div>
<p>If a machine has more than one partition, you might need to go to Local Disk Managment (Start -&gt; Run -&gt; diskmgmt.msc ) Here&#8217;s a screenshot of what our test system looks like through Disk managment:</p>
<div id="attachment_224" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/systoupgrade2.jpg"><img class="size-medium wp-image-224" title="systoupgrade2" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/systoupgrade2-300x225.jpg" alt="System To Upgrade (Disk managment view)" width="300" height="225" /></a><p class="wp-caption-text">System To Upgrade (Disk managment view)</p></div>
<p>Based on this information and according to disk managment, the <strong>minimum</strong> free space we need on our windows image server will be 4GB.  I would recommend an extra GB just in case. Now that we know how big the disk is and how much space we need, let&#8217;s get the image server configured.</p>
<h3>Step 2:  Configuration of the Windows image server</h3>
<p>This section covers how to set up the Windows Image server for the new image.  We will need to create a new directory for the image files, create a new user on the server and then assign that user with full permissions to that directory over the network.</p>
<h4>Step 2a: Add the user</h4>
<p>Right click on the My Computer Icon and go to Manage</p>
<div id="attachment_218" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/manage.jpg"><img class="size-medium wp-image-218" title="Manage option in My computer Right click menu" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/manage-300x257.jpg" alt="" width="300" height="257" /></a><p class="wp-caption-text">&quot;Manage&quot; option in Rt Click menu, Easy way to get to users and Groups</p></div>
<p style="text-align: center;">
<p>This will bring up the Computer Managment Console.  Click on the &#8220;+&#8221; next to &#8220;Users and Groups&#8221;, then click on Users.  This will show you all of the currently installed users on the system and should resemble something like below:</p>
<div id="attachment_219" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/cmpmgmt.jpg"><img class="size-medium wp-image-219" title="cmpmgmt" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/cmpmgmt-300x213.jpg" alt="Users view in Computer Managment" width="300" height="213" /></a><p class="wp-caption-text">Users view in Computer Managment</p></div>
<p>Right click on the right side of the window and click on &#8220;New User&#8230;&#8221;</p>
<div id="attachment_220" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/newuser1.jpg"><img class="size-medium wp-image-220" title="Users and Groups Right Click Menu" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/newuser1-300x214.jpg" alt="Users and Groups Right Click Menu" width="300" height="214" /></a><p class="wp-caption-text">Users and Groups Right Click Menu</p></div>
<p style="text-align: left;">In the &#8220;New User&#8221; dialog box that pops up, you want to set the following options:  Username = clone Description = CloneZilla user&#8221;, Password = clone  &#8220;User Cannot Change Password&#8221; and &#8220;Password Never Expires&#8221; should both be checked. &#8220;Account Is Disabled&#8221; and &#8220;User Must Change password at next login&#8221; should be cleared (unchecked).  See below for the reference screenshot:</p>
<p style="text-align: left;">
<div id="attachment_221" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/newuser2.jpg"><img class="size-medium wp-image-221" title="newuser2" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/newuser2-300x214.jpg" alt="New User settings" width="300" height="214" /></a><p class="wp-caption-text">New User Settings</p></div>
<p>Click &#8220;Create&#8221; and then click &#8220;Close&#8221;.  You can see the new user in the screenshot below highlighted in a red box.</p>
<div id="attachment_222" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/newuser3.jpg"><img class="size-medium wp-image-222" title="newuser3" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/newuser3-300x214.jpg" alt="Our new Clone user" width="300" height="214" /></a><p class="wp-caption-text">Our new Clone user</p></div>
<h4>Step 2B: Configure the file share and add the user to the share.</h4>
<p>Now that we have the user in the system, we need to create the file share. In this case, I&#8217;m using a directory inside my &#8220;D:&#8221; drive to store the images.  <strong>MAKE SURE THAT WHERE YOU STORE YOUR IMAGES EXCEEDS THE CAPACITY OF THE DRIVE TO BE COPIED!</strong> In our case, we found that the system to upgrade is 4GB, so we need at least a 5GB disk to copy to.</p>
<p>Go ahead and locate a suitable place for your clone files.  In this case &#8220;D:&#8221; is completely blank except for the system files that Windows generates for partitions.  Right click and create a new folder called &#8220;clone&#8221;</p>
<div id="attachment_225" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonedir.jpg"><img class="size-medium wp-image-225" title="clonedir" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonedir-300x240.jpg" alt="My clone directory" width="300" height="240" /></a><p class="wp-caption-text">My clone directory</p></div>
<p>Right click on the clone folder and go to &#8220;Sharing and Security&#8221;.  Fill out the form and name the share &#8220;Clone&#8221; however don&#8217;t click OK just yet.</p>
<div id="attachment_226" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonedir2.jpg"><img class="size-medium wp-image-226" title="clonedir2" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonedir2-300x257.jpg" alt="clone directory sharing properties" width="300" height="257" /></a><p class="wp-caption-text">clone directory sharing properties</p></div>
<p>We need to make sure that the &#8220;clone&#8221; user we created earlier has full access permissions to this directory.  Click on &#8220;Permissions&#8221; and add the &#8220;clone&#8221; user to the directory with full permissions.To do this, click &#8220;Add&#8221; on the Permissions screen, type in &#8220;clone&#8221;, type in &#8220;Check Names&#8221;, then hit OK.  In my case, it added &#8220;ZEUS\clone&#8221; which is still correct.  ZEUS is the name of the image server.</p>
<div id="attachment_227" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonedir3.jpg"><img class="size-medium wp-image-227" title="clonedir3" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonedir3-300x241.jpg" alt="Adding Clone to sharing permissions" width="300" height="241" /></a><p class="wp-caption-text">Adding clone to sharing permissions</p></div>
<p>Now, I have &#8220;clone&#8221; added to the permissions window and set the proper access permissions for that username as shown below.  Go ahead and click OK to the Permissions window and to the sharing properties window.</p>
<div id="attachment_228" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonedir4.jpg"><img class="size-medium wp-image-228" title="clonedir4" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonedir4-300x254.jpg" alt="Permissions are set" width="300" height="254" /></a><p class="wp-caption-text">Permissions are set</p></div>
<p>If all works well, you should see a &#8220;waiter&#8217;s hand&#8221; appear below the directory icon.  This hand icon shows that this directory is shared across the network and is available for access be it read-only or read/write.  At this point, we are done with configuring the server.  We&#8217;ve added the &#8220;clone&#8221; user to the server, added a suitable &#8220;clone&#8221; directory for Clonezilla to store and retrieve the disk image&#8217;s files from and we have added proper permissions to the directory for the clone user.</p>
<h4>Step 2c:  Test it out!</h4>
<p>Go back to our initial machine to upgrade.  You should be able to find your image server by browsing &#8220;My Network Places&#8221;.  In my case, the image server was named &#8220;zeus&#8221; and showed up only after I clicked on &#8220;View Workgroup Computers&#8221; as shown in this screenshot.  You should get a similar password prompt when you try to access your image server:</p>
<div id="attachment_229" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonetest.jpg"><img class="size-medium wp-image-229" title="clonetest" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonetest-300x225.jpg" alt="Clone share testing" width="300" height="225" /></a><p class="wp-caption-text">Clone share testing</p></div>
<p>Login with the user credentials we created in 2A, (username and password of &#8220;clone&#8221;) and you should be presented with a directory listing like the one shown below:</p>
<div id="attachment_230" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonetest2.jpg"><img class="size-medium wp-image-230" title="clonetest2" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonetest2-300x225.jpg" alt="directory listing " width="300" height="225" /></a><p class="wp-caption-text">directory listing</p></div>
<p>We have proven that our clone user works, but let&#8217;s test to make sure that we can write to it.  Double click on the clone share and try to create a text file.  (Right Click -&gt; New -&gt; Text File)  If it creates a &#8220;New Text File.txt&#8221; like shown below, this means that your permissions are correct and you&#8217;re good to go.  If you get any kind of read/write error, check your permissions on the image server.</p>
<div id="attachment_231" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonetest3.jpg"><img class="size-medium wp-image-231" title="clonetest3" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonetest3-300x225.jpg" alt="Write test for clone user" width="300" height="225" /></a><p class="wp-caption-text">Write test for clone user</p></div>
<p>If you&#8217;ve gotten this far, then congratulations, you&#8217;re ready to do the copy.  Go ahead and shut down the system you&#8217;re upgrading and get ready for the next step:</p>
<h3>Step 3:  Boot system to upgrade with Clonezilla, configure and start copy process</h3>
<p>Go ahead and boot the upgrade system with the CloneZilla CD. You will be presented with a boot menu like the one below. Go ahead and select the first menu option &#8220;Clonezilla live (Default Settings, VGA 1024&#215;768)&#8221;:</p>
<div id="attachment_232" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/Clonezilla.jpg"><img class="size-medium wp-image-232" title="Clonezilla" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/Clonezilla-300x225.jpg" alt="Clonezilla boot menu" width="300" height="225" /></a><p class="wp-caption-text">Clonezilla Boot Menu</p></div>
<p>It will then take a bit and flash a lot of linux based stuff at you.  Finally you should be directed to choose a language.  The prompt should look like this now:</p>
<div id="attachment_233" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla1.jpg"><img class="size-medium wp-image-233" title="clonezilla1" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla1-300x225.jpg" alt="Choose a language menu" width="300" height="225" /></a><p class="wp-caption-text">Choose a language menu</p></div>
<p>You will then get a prompt about keymaps.  When in doubt, just leave it alone.</p>
<div id="attachment_234" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla2.jpg"><img class="size-medium wp-image-234" title="clonezilla2" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla2-300x225.jpg" alt="Keymap prompt" width="300" height="225" /></a><p class="wp-caption-text">Keymap prompt</p></div>
<p>More console stuff will flash past and then you&#8217;ll get the prompt you&#8217;ve been waiting for.  Unless you&#8217;re very very advanced, you will only use the &#8220;Start Clonezilla&#8221; menu option:</p>
<div id="attachment_235" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla3.jpg"><img class="size-medium wp-image-235" title="clonezilla3" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla3-300x225.jpg" alt="Start Clonezilla" width="300" height="225" /></a><p class="wp-caption-text">Start Clonezilla</p></div>
<p>Now we&#8217;re at a screen that is really confusing.  We want to work with the disks but we also want to work with images to create partitions.  In this instance, we&#8217;re going from the disk to an image file on our windows image server then back to disk again.  In our instance, we will need to use option 1, Device-Image.</p>
<div id="attachment_236" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla4.jpg"><img class="size-medium wp-image-236" title="clonezilla4" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla4-300x225.jpg" alt="Image/Disk option menu" width="300" height="225" /></a><p class="wp-caption-text">Image/Disk option menu</p></div>
<p>In this screen, it&#8217;s asking where are we storing the image.  The answer is &#8220;samba/Network Neighborhood server&#8221; however if we needed to, we could use a local SSH server as well.</p>
<div id="attachment_237" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla5.jpg"><img class="size-medium wp-image-237" title="clonezilla5" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla5-300x225.jpg" alt="Image Server Type dialog" width="300" height="225" /></a><p class="wp-caption-text">Image Server Type dialog</p></div>
<p>Now it&#8217;s asking how we connect to our network.  99% of the time this will be &#8220;dhcp&#8221; as you will know if you&#8217;re using static for anything.  If you have a Linksys router or similar router/firewall device, select DHCP.</p>
<div id="attachment_238" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla6.jpg"><img class="size-medium wp-image-238" title="clonezilla6" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla6-300x225.jpg" alt="network type dialog" width="300" height="225" /></a><p class="wp-caption-text">network type dialog</p></div>
<p>After you get a successful IP address, CloneZilla needs to know what IP address your windows image server is.  In my example, the windows image server (zeus) is 192.168.0.5.</p>
<div id="attachment_239" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla7.jpg"><img class="size-medium wp-image-239" title="clonezilla7" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla7-300x225.jpg" alt="IP address dialog" width="300" height="225" /></a><p class="wp-caption-text">IP address dialog</p></div>
<p>Next, Clonezilla needs to ask for the Domain.  If you are not using a domain, then tab to &#8220;Cancel&#8221; and hit Enter.  I&#8217;m not using a domain here, so I just hit Cancel.  This is reserved for corporate networks that use a special server called a Domain Controller.</p>
<div id="attachment_240" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla8.jpg"><img class="size-medium wp-image-240" title="clonezilla8" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla8-300x225.jpg" alt="Domain prompt" width="300" height="225" /></a><p class="wp-caption-text">Domain prompt</p></div>
<p>Now Clonezilla needs to know the username of the account to connect to the server.  This will be the username and password you created in Step 2 above.  For our test, we put clone as the username</p>
<div id="attachment_241" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla9.jpg"><img class="size-medium wp-image-241" title="clonezilla9" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla9-300x225.jpg" alt="user prompt" width="300" height="225" /></a><p class="wp-caption-text">user prompt</p></div>
<p>Clonezilla prompts us for the location (the share name) of where to put the images.  In the steps above, we used &#8220;clone&#8221; as the share name.  This is the location we give to Clonezilla so it can store its images. <strong>Be sure to leave the leading / at the beginning of the directory name</strong>.</p>
<div id="attachment_242" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla10.jpg"><img class="size-medium wp-image-242" title="clonezilla10" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla10-300x225.jpg" alt="directory name for images" width="300" height="225" /></a><p class="wp-caption-text">directory name for images</p></div>
<p>Next, it&#8217;s time for the password.  When prompted, type in the password.  Although this prompt looks different than the others, this is not a sign that something has gone wrong so relax.</p>
<div id="attachment_243" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla11.jpg"><img class="size-medium wp-image-243" title="clonezilla11" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla11-300x225.jpg" alt="password dialog" width="300" height="225" /></a><p class="wp-caption-text">password dialog</p></div>
<p>If all of the information you entered was correct, you will get a filesystem mount listing similar to what is shown here.  If something went wrong, you&#8217;ll get an error message outlining the possible error and a chance to re-enter the information.  If it doesn&#8217;t give you the option to reenter or something isn&#8217;t right, just hit the power switch..  In this screenshot, you can see that the last line starting with //192.168.0.5&#8230;&#8230;  is our image server and that it is mounted correctly!</p>
<div id="attachment_244" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla12.jpg"><img class="size-medium wp-image-244" title="clonezilla12" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla12-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">mount listing</p></div>
<p style="text-align: left;">Since we have successfully mounted our image storage as part of the liveCD&#8217;s filesystem, it&#8217;s time to start the copy.  You will be prompted for which mode to run Clonezilla in.  I recommend the &#8220;Beginner&#8221; method as it makes the entire copy easy.</p>
<div id="attachment_245" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla13.jpg"><img class="size-medium wp-image-245" title="clonezilla13" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla13-300x225.jpg" alt="Mode select dialog" width="300" height="225" /></a><p class="wp-caption-text">Mode select dialog</p></div>
<p>Now we are prompted on what to do.  We will start off by selecting the first option &#8220;savedisk&#8221; as we want to save the existing disk to the image server.  We will use &#8220;restoredisk&#8221;  later.</p>
<div id="attachment_246" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla14.jpg"><img class="size-medium wp-image-246" title="clonezilla14" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla14-300x225.jpg" alt="Function select" width="300" height="225" /></a><p class="wp-caption-text">Function Select</p></div>
<p>If you are wanting to manage multiple images, you have the option to name them with something more descriptive .  For now, I selected the default name which is in YYYY-MM-DD-HH format.</p>
<div id="attachment_247" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla15.jpg"><img class="size-medium wp-image-247" title="clonezilla15" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla15-300x225.jpg" alt="Image Name Select prompt" width="300" height="225" /></a><p class="wp-caption-text">Image Name Select prompt</p></div>
<p>Now we tell CloneCD which hard drive to copy.  In most systems, there will only be one hard drive, however make sure you have the right one if not.  You can select and deselect by using the space bar to toggle the asterisk.  An asterisk in the brackets &#8220;[*]&#8221; means that the item is selected however the brackets alone &#8220;[ ]&#8221; means the item is deselected.</p>
<div id="attachment_248" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla16.jpg"><img class="size-medium wp-image-248" title="clonezilla16" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla16-300x225.jpg" alt="Drive Select prompt" width="300" height="225" /></a><p class="wp-caption-text">Drive Select prompt</p></div>
<p>One last word from Clonezilla before it starts copying.  If we wanted to run in console mode (which I will never do. <img src='http://www.yourwarrantyisvoid.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ) we could do it all with one command.  Just hit enter to get past this prompt and start the copying.   This also tells us that it has successfully found and identified the drive we selected to copy and shut down Linux&#8217;s logical volume manager to allow direct access to the disk to copy.</p>
<div id="attachment_249" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla17.jpg"><img class="size-medium wp-image-249" title="clonezilla17" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla17-300x225.jpg" alt="Pre-copy ready" width="300" height="225" /></a><p class="wp-caption-text">Pre-copy ready</p></div>
<p>One last final confirmation that the information we have entered is correct.  Remember that making this image does NOT make any filesystem changes to the original hard drive and in fact, no changes to the original hard drive are ever made.  This is especially good in case you need to revert your upgrade, you can just swap out hard drives and you&#8217;re back where you started from.  If everything is correct in the yellow text, go ahead and type &#8220;Y&#8221; and hit enter.  This will start the copy process.</p>
<div id="attachment_250" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla18.jpg"><img class="size-medium wp-image-250" title="clonezilla18" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla18-300x225.jpg" alt="confirmation prompt" width="300" height="225" /></a><p class="wp-caption-text">confirmation prompt</p></div>
<p>Finally, the copy begins.  Go ahead and grab a soda, watch a movie or something as this will take a considerable amount of time depending on the size of your hard drive.  In my test example transferring a 4GB hard drive, it took roughly 16 minutes to complete.  My girlfriend&#8217;s 80GB hard drive took several hours to copy.</p>
<div id="attachment_252" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla19.jpg"><img class="size-medium wp-image-252" title="clonezilla19" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla19-300x225.jpg" alt="copy started" width="300" height="225" /></a><p class="wp-caption-text">Copy Started</p></div>
<p>At last, the file copy is complete and we are ready to exit Clonezilla:</p>
<div id="attachment_253" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla20.jpg"><img class="size-medium wp-image-253" title="clonezilla20" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla20-300x225.jpg" alt="copy complete" width="300" height="225" /></a><p class="wp-caption-text">Copy complete.</p></div>
<p>Hit &#8220;Enter&#8221; then hit 0 for power off.  After a few seconds, you will get the message &#8220;Please remove the disc, close the tray (if any) and press Enter to continue. Hit enter and your computer should now turn off.  Go ahead and perform the drive swap now. We&#8217;re halfway there!</p>
<h3>Step 4:  Swap out hard drives, reboot with Clonezilla and configure to start the restore process</h3>
<p>Before continuing, you want to make sure that your hard drive is recognized by the BIOS.  In my test setup, I have swapped out the original 4GB VMware disk with a 10GB Vmware disk and it is displayed in the BIOS here:</p>
<div id="attachment_254" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla21.jpg"><img class="size-medium wp-image-254" title="clonezilla21" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla21-300x225.jpg" alt="BIOS showing new hard drive" width="300" height="225" /></a><p class="wp-caption-text">BIOS showing new hard drive</p></div>
<p>Just like before, we will use the same options to create the disk image to restore the disk image.    Use all of the instructions in step 2 all the way until you get to the Mode screen shown below.  Instead of selecting &#8220;savedisk&#8221; like we did at the last screen, we want to use &#8220;restoredisk&#8221; instead.</p>
<div id="attachment_255" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla22.jpg"><img class="size-medium wp-image-255" title="clonezilla22" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla22-300x225.jpg" alt="Select Mode dialog, revisited" width="300" height="225" /></a><p class="wp-caption-text">Select Mode dialog, revisited</p></div>
<p>Now we select the image to restore to disk. Since we only have one image listed, this is the one we use.</p>
<div id="attachment_256" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla23.jpg"><img class="size-medium wp-image-256" title="clonezilla23" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla23-300x225.jpg" alt="Select Image dialog" width="300" height="225" /></a><p class="wp-caption-text">Select Image dialog</p></div>
<p>Once we have selected a viable image, now we are prompted to select the target device.  Again, it&#8217;s the only hard drive, so it&#8217;s the device we want:</p>
<div id="attachment_257" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla24.jpg"><img class="size-medium wp-image-257" title="clonezilla24" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla24-300x225.jpg" alt="Select Target dialog" width="300" height="225" /></a><p class="wp-caption-text">Select Target dialog</p></div>
<p>Just like before, it will tell us that we can rerun this restore using a single command from command mode:</p>
<div id="attachment_258" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla25.jpg"><img class="size-medium wp-image-258" title="clonezilla25" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla25-300x225.jpg" alt="clone command line " width="300" height="225" /></a><p class="wp-caption-text">clone command line</p></div>
<p>This time, the warning needs to be read.  This is just prior to performing any filesystem changes to the new hard drive.   If you are absolutely sure, go ahead and answer &#8220;y&#8221; to start the restore process:</p>
<div id="attachment_259" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla26.jpg"><img class="size-medium wp-image-259" title="clonezilla26" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla26-300x225.jpg" alt="restore confirmation text" width="300" height="225" /></a><p class="wp-caption-text">restore confirmation text</p></div>
<p>One last time, it asks to make sure you are sure about your restore decision.  If everything is correct, answer &#8220;Y&#8221;.</p>
<div id="attachment_260" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla27.jpg"><img class="size-medium wp-image-260" title="clonezilla27" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clonezilla27-300x225.jpg" alt="Final restore prompt" width="300" height="225" /></a><p class="wp-caption-text">Final restore prompt</p></div>
<p>A good bit of text will go across the screen and you will ultimately end up at a partclone screen like the one below.  The text that you saw earlier is the partition application creating the destination partition for the image.  Once created, partclone takes over and starts restoring the data from the image. Again, grab another drink, (I&#8217;ve got a margarita) and wait a few hours for the image to restore.</p>
<div id="attachment_261" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone28.jpg"><img class="size-medium wp-image-261" title="clone28" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone28-300x225.jpg" alt="Partition restore in progress" width="300" height="225" /></a><p class="wp-caption-text">Partition restore in progress</p></div>
<p>Once the restore process completes, you will be prompted to power off.  Hit Enter, select option 1 and remove the CD from the CDROM tray when prompted.</p>
<div id="attachment_262" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone29.jpg"><img class="size-medium wp-image-262" title="clone29" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone29-300x225.jpg" alt="restore completed" width="300" height="225" /></a><p class="wp-caption-text">restore completed</p></div>
<p>Once the system reboots, it should automatically start Windows.  If it does, you&#8217;re ready to go to the last step!</p>
<h3>Step 5: Take whatever OS steps are needed to take advantage of new space. (OS Dependent)</h3>
<p>Now these steps depend on which OS you&#8217;re using. At this point, we have made an image of the old drive, saved that image to another server and restored it to a new blank drive that is larger than the original image.  As shown earlier, we have a 10GB disk in our machine to upgrade and we have just restored our 4GB image to it. We have successfully booted windows however our disk properties show that the disk image is still 4GB.  (Ignore the disk space used, as I was shutting down the disk image it decided to install 50 windows updates&#8230;)</p>
<div id="attachment_263" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone30.jpg"><img class="size-medium wp-image-263" title="clone30" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone30-300x225.jpg" alt="Disk space still the same?" width="300" height="225" /></a><p class="wp-caption-text">Disk space still the same?</p></div>
<p>Here is the same shot of the disk managment window after the upgrade/restore.  You can see that it is a 10GB drive, but is still a 4GB partition.</p>
<div id="attachment_264" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone31.jpg"><img class="size-medium wp-image-264" title="clone31" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone31-300x225.jpg" alt="disk managment" width="300" height="225" /></a><p class="wp-caption-text">disk managment</p></div>
<p><span style="text-decoration: underline;"><strong>Attention Vista Users!!:</strong></span> If you are running Windows Vista, you can use Disk Managment to expand the disk size.  All you have to do is right click on the C: partition shown above then go to &#8220;Expand Disk&#8221;.  This will walk you through the process for expanding the disk to take up the entire space of your new drive.  I&#8217;ll add new instructions to this as soon as my girlfriend lets me use her laptop again.</p>
<p>For those of you not running Vista, keep reading. At this point, we have validated that our restored image works properly.  Now all we need to do is resize the partition to take up the entire disk.  Thankfully clonezilla has a solution for that.  Reboot using the CloneZilla CD. Answer the same questions regarding keymap like you did before except instead of starting clonezilla, we want to enter the Clonezilla shell.</p>
<div id="attachment_265" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone32.jpg"><img class="size-medium wp-image-265" title="clone32" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone32-300x225.jpg" alt="Go to Clonezilla shell" width="300" height="225" /></a><p class="wp-caption-text">Go to Clonezilla shell</p></div>
<p>You will get dropped to a text prompt that presents you with several options.  You will want to select option 2, &#8220;Enter Command Line Prompt&#8221;.  Once done, you will be at a user@debian prompt as shown here:</p>
<div id="attachment_266" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone33.jpg"><img class="size-medium wp-image-266" title="clone33" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone33-300x225.jpg" alt="command prompt" width="300" height="225" /></a><p class="wp-caption-text">command prompt</p></div>
<p>We are going to use the utility &#8220;ntfsresize&#8221; in order to increase the size of the partition that we restored to the new disk but first we need more information.  Before we get started, run the command &#8220;<strong>su -</strong>&#8221; to get to the &#8220;root&#8221; user. This will allow us to modify the drive&#8217;s layout.    At the above menu prompt, hit the digit <strong>2</strong> for &#8220;<strong>Enter command line prompt</strong>&#8221; and then type &#8220;<strong>su -</strong>&#8221; at the &#8220;<strong>user@debian ~$</strong>&#8221; prompt.  The screen should then look like the screen below.</p>
<div id="attachment_432" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/cz-root.jpg"><img class="size-medium wp-image-432" title="SU to root" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/cz-root-300x225.jpg" alt="SU to root" width="300" height="225" /></a><p class="wp-caption-text">SU to root</p></div>
<p>Then we will use &#8220;fdisk&#8221; to get the disk&#8217;s full size.  I ran the command &#8220;<strong>fdisk -l /dev/hda</strong>&#8221; to get the drive size:</p>
<div id="attachment_267" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone34.jpg"><img class="size-medium wp-image-267" title="clone34" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone34-300x225.jpg" alt="fdisk disk size" width="300" height="225" /></a><p class="wp-caption-text">fdisk disk size</p></div>
<p>This is important as we are going to <strong>delete</strong> the partition, then <strong>recreate</strong> the partition.  First off let&#8217;s run &#8220;<strong>fdisk /dev/hda</strong>&#8221; and use &#8220;p&#8221; to get the partition size.  In this screen, we see that the partition starts at 1 and ends at 521.  We want it to extend to the rest of the disk.  We&#8217;ll start off by using &#8220;d&#8221; to delete the partition, (FDISK will assume partition 1) and then create a New partition using the defaults as shown below (Use the commands &#8220;N&#8221; for New partition, &#8220;P&#8221; for primary partition, and give it partition number 1).  Once we have created the new partition, we will need to set the &#8220;System&#8221; back to HPFS/NTFS otherwise NTFSresize won&#8217;t work properly.  Below is the FDISK responses to these commands we&#8217;ve used so far.</p>
<div id="attachment_268" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone35.jpg"><img class="size-medium wp-image-268" title="clone35" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone35-300x225.jpg" alt="FDISk resizing" width="300" height="225" /></a><p class="wp-caption-text">FDISK resizing</p></div>
<p>Now that we&#8217;ve create the new partition, we have to reset it&#8217;s type.  Use the &#8220;t&#8221; command and set it to ID of 7 (HPFS/NTFS) and then use &#8220;a&#8221; to toggle it&#8217;s bootable state.  We want to be able to boot into Windows after all.  Use the &#8220;w&#8221; command to write the partition data to the hard drive and exit.  Now that we have reset the partition size, we can use NTFSResize to expand the NTFS data.  Cross your fingers and run &#8220;<strong>ntfsresize /dev/hda</strong>&#8221; and it should produce output like what is shown here.  When run with no additional parameters, NTFSResize should automatically find the beginning and the end of the partition and expand the existing NTFS data to take the entire drive as shown:</p>
<div id="attachment_269" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone36.jpg"><img class="size-medium wp-image-269" title="clone36" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone36-300x225.jpg" alt="NTFSResize" width="300" height="225" /></a><p class="wp-caption-text">NTFSResize</p></div>
<p>With our newly resized partition we should be able to reboot and get into our Windows environment.  To do that, just type &#8220;<strong>reboot</strong>&#8221; and remove the CD when prompted.  <span style="text-decoration: underline;"><strong>Note:</strong></span> The above screenshot missed me using the &#8220;a&#8221; and &#8220;w&#8221; commands to toggle bootable status.  Here&#8217;s what it looks like:</p>
<div id="attachment_270" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone37.jpg"><img class="size-medium wp-image-270" title="clone37" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone37-300x225.jpg" alt="Bootable flag now set" width="300" height="225" /></a><p class="wp-caption-text">Bootable flag now set, sorry guys. <img src='http://www.yourwarrantyisvoid.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p></div>
<p>Ok, so now that I have fixed my grievous error, it&#8217;s time to reboot.  With any luck, your computer will boot Windows and go staight into a chkdsk environment.  <span style="text-decoration: underline;"><strong>THIS IS OK!</strong></span>, this means that Windows sees the new partition size and that it needs to run a consistency check.  DO NOT PANIC!!!  Let the consistency check run, then it will reboot your computer again.  After it boots for the second time, it might prompt to restart because it found new hardware (the new HD).  This is OK as well.  Let the windows installation reboot.  Once it has completed rebooting for the third time,  get your disk properties by right clicking on C: drive and going to Properties.  As shown below, we have successfully resized our partition to take up the entire drive and are now sitting at 10GB (well 9.99GB according to windows.):</p>
<div id="attachment_271" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone38.jpg"><img class="size-medium wp-image-271" title="clone38" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone38-300x225.jpg" alt="Windows XP's new filesize" width="300" height="225" /></a><p class="wp-caption-text">Windows XP&#39;s new filesize</p></div>
<p>Here is a screenshot from Windows XP&#8217;s Disk managment to show that we used the entire drive:</p>
<div id="attachment_272" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone39.jpg"><img class="size-medium wp-image-272" title="clone39" src="http://www.yourwarrantyisvoid.com/wp-content/uploads/2009/12/clone39-300x225.jpg" alt="Disk managment with new partition sizes" width="300" height="225" /></a><p class="wp-caption-text">Disk managment with new partition sizes</p></div>
<p>At this point, we have successfully finished the migration!  Here&#8217;s a rundown of what all we did in this step:</p>
<ol>
<li>We restored the partition to the new drive</li>
<li>We verified that the restore worked properly when booted into, e.g windows booted properly and without errors.</li>
<li>We then deleted the existing partition, recreated a new partition and then set the partition type and bootable flag using Linux&#8217;s FDISK on the Clonezilla CD.</li>
<li>We used NTFSResize to expand the NTFS data to take up the entire new resized partition.</li>
<li>We then booted into Windows and let it do a filesystem check</li>
<li>When Windows was restarted again, we validated through Properties and &#8220;Disk Management&#8221; that the new disk was used fully.</li>
</ol>
<p>This was the most complex part of the migration as CloneZilla only goes about 90% of the way to migrating to a new, larger hard drive.  I hope that this howto provides the last 10% that you are looking for.  With this howto and a copy of CloneZilla, you can then upgrade almost ANY hard drive that Linux supports and can even go from IDE to SATA or SATA to IDE if need be.</p>
<h3>Afterword:</h3>
<p>I sincerely hope that this helps someone out there trying to make sense of a hard drive upgrade.  I know that I learned a lot about partitions and filesystem structures by attempting an upgrade of my girlfriend&#8217;s laptop and this Windows XP installation.  I know that working with partitions is a scary thing as you could potentially lose data but keep in mind that your &#8220;original&#8221; hard drive still has all the original data on it, as does the image that was stored on the windows image server.</p>
<p>The items in this howto can potentially be a life saver especially if you have a family member that keeps messing their computer up.  You could create an image after you have performed all needed windows updates and software installations and then retain it for if something goes wrong.  Rather than having to manually do an OS reload, you can run though this HOWTO in an hour and have their system up and running again, fully patched and ready to go.</p>
<p>I hope that you had a great Christmas/Yule  with your family and look forward to keep going strong in 2010.  As always, thank you for your continued patronage, you are always welcome here at YourWarrantyIsVoid.com!</p>
<p>FIRESTORM_v1</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourwarrantyisvoid.com/2009/12/29/using-clonezilla-to-make-your-hd-bigge/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

