<?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>The HyRax Macrocosm &#187; Storage</title>
	<atom:link href="http://www.serenux.com/tag/storage/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.serenux.com</link>
	<description>Life, the Universe and Ubuntu.</description>
	<lastBuildDate>Mon, 21 Jun 2010 10:45:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>HowTo: Get an Ubuntu Live CD to boot off a PXE server</title>
		<link>http://www.serenux.com/2010/05/howto-get-an-ubuntu-live-cd-to-boot-off-a-pxe-server/</link>
		<comments>http://www.serenux.com/2010/05/howto-get-an-ubuntu-live-cd-to-boot-off-a-pxe-server/#comments</comments>
		<pubDate>Sun, 30 May 2010 15:09:22 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Lucid]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[PXE]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=717</guid>
		<description><![CDATA[Following my article about creating your own PXE network boot server, here is the first practical use you can put it to &#8211; taking the Ubuntu Live CD and turning it into a network-bootable version! Network booting the Live CD has obvious advantages &#8211; aside from booting faster than CD (especially on a gigabit network), [...]]]></description>
			<content:encoded><![CDATA[<p>Following my article about <a title="How to setup your own PXE boot server" href="http://www.serenux.com/2010/05/howto-setup-your-own-pxe-boot-server-using-ubuntu-server/" target="_blank">creating your own PXE network boot server</a>, here is the first practical use you can put it to &#8211; taking the Ubuntu Live CD and turning it into a network-bootable version!</p>
<p>Network booting the Live CD has obvious advantages &#8211; aside from booting faster than CD (especially on a gigabit network), it is indispensable as an emergency boot medium in a workplace environment, especially for broken Windows systems, and allows for Ubuntu effortless installations on netbook PC&#8217;s that don&#8217;t have optical drives and saves you having to have a USB stick handy.</p>
<p><span id="more-717"></span><em><strong>Pre-requisites</strong></em></p>
<ul>
<li>You need a working Linux PXE boot server. Doesn&#8217;t have to be Ubuntu, but it needs to be Linux. You cannot use a Windows PXE server.</li>
<li>An Ubuntu 10.04 Live CD ISO or physical CD. Can be the 32-bit or 64-bit ISO, but you can also setup both of them at once!</li>
<li>At least 700MB of drive space on your PXE server, more if you want to have more than one CD available.</li>
<li>This tutorial was put together using Ubuntu Server 10.04 Lucid Lynx, but should work with all future releases and older versions to at least Ubuntu Server 8.04 Hardy Heron.</li>
</ul>
<p><em><strong>Getting it together</strong></em></p>
<ol>
<li>Login to your PXE server and mount the CD or ISO image (in this example we are copying the 32-bit disc). Assuming the CD is mounted at /media/cdrom, copy the CD&#8217;s files to your server as follows:
<pre><span style="color: #000080;">$ sudo mkdir -p /srv/tftp/ubuntu-livecd-boot/i386
$ sudo mkdir -p /srv/ubuntu-livecd/i386
$ sudo cp -av /media/cdrom/* /srv/ubuntu-livecd/i386
$ sudo cp -av /media/cdrom/casper/initrd.lz /srv/tftp/ubuntu-livecd-boot/i386
$ sudo cp -av /media/cdrom/casper/vmlinuz /srv/tftp/ubuntu-livecd-boot/i386</span></pre>
<p>(if you want to setup the 64-bit disc, then replace all instances of &#8220;i386&#8243; with &#8220;amd64&#8243;, or you can setup both architectures by setting up both directories)<br />
.</li>
<li>Make sure the permissions of the files to be loaded by TFTP are correct:
<pre><span style="color: #000080;">$ sudo chmod 777 -R /srv</span></pre>
</li>
<li>The astute of you will have noticed that we have copied the Ubuntu CD outside of the TFTP directory and that we have made a separate copy of only two of the disc&#8217;s files inside the TFTP directory. Why is this? Well, the <em>vmlinuz</em> and <em>initrd.lz</em> files are the only files that TFTP will need to download to get started with the boot process. After that, we will use NFS to deliver the rest of the Live CD, so let&#8217;s set that up:
<pre><span style="color: #000080;">$ sudo apt-get install nfs-kernel-server</span>
</pre>
<p>Note: I should point out that the files that are copied to the NFS share do not have to be on the PXE server. The NFS server can be any box as NFS is not related to PXE at all.</p>
<p><span style="color: #000080;"> </span></li>
<li>Once that is installed, we need to define an NFS share. This is done in the NFS exports file, so let&#8217;s get that into a text editor:
<pre><span style="color: #000080;">$ sudo nano /etc/exports</span></pre>
</li>
<li>Add the following line to the bottom of the file:
<pre><span style="color: #000080;"># Ubuntu Live CD files for PXE booting
/srv/ubuntu-livecd/i386        *(ro,async,no_root_squash,no_subtree_check)</span></pre>
<p>&#8230;if you are setting up the 64-bit version, replace &#8220;i386&#8243; with &#8220;amd64&#8243;, or if setting up both architectures, list it as follows:</p>
<pre><span style="color: #000080;"># Ubuntu Live CD files for PXE booting
/srv/ubuntu-livecd/i386        *(ro,async,no_root_squash,no_subtree_check)
/srv/ubuntu-livecd/amd64       *(ro,async,no_root_squash,no_subtree_check)
</span></pre>
<p>A breakdown of the parameters on the right is as follows:</p>
<ul>
<li>The asterisk means &#8220;share with everyone on this network, regardless of who they are&#8221;.</li>
<li>The &#8220;ro&#8221; parameter means to share the data as read-only.</li>
<li>The &#8220;async&#8221; parameter allows the NFS server to reply before data is written to the share. Since it&#8217;s mounted as read-only anyway, the parameter is only there to keep NFS&#8217; syntax happy.</li>
<li>The &#8220;no_root_squash&#8221; parameter means to allow the NFS client to use the mount as a root filesystem, otherwise it&#8217;s mounted as &#8220;nobody&#8221; instead of &#8220;root&#8221;. Since the LiveCD is essentially a diskless client, we need to be able to define the NFS mount as a root volume.</li>
<li>The &#8220;no_subtree_check&#8221; parameter helps to speed up transfers. Normally NFS will check to see if a requested file exists in an exported sub-directory. This slows things down, so turning this off means the only check that is made is that the requested file exists on the exported filesystem. Subtree checking can also cause issues when an open file is renamed, but since the export is read-only, this is irrelevant.<br />
.</li>
</ul>
</li>
<li>Save your changes with CTRL+X, then &#8220;Y&#8221; and then Enter.<br />
.</li>
<li>Now have NFS re-read its export file and begin sharing the specified directories with:
<pre><span style="color: #000080;">$ sudo exportfs -a</span></pre>
</li>
<li>We&#8217;re nearly ready to rock and/or roll. All we need to do now is prepare the PXE boot menu to launch the Live CD for us. Assuming you followed by previous tutorial and your boot menu file is called <em>mybootmenu.cfg</em>:
<pre><span style="color: #000080;">$ sudo nano /srv/tftp/mybootmenu.cfg</span></pre>
</li>
<li>Assuming your NFS server&#8217;s IP address is 192.168.0.10, insert the following lines for a 32-bit Live CD entry:
<pre><span style="color: #000080;">label Live CD 32-bit
    kernel ubuntu-livecd/i386/vmlinuz
    append boot=casper netboot=nfs nfsroot=192.168.0.10:/srv/ubuntu-livecd/i386 initrd=ubuntu-livecd/i386/initrd.lz -- splash quiet</span></pre>
<p>&#8230;and if you are doing 64-bit, you can replace or add as a separate menu option the following:</p>
<pre><span style="color: #000080;">label Live CD 64-bit
</span><span style="color: #000080;">    kernel ubuntu-livecd/amd64/vmlinuz
    append boot=casper netboot=nfs  nfsroot=192.168.0.10:/srv/ubuntu-livecd/amd64  initrd=ubuntu-livecd/amd64/initrd.lz -- splash quiet
</span><span style="color: #000080;"> </span></pre>
<p>The <em>kernel</em> line is the actual kernel that is loaded to run the session. The <em>append</em> line tells the boot process several things. First up, the <em>casper</em> directory contains the boot files (a SquashFS image in the case of the Live CD), the root of the NFS file system is located on the server with the IP <em>192.168.0.10</em> under the path <em>/srv/ubuntu-livecd/i386</em> (or <em>amd64</em>) and that the image to fire up the RAM disk with is located under <em>ubuntu-livecd/i386/initrd.lz</em> and finally we have advised the boot process to suppress console messages and display the splash screen while loading. From this point on, the <em>initrd.lz</em> is extracted and will grab the SquashFS image from the <em>casper</em> directory via NFS, extract it and commence running it. All other files that the disc needs to do its thing (such as when installing Ubuntu from the Live environment) are also provided by the NFS share.</li>
<li>Save your changes by pressing CTRL+X, then &#8220;Y&#8221; and then Enter.<br />
.</li>
<li>You&#8217;re now ready to go &#8211; reboot your PXE workstation and you should now see an entry for your Live CD. Upon choosing it, your system should fire up with the Live environment! Once booted, you can even do an Ubuntu install to the PC you started on as though you&#8217;d booted from a CD or USB device!<br />
.<br />
<a href="http://www.serenux.com/wp-content/uploads/2010/05/MultibootPXE.png"><img class="aligncenter size-medium wp-image-723" title="Showing two Live CD options in my PXE boot menu" src="http://www.serenux.com/wp-content/uploads/2010/05/MultibootPXE-300x224.png" alt="" width="300" height="224" /></a></li>
</ol>
<p>Enjoy! <img src='http://www.serenux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2010/05/howto-get-an-ubuntu-live-cd-to-boot-off-a-pxe-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HowTo: Setup your own PXE Boot Server using Ubuntu Server</title>
		<link>http://www.serenux.com/2010/05/howto-setup-your-own-pxe-boot-server-using-ubuntu-server/</link>
		<comments>http://www.serenux.com/2010/05/howto-setup-your-own-pxe-boot-server-using-ubuntu-server/#comments</comments>
		<pubDate>Sun, 30 May 2010 12:09:01 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Lucid]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[PXE]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=527</guid>
		<description><![CDATA[The Preboot eXecution Environment (PXE) provides a means of starting up a PC using a network adapter instead of the traditional method of hard-drive, USB flash stick, CD or floppy disk. Why would you want to boot a PC from the network? Well, it opens the door to booting diskless workstations, eg: Internet Cafe PC&#8217;s, [...]]]></description>
			<content:encoded><![CDATA[<p>The Preboot eXecution Environment (PXE) provides a means of starting up a PC using a network adapter instead of the traditional method of hard-drive, USB flash stick, CD or floppy disk.</p>
<p>Why would you want to boot a PC from the network? Well, it opens the door to booting diskless workstations, eg: Internet Cafe PC&#8217;s, or if you regularly install tens or hundreds of PC&#8217;s, you can start the installer on all those machines at once without needing to have individual boot/install media for each machine. You can even use Linux PXE for starting Microsoft Windows network installers and tools.</p>
<p>This article is going to show you how to setup a standard Ubuntu 10.04 Lucid Lynx Server to respond to a PXE boot request and present a boot menu ONLY. I will put practical applications such as installing Ubuntu over the network or booting a Live CD over the network into separate future articles.</p>
<p><span id="more-527"></span><em><strong>Pre-requisites:</strong></em></p>
<ul>
<li>A PC or virtual machine with an installation of Ubuntu Server on it. This tutorial was written using an Ubuntu Lucid 10.04 Server, but these instructions will work equally well on nearly any version of Ubuntu Server. This tutorial will not detail the initial build of a server as it is relatively straight forward.</li>
<li>A DHCP server that allows you to specific PXE boot information. Most consumer routers will <span style="text-decoration: underline;">not</span> give you these options. Suitable DHCP servers are the DHCP daemon on Ubuntu Server, third-party Linux router solutions such as Smoothwall or pfSense, and Windows Server among others.</li>
<li>If your DHCP server is a dedicated network/firewall device that you do not wish to use as a file server to serve the network boot files, then you will need a separate PC to be a file server as well.</li>
<li>Some free disk space. PXE booting take bugger-all space, but whatever you plan to serve from it will need space. If you plan to setup the Ubuntu Live CD to be bootable from PXE, you will need 700MB+ of hard-drive space on that server. You will need more than this if you wish to host things like multiple LiveCD&#8217;s such as both the 32-bit and 64-bit versions, or multiple different distributions.</li>
<li>A PC workstation that has PXE boot capability. Any PC built in the last 10 years should definitely have this capability, though you may be required to enable it in BIOS. If you do not have a PC that can do this, you can use a virtual machine such as Virtualbox instead (you could have a virtual machine PXE boot off a virtual PXE boot server too! <img src='http://www.serenux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</li>
<li>A copy of Ubuntu Server 10.04 that suits your server&#8217;s architechture.</li>
<li>A copy of the Ubuntu ALTERNATE Install CD 10.04 that we need to get some PXE boot files from. Unfortunately the Live CD does NOT contain the files we need.</li>
</ul>
<p>At the end of this exercise we will have a PXE server that will boot into a selection menu that will give us choices of things to do. We&#8217;re also going to pretty up the menu with a background image instead of just having plain boring text, and we&#8217;ll do this using some of the existing elements on the Ubuntu CD as most of the work has been done for you already!</p>
<p><em><strong>Getting it together:</strong></em></p>
<ol>
<li>Login to your server.<br />
.</li>
<li>Let&#8217;s install the software we need:
<pre><span style="color: #000080;">$ sudo apt-get install tftpd-hpa inetutils-inetd</span></pre>
<p>&#8230;this will install a Trivial FTP server which is essentially a super-simple FTP server plus the inetd daemon which will listen out for TFTP requests and direct them to the TFTP daemon.Before you ask, no you cannot use a regular FTP daemon like <em>vsftpd</em> or similar. It has to be a TFTP daemon. Beware: Ubuntu has two TFTP options in the repository &#8211; you <em>must</em> use the HPA version of the daemon as shown, as it handles large boot images while the other daemon does not. If you don&#8217;t use it, you will see boot errors.</li>
<li>By default Ubuntu sets up the TFTP daemon&#8217;s root directory to be <em>/var/lib/tftpboot</em> which may not suit your requirements. For the purposes of this tutorial, we will be changing this to <em>/srv/tftp</em> instead. To do this, we need to edit the <em>/etc/inetd.conf</em> file in a text editor:
<pre><span style="color: #000080;">$ sudo nano /etc/inetd.conf</span></pre>
</li>
<li>Scroll down to the bottom of the file and modify the <em>tftp</em> line (or add it if it&#8217;s missing) and substitute <em>/var/lib/tftpboot</em> bit on the end of that line with the path to your preferred directory:
<pre><span style="color: #000080;">tftp    dgram   udp    wait    root    /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s <strong>/srv/tftp</strong></span></pre>
</li>
<li>Save your changes by pressing CTRL+X and then &#8220;Y&#8221; and then Enter.<br />
.</li>
<li>Now we need to tell the Trivial FTP daemon where our TFTP root is. Open its config file with:
<pre><span style="color: #000080;">$ sudo nano /etc/default/tftpd-hpa</span></pre>
</li>
<li>Modify the <em>TFTP_DIRECTORY</em> line (usually the fourth line from the top) to be <em>/srv/tftp</em>:
<pre><span style="color: #000080;"># /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"</span><strong><span style="color: #000080;">
TFTP_DIRECTORY="/srv/tftp"</span></strong><span style="color: #000080;">
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"</span></pre>
</li>
<li>Save your changes by pressing CTRL+X and then &#8220;Y&#8221; and then Enter.<br />
.</li>
<li>Now we just need to restart the inetd and tftp services with:
<pre><span style="color: #000080;">$ sudo service inetutils-inetd restart
$ sudo service tftpd-hpa restart</span></pre>
</li>
<li>So that&#8217;s the TFTP daemon ready to serve files to a PXE agent. Now we need to create the directory where we will be putting all our PXE goodness into:
<pre><span style="color: #000080;">$ sudo mkdir -p /srv/tftp</span></pre>
</li>
<li>We now need to copy some files off the Ubuntu Alternate Install CD that make up the PXE boot files and the menu config files. I will use the 32-bit disc in this example, though the files are the same on the 64-bit disc for this step. Insert the CD or mount the downloaded Ubuntu Alternate Install CD ISO. In this case I will assume you have a physical CD mounted at <em>/media/cdrom</em>.
<pre><span style="color: #000080;">$ sudo cp /media/cdrom/install/netboot/pxelinux.0 /srv/tftp
$ sudo mkdir -p /srv/tftp/ubuntu-installer/i386
$ cd /media/cdrom/install/netboot/ubuntu-installer/i386
$ sudo cp -R boot-screens /srv/tftp/ubuntu-installer/i386
$ sudo cp initrd.gz linux /srv/tftp/ubuntu-installer/i386
</span></pre>
<p>(if you&#8217;re using the 64-bit CD, substitute all instances of &#8220;i386&#8243; above with &#8220;amd64&#8243; instead.)<br />
.</p>
<p><span style="color: #000080;"> </span></li>
<li>Now we need to setup the initial PXE boot process:
<pre><span style="color: #000080;">$ sudo mkdir /srv/tftp/pxelinux.cfg
$ sudo nano /srv/tftp/pxelinux.cfg/default</span></pre>
</li>
<li>You will now be looking at a blank text editor. In this, type the following:
<pre><span style="color: #000080;">include mybootmenu.cfg
default boot-screens/vesamenu.c32
prompt 0
timeout 100</span>
</pre>
<p>The <em>timeout 100</em> line will provide a 10 second countdown before it automatically chooses the default PXE menu option when you boot into it. If you do not want a timeout, then change this to <em>timeout 0</em> instead.</li>
<li>Press CTRL+X and then &#8220;Y&#8221; and then Enter to save your changes.<br />
.</li>
<li>Now let&#8217;s setup our actual boot menu that we&#8217;ll be choosing options from:
<pre><span style="color: #000080;">$ sudo nano /srv/tftp/mybootmenu.cfg</span></pre>
</li>
<li>Again you&#8217;ll be looking at a blank text editor. Type (or copy &amp; paste) in the following. Indenting text is not important, but makes it more readable:
<pre><span style="color: #000080;">menu hshift 13
menu width 49
menu margin 8
menu title My Customised Network Boot Menu
include ubuntu-installer/i386/boot-screens/stdmenu.cfg
menu begin Cool options
    default myfirstoption
    label myfirstoption
        menu label This is a menu item
    label mysecondoption
        menu label This is another option
menu end</span></pre>
<p><span style="color: #000080;"> </span></li>
<li>Press CTRL+X, then press &#8220;Y&#8221; and then Enter to save your changes.<br />
.</li>
<li>Finally, we need to change the permissions of all files concerned because TFTP will not read any files unless they are set to full access:
<pre><span style="color: #000080;">$ sudo chmod 777 -R /srv
</span></pre>
</li>
<li>That&#8217;s PXE server side ready to go. Now we need to tell PXE clients where to find the PXE boot server. <em>If you are NOT using Ubuntu as your DHCP server, then skip to step 23</em>, otherwise do the following:<span style="color: #000080;"> </span><span style="color: #000080;"><br />
</span></p>
<pre><span style="color: #000080;">$ sudo nano /etc/dhcp3/dhcp.conf</span></pre>
</li>
<li>This opens up the DHCP config file into your text editor. Assuming your PXE server is at 192.168.0.10, scroll right to the very bottom of this file and add the following:
<pre><span style="color: #000080;">next-server 192.168.0.10</span><span style="color: #000080;">
filename "/srv/tftp/pxelinux.0";</span></pre>
<p>(note the semi-colon on the end)<br />
.</li>
<li>Press CTRL+X, then &#8220;Y&#8221; and then Enter to save your changes.<br />
.</li>
<li>Restart the DHCP daemon with:<span style="color: #000080;"> </span><span style="color: #000080;"><br />
</span></p>
<pre><span style="color: #000080;">$ sudo /etc/init.d/dhcpd restart</span></pre>
</li>
<li>If you&#8217;re using a non-Ubuntu DHCP server, then look for any &#8220;network boot&#8221; options and specify the PXE boot server&#8217;s IP address and path to the <em>pxelinux.0</em> file there. For example, in Smoothwall, you would go to Services-&gt;DHCP and then check the &#8220;Network boot enabled&#8221; checkbox, then specify &#8220;192.168.0.10&#8243; (to suit our tutorial) into the &#8220;Boot server&#8221; box and &#8220;/var/lib/tftpboot/pxelinux.0&#8243; in the &#8220;Boot filename&#8221; box and &#8220;/srv/tftp&#8221; in the &#8220;Root path&#8221; box.<a href="http://www.serenux.com/wp-content/uploads/2010/05/SmoothwallConfig.png"><img class="aligncenter size-medium wp-image-712" title="Smoothwall PXE Configuration" src="http://www.serenux.com/wp-content/uploads/2010/05/SmoothwallConfig-300x103.png" alt="An example of configuring Smoothwall to allow PXE booting" width="300" height="103" /></a><br />
.</li>
<li>We should now be ready to try out our PXE boot server! On your test workstation or VM, enable booting off the network (in the case of PXE booting a Virtualbox VM, you must ensure that the network adapter is set to &#8220;bridged mode&#8221; instead of &#8220;NAT&#8221;) and fire away. You should first see your PC launch its PXE agent, looking for a DHCP server to tell it where the PXE server is:<br />
<a href="http://www.serenux.com/wp-content/uploads/2010/05/PXEStartBooting.png"><img class="aligncenter size-medium wp-image-704" title="Looking for a PXE server" src="http://www.serenux.com/wp-content/uploads/2010/05/PXEStartBooting-300x166.png" alt="" width="300" height="166" /><br />
</a></li>
<li>If your PXE server is working, within a few seconds you will see your boot menu!<a href="http://www.serenux.com/wp-content/uploads/2010/05/PXEMenu1.png"><img class="aligncenter size-medium wp-image-702" title="My First PXE Menu!" src="http://www.serenux.com/wp-content/uploads/2010/05/PXEMenu1-300x225.png" alt="" width="300" height="225" /></a>&#8230;and if you hit Enter on &#8220;cool options&#8221; you will now see a sub-menu showing your two options that we created.<a href="http://www.serenux.com/wp-content/uploads/2010/05/PXEMenu2.png"><img class="aligncenter size-medium wp-image-703" title="Our sub-menu of options" src="http://www.serenux.com/wp-content/uploads/2010/05/PXEMenu2-300x225.png" alt="" width="300" height="225" /></a></li>
<li>Well this is all well and good, but the menu currently doesn&#8217;t actually DO anything other than show us a bunch of options. How about we provide something, say the Memory Test application from the Ubuntu CD? Plus we&#8217;ll add an option to boot from the first HDD in your system. If your CD is still mounted on the server, then go back into the terminal you&#8217;ve been working in and copy over the MemTest app as follows:
<pre><span style="color: #000080;">$ sudo cp /media/cdrom/install/mt86plus /srv/tftp</span></pre>
</li>
<li>Now let&#8217;s add a menu entry for it:
<pre><span style="color: #000080;">$ sudo nano /srv/tftp/mybootmenu.cfg</span></pre>
</li>
<li>Modify the file so that it now looks like the following (add just the bolded lines):
<pre><span style="color: #000080;">menu hshift 13
menu width 49
menu margin 8
menu title My Customised Network Boot Menu
include ubuntu-installer/i386/boot-screens/stdmenu.cfg
<strong>label Boot from the first HDD
    localboot 0
label Memory Tester
    kernel mt86plus</strong>
menu begin Cool options
    default myfirstoption
    label myfirstoption
        menu label This is a menu item
    label mysecondoption
        menu label This is another option
menu end</span></pre>
</li>
<li>Save your changes and exit.<br />
.</li>
<li>Reboot your test PC via PXE and this time you will see your menu sport the new menu options at the top (you could have equally placed them at the bottom too):<br />
<a href="http://www.serenux.com/wp-content/uploads/2010/05/PXEMenu3.png"><img class="aligncenter size-medium wp-image-705" title="Added boot and memtest menu options" src="http://www.serenux.com/wp-content/uploads/2010/05/PXEMenu3-300x225.png" alt="" width="300" height="225" /></a></li>
<li>Choosing &#8220;Memory Tester&#8221; from the menu will launch the MemTest app straight away, just like off the CD. But by now you are probably wondering &#8220;Aren&#8217;t be building off Ubuntu 10.04? Why does the menu have the old logo on it? Can we change it?&#8221; Sure, we can!<br />
.</li>
<li>The Ubuntu 10.04 installer CD HAS got the new Ubuntu logo, but for some reason it&#8217;s only saved as a PCX file which won&#8217;t work for the PXE boot menu. We can fix this by simply re-saving the PCX file as a PNG file. To start with, get a copy of the <em>splash.pcx</em> file from the <em>/isolinux</em> directory on the Ubuntu CD. This is the new Ubuntu logo that you normally see on the CD&#8217;s boot menu.<br />
.</li>
<li>Load this file into an image editor such as The GIMP and re-save it as a PNG file, eg: <em>splash.png</em> (of course there&#8217;s nothing stopping you from creating your own graphic either &#8211; just make sure it&#8217;s no greater than 640&#215;480 in size and indexed down to 16 colours).<br />
<em>.<br />
</em></li>
<li>Copy the re-saved image file into <em>/srv/tftp/ubuntu-installer/i386/boot-screens</em> and overwrite the original <em>splash.png</em> file.<br />
.</li>
<li>Ensure that the permissions of the file are set correctly again with:
<pre><span style="color: #000080;">$ sudo chmod 777 -R /srv</span></pre>
</li>
<li>And when you reboot your PXE workstation again, your menu will now look like:<br />
<a href="http://www.serenux.com/wp-content/uploads/2010/05/PXEMenu4.png"><img class="aligncenter size-medium wp-image-706" title="The PXE boot menu with an alternate background graphic" src="http://www.serenux.com/wp-content/uploads/2010/05/PXEMenu4-300x225.png" alt="" width="300" height="225" /></a></li>
</ol>
<p>And there you have it. A working PXE server with menu!</p>
<p>I will document further uses of the PXE boot facility in future articles, including <a title="How to setup a Live CD for a PXE environment" href="http://www.serenux.com/2010/05/howto-get-an-ubuntu-live-cd-to-boot-off-a-pxe-server/" target="_blank">how to boot the Live CD environment without the CD or a USB key</a>, setup the ability to use your local Ubuntu mirror as an installation source for new installs, how to launch tools like Clonezilla and also how to setup a diskless boot system that uses PXE to do a normal Ubuntu desktop boot directly off the network without a local hard-drive.</p>
<p>Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2010/05/howto-setup-your-own-pxe-boot-server-using-ubuntu-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mini-Review: Generic hot-swap eSATA Docking Bay with Ubuntu</title>
		<link>http://www.serenux.com/2010/02/mini-review-generic-hot-swap-esata-docking-bay-with-ubuntu/</link>
		<comments>http://www.serenux.com/2010/02/mini-review-generic-hot-swap-esata-docking-bay-with-ubuntu/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 12:59:08 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Review]]></category>
		<category><![CDATA[Hard-Drive]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=631</guid>
		<description><![CDATA[I regularly deal with external hard-drives, be it for data backup or if I&#8217;m rescuing a client&#8217;s hard-drive from uncertain death. Since the idea of opening my PC on a regular basis to connect a drive is a bit of a turn off, I used to use an external USB drive enclosure. This works fine, [...]]]></description>
			<content:encoded><![CDATA[<p>I regularly deal with external hard-drives, be it for data backup or if I&#8217;m rescuing a client&#8217;s hard-drive from uncertain death.</p>
<p>Since the idea of opening my PC on a regular basis to connect a drive is a bit of a turn off, I used to use an external USB drive enclosure. This works fine, but it&#8217;s a bit slow (well, at least until USB 3.0 makes its debut). The eSATA standard allows you to connect external drives at full SATA speed, but it&#8217;s not cost-effective to buy an enclosure for every external drive you have.</p>
<p>Enter the Docking Bay. This is a simple weighed base that allows you to connect a hard-drive in a similar way to how you used to plug in game cartridges into a classic game console like the Atari 2600. You can then eject the hard-drive and plug another one in, all without restarting the PC.</p>
<p>This is a review of one such Docking Bay and how it works with Ubuntu, including the wonders of hot-swapping.</p>
<p><span id="more-631"></span>I came across this generic eSATA Docking Bay whilst browsing my local PC store. eSATA Docking Bays have been around for awhile now, but I never got around to getting one so I figured I may as well try this one and see how it went under Ubuntu.</p>
<p style="text-align: center;">
<div id="attachment_684" class="wp-caption aligncenter" style="width: 287px"><a href="http://www.serenux.com/wp-content/uploads/2010/02/DockingBay1.jpeg"><img class="size-large wp-image-684  " title="eSATA HDD Docking Bay" src="http://www.serenux.com/wp-content/uploads/2010/02/DockingBay1-768x1024.jpg" alt="" width="277" height="368" /></a><p class="wp-caption-text">With a HDD inserted into the dock.</p></div>
<div id="attachment_685" class="wp-caption aligncenter" style="width: 378px"><a href="http://www.serenux.com/wp-content/uploads/2010/02/DockingBay2.jpeg"><img class="size-large wp-image-685  " title="eSATA HDD Docking Bay 2" src="http://www.serenux.com/wp-content/uploads/2010/02/DockingBay2-1024x768.jpg" alt="" width="368" height="277" /></a><p class="wp-caption-text">Without the HDD inserted into the dock.</p></div>
<p>There is unit was branded &#8220;A-Power&#8221; but I&#8217;ve seen several of these drives with various brand names on it, so this one is as generic as they come, but it comes in one of three variants:</p>
<ol>
<li>eSATA and USB Docking Bay</li>
<li> eSATA and USB Docking Bay with in-built USB card-reader</li>
<li>USB-only Docking Bay with in-built USB card-reader</li>
</ol>
<p>In my case, I got the first variant as I already have a separate card-reader.</p>
<p><strong><span style="text-decoration: underline;">Hooking Up</span></strong></p>
<p>The Docking Bay is very easy to hook up. The package comes with the following components:</p>
<ul>
<li>The Docking Bay unit</li>
<li>Power Supply</li>
<li>eSATA cable</li>
<li>USB cable</li>
</ul>
<p>After connecting power, the Docking Bay is connected to the PC by the eSATA cable to a spare eSATA port on the back of your PC. You then insert the hard-drive into the slot on the top of the unit &#8211; it caters for both 3.5&#8243; desktop hard-drives and 2.5&#8243; notebook hard-drives. Once inserted, power on the drive using the power button at the back of the unit. The power light on the top of the Docking Bay will light up and you can now switch on your PC.</p>
<p><span style="text-decoration: underline;"><strong>Configuration</strong></span></p>
<p>eSATA Docking Bays don&#8217;t actually need any configuration as such. If you wish to make use of SATA&#8217;s ability to hot-swap, you will need to enable the Advanced Configuration Host Interface (AHCI) in your PC&#8217;s BIOS. Not every motherboard has AHCI, but if your machine is a recent machine, you should have AHCI capabilities. If you do not enable AHCI, you can still use your Docking Bay, however you will not be able to hot-swap a new drive without shutting down your PC first.</p>
<p><span style="text-decoration: underline;"><strong>Using the Docking Bay</strong></span></p>
<p>Drives inserted into the Docking bay appear like any ordinary permanently installed hard-drive inside your PC. You can format them, partition them, read and write data to them and see their SMART status like any other drive.</p>
<p>Doing an unscientific benchmarks using the <em>dd</em> app with a 7200rpm Seagate 1TB HDD, I was able to write straight zeros to the drive at a rate of about 116MB/s and read at about 120MB/s.</p>
<p>Real-world file copying transferred data at about 86MB/s which is consistent with normal single-drive copy speeds.</p>
<p>Doing a fresh installation of Ubuntu Karmic 9.10 on the hard-drive and booting my system from the docking bay and then repeating the boot test with the drive attached directly to the internal SATA connection as normal, Ubuntu booted in precisely the same amount of time, as one would expect. I was also able to dual-boot Ubuntu with Windows 7 without any issue.</p>
<p>Hot-swapping works well also. While Ubuntu is running, I insert my hard-drive into the dock, power on the drive and wait a few seconds. The drive appears in the Places menu, you choose it, enter your sudo password to mount the drive, and the drive appears on your desktop. When you are done with the drive, you simply do a right-mouse-click on the drive&#8217;s icon, choose &#8220;Unmount&#8221; and wait for any data to be written to the drive. Once the drive icon disappears off the desktop, you can then power off the drive in the docking bay, then press the eject button to remove the drive.</p>
<p>Dealing with differently sized drives, I tried a half-height Seagate 500GB I have (see photos). The spring-loaded flap on the top of the drive was able to hold the drive in place without a problem. Trying with a 2.5&#8243; notebook HDD, the docking bay provides a cut-out section that allows you to insert the 2.5&#8243; HDD but the flap does not press directly against the drive.</p>
<p><span style="text-decoration: underline;"><strong>Conclusion</strong></span></p>
<p>The convenience of a hard-drive docking station cannot be understated. This unit provides a simple, effective interface. For AUD$25 it&#8217;s cheap and in the last couple of months I&#8217;ve been using this unit, it has proven to be very reliable.</p>
<p>While this unit is not exactly the most elegant-looking of devices, it does the job and does it well.</p>
<p><span style="color: #0000ff;"><strong>Review score: 9 out of 10</strong></span></p>
<div class='wp_likes' id='wp_likes_post-631'><a class='like' href="javascript:wp_likes.like(631);" title='' ><img src="http://www.serenux.com/wp-content/plugins/wp-likes/images/like.gif" alt='' border='0'/>Like</a><span class='text'></span>
<div class='unlike'><a href="javascript:wp_likes.unlike(631);">Unlike</a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2010/02/mini-review-generic-hot-swap-esata-docking-bay-with-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo: Quickly transfer files from an Ubuntu box to another PC over a network without installing Samba, SSH or FTP.</title>
		<link>http://www.serenux.com/2009/12/howto-quickly-transfer-files-from-an-ubuntu-box-to-another-pc-over-a-network-without-installing-samba-ssh-or-ftp/</link>
		<comments>http://www.serenux.com/2009/12/howto-quickly-transfer-files-from-an-ubuntu-box-to-another-pc-over-a-network-without-installing-samba-ssh-or-ftp/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 09:21:12 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=660</guid>
		<description><![CDATA[Let&#8217;s say you have an Ubuntu PC and a second Windows PC or Mac. You need to do a quick transfer of a file or two from the Ubuntu box, but you really don&#8217;t want to go through the hassle of installing and configuring Samba or FTP just for the sake of transferring a couple [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say you have an Ubuntu PC and a second Windows PC or Mac. You need to do a quick transfer of a file or two from the Ubuntu box, but you really don&#8217;t want to go through the hassle of installing and configuring Samba or FTP just for the sake of transferring a couple of files.</p>
<p>Of course you could use a USB flash drive, but it takes twice as long to copy a file that way because you have to copy it to the flash drive and then copy it again from the flash drive to the destination PC. Besides that, what if you don&#8217;t have a flash drive big enough to transfer the files you want? Is there a quick and dirty way to transfer some files over a network without the need to install additional software to bridge the compatibility divide?</p>
<p>Indeed there is&#8230;</p>
<p><span id="more-660"></span><em>NOTE: This method is not suitable for transferring entire directories of files. While it is possible to transfer multiple files at once using this method, it is primarily intended for the transfer of very small quantities of files due to the fact that you have to initiate the transfer of each file manually &#8211; you cannot multi-select files for transfer unless you archive those files into a tarball first.<br />
</em></p>
<p><em></em>On the Ubuntu PC, open a terminal and type in the following at the $ prompt:</p>
<pre><span style="color: #000080;">$ python -m SimpleHTTPServer</span></pre>
<p>If this returns an error when you hit Enter, you are probably using an old version of Python, in which case use the following command instead:</p>
<pre><span style="color: #000080;">$ python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"</span></pre>
<p>When you hit Enter, you should see a message similar to the following:</p>
<pre><span style="color: #000080;">Serving HTTP on 0.0.0.0 port 8000 ...</span></pre>
<p>What we have done is started a basic mini web server using Python on port 8000 which will now happily serve files from the current directory you started the Python command from! Now open up a web browser on the other PC and, assuming your Ubuntu PC&#8217;s IP address is 10.0.0.27, surf to the following web address:</p>
<pre><span style="color: #000080;">http://10.0.0.27:8000</span></pre>
<p>Viola! A full directory listing on the Ubuntu PC is presented that you can now navigate and download files from without needing to install any other software to effect a transfer. Just right-click and save like any normal download link on any ordinary website.</p>
<p>If you started the Python command from your Home directory, then the root of the site starts from your Home directory. If you change to another directory before launching the Python command, the web server will serve files from that directory instead. Standard security rules apply &#8211; whatever access your Ubuntu user has will be applied to the Python web server. <em>It is not recommended that you run this command as root.</em></p>
<p>When you&#8217;re done, simply press CTRL+C to stop the Python web server on the Ubuntu PC.</p>
<p>Happy file transfers! <img src='http://www.serenux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2009/12/howto-quickly-transfer-files-from-an-ubuntu-box-to-another-pc-over-a-network-without-installing-samba-ssh-or-ftp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HowTo: Migrate an Apt-Mirror-generated Ubuntu archive to another mirror source or merge a foreign Apt-Mirror archive into yours</title>
		<link>http://www.serenux.com/2009/12/howto-migrate-an-apt-mirror-generated-ubuntu-archive-to-another-mirror-source-or-merge-a-foreign-apt-mirror-archive-into-yours/</link>
		<comments>http://www.serenux.com/2009/12/howto-migrate-an-apt-mirror-generated-ubuntu-archive-to-another-mirror-source-or-merge-a-foreign-apt-mirror-archive-into-yours/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 11:39:11 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[Apt]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Repository]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=651</guid>
		<description><![CDATA[So, you&#8217;ve gone and created your very own local Ubuntu mirror using Apt-Mirror, and you&#8217;ve come across a situation similar to: You&#8217;ve decided to change where you update your Apt-Mirror archive from (eg: you&#8217;ve changed ISP&#8217;s or feel that another source is more reliable than your current one to update from) You&#8217;re adding another large [...]]]></description>
			<content:encoded><![CDATA[<p>So, you&#8217;ve gone and <a title="HowTo: Create your own local Ubuntu mirror" href="http://www.serenux.com/2008/10/howto-setup-your-own-local-ubuntu-repository-mirror/" target="_blank">created your very own local Ubuntu mirror using Apt-Mirror</a>, and you&#8217;ve come across a situation similar to:</p>
<ul>
<li>You&#8217;ve decided to change where you update your Apt-Mirror archive from (eg: you&#8217;ve changed ISP&#8217;s or feel that another source is more reliable than your current one to update from)</li>
<li>You&#8217;re adding another large repository to your Apt-Mirror archive (such as the next version of Ubuntu) and don&#8217;t have the quota to download it, so you&#8217;re getting a friend to download it for you from their free server using Apt-Mirror (eg: iiNet and Internode customers can access their respective Ubuntu mirrors for free), so you need to be able to merge it with your own Apt-Mirror archive and have it update from your preferred source afterwards.</li>
</ul>
<p>So how do you do this? Read on.</p>
<p><span id="more-651"></span><span style="color: #0000ff;"><em><strong>Migrating your Apt-Mirror archive to update from a new source<br />
</strong></em></span></p>
<p>This one is really easy. Let&#8217;s say you are updating your Ubuntu mirror from Internode, but now want to get your updates from iiNet. To make this happen you need to change the following files:</p>
<ul>
<li>Your <em>/etc/apt/mirror.list</em> file needs to be updated to point to the new source, and</li>
<li>the Apt-Mirror&#8217;s record of downloaded files needs to be updated so that it doesn&#8217;t waste time trying to re-download the entire mirror again not realising that it&#8217;s already got 99% of all the files already, because Apt-Mirror tracks the files it has downloaded by the source URL and filename, not just the filenames themselves.</li>
</ul>
<p>So let&#8217;s go through this.</p>
<ol>
<li>Open a terminal load your <em>/etc/apt/mirror.list</em> file into your favourite text editor. In this case I will use the Nano text editor:
<pre><span style="color: #000080;">$ sudo nano /etc/apt/mirror.list</span></pre>
</li>
<li>In your <em>mirror.list</em> file, The lines for updating Ubuntu 32 and 64-bit versions plus source code from Internode can look similar to this:
<pre><span style="color: #000080;"># Ubuntu 9.10 Karmic Koala 32-bit
deb-i386 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic main restricted universe multiverse
deb-i386 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-updates main restricted universe multiverse
deb-i386 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-backports main restricted universe multiverse
deb-i386 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-security main restricted universe multiverse
deb-i386 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-proposed main restricted universe multiverse

</span><span style="color: #000080;"># Ubuntu 9.10 Karmic Koala 64-bit
deb-amd64 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic main restricted universe multiverse
deb-amd64 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-updates main restricted universe multiverse
deb-amd64 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-backports main restricted universe multiverse
deb-amd64 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-security main restricted universe multiverse
deb-amd64 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-proposed main restricted universe multiverse

# Ubuntu 9.10 Karmic Koala Source
deb-src http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic main restricted universe multiverse
deb-src http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-updates main restricted universe multiverse
deb-src http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-backports main restricted universe multiverse
deb-src http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-security main restricted universe multiverse
deb-src http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-proposed main restricted universe multiverse</span></pre>
</li>
<li>We need to change the Internode URL to the iiNet URL, so bring up Nano&#8217;s search and replace function by pressing CTRL+Backslash (&#8220;\&#8221;).<br />
.</li>
<li>Now type in the text to replace, in this case:
<pre><span style="color: #000080;">http://mirror.internode.on.net/pub/ubuntu/ubuntu</span></pre>
</li>
<li>Press Enter and you&#8217;ll be prompted for the text to replace this with. In this case it&#8217;s:
<pre><span style="color: #000080;">http://ftp.iinet.net.au/pub/ubuntu/</span></pre>
</li>
<li>Press Enter and Nano will find the first occurrence of the Internode text string and highlight it for you. If the selection is correct, press &#8220;A&#8221; on the keyboard to automatically replace &#8220;all&#8221; occurrences.<br />
.</li>
<li>Once the update is done, manually go back and visually verify that all the entries were changed correctly.<br />
.</li>
<li>When you&#8217;re happy, save your changes by pressing CTRL+X, then &#8220;Y&#8221; and then Enter.<br />
.</li>
<li>Now we need to update the Apt-Mirror record of downloaded files. First, let&#8217;s take a backup of the index in case you stuff up. Type in:
<pre><span style="color: #000080;">$ sudo cp /var/spool/apt-mirror/var/ALL /var/spool/apt-mirror/var/ALL_Backup</span></pre>
<p><em>NOTE: the filename &#8220;ALL&#8221; must be in uppercase</em><br />
.</li>
<li>Now let&#8217;s bring up the original file into the Nano text editor.
<pre><span style="color: #000080;">$ sudo nano /var/spool/apt-mirror/var/ALL</span></pre>
</li>
<li>Depending how large your index file is, there may be a brief delay while Nano opens it up. Once it appears, do the same search and replace as you did in steps 3-6 again. <em>Note: If the editor comes up blank, then you have not opened up the index file &#8211; check your path spelling in Step 9 and try again.</em><br />
.</li>
<li>Save your changes by pressing CTRL+X, then &#8220;Y&#8221; and then Enter.<br />
.</li>
<li>Finally, we need to modify the Apt-Mirror&#8217;s cache of downloaded files so that its directory structure matches that of the new source. In the case of iiNet, you&#8217;ll notice it&#8217;s URL has one less <em>ubuntu</em> word in it compared to Internode&#8217;s URL, so we&#8217;ll need to move some directories to eliminate the extra <em>ubuntu</em> directory. At the terminal, move the <em>dists</em> and <em>pool</em> directories of the mirrored files one directory back using the commands:
<pre><span style="color: #000080;">$ sudo mv /var/spool/apt-mirror/mirror/mirror.internode.on.net/pub/ubuntu/ubuntu/dists /var/spool/apt-mirror/mirror/mirror.internode.on.net/pub/ubuntu
$ sudo mv /var/spool/apt-mirror/mirror/mirror.internode.on.net/pub/ubuntu/ubuntu/pool /var/spool/apt-mirror/mirror/mirror.internode.on.net/pub/ubuntu</span></pre>
</li>
<li>Now rename the <em>mirror.internode.on.net</em> directory to become the name of the iiNet server:
<pre><span style="color: #000080;">$ sudo mv /var/spool/apt-mirror/mirror/mirror.internode.on.net /var/spool/apt-mirror/mirror/ftp.iinet.net.au</span></pre>
</li>
<li>The directory structure now matches iiNet&#8217;s server and your <em>ALL</em> file is up to date, so now we can test your changes by launching Apt-Mirror. Launch it manually with:
<pre><span style="color: #000080;">$ apt-mirror</span></pre>
</li>
<li>Watch the output. First Apt-Mirror will download all the repository indexes from the new location and will compare the files presented in those indexes to your local index of downloaded files (the modified <em>ALL</em> file). It will skip all files already listed as being present and will only download new files not listed in your local mirror. You should find Apt-Mirror advises only a small subset of data to download, perhaps only a few megabytes or no more than a gigabyte or two since your last update under the old setup. If you see that Apt-Mirror wants to download some 30GB or more, then you have made an error in changing the URL in the ALL index file or you incorrectly renamed the mirror directories. Press CTRL+C to stop Apt-Mirror, and go check your configuration from Step 10.
<pre><span style="color: #000080;">$ apt-mirror
Downloading 1080 index files using 5 threads...
Begin time: Wed Dec  9 15:59:23 2009
[5]... [4]... [3]... [2]... [1]... [0]...
End time: Wed Dec  9 16:00:45 2009

Proceed indexes: [SSSSSSSSSSPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP]

1.7 GiB will be downloaded into archive.
Downloading 998 archive files using 5 threads...
Begin time: Wed Dec  9 16:02:31 2009
[5]... [4]... [3]... [2]... [1]... [0]...
End time: Wed Dec  9 16:54:15 2009

207.4 MiB in 256 files and 1 directories can be freed.
Run /var/spool/apt-mirror/var/clean.sh for this purpose.
$</span></pre>
</li>
<li>You&#8217;re done! Pat yourself on the back. <img src='http://www.serenux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<p><span style="color: #0000ff;"><em><strong>Inserting a foreign Apt-Mirror archive into your own archive<br />
</strong></em></span></p>
<p>This one is slightly more involved, but is not difficult. In the case of a full Ubuntu Mirror, let&#8217;s say you were adding an Ubuntu Karmic mirror archive taken from iiNet&#8217;s mirror servers into your own local Apt-Mirror archive that featured only Intrepid and Jaunty, both of which you are updating from Internode&#8217;s mirror servers. There are some obstacles we need to overcome such as:</p>
<ul>
<li>Continuing to perform future updates for the Karmic repository from Internode rather than iiNet.</li>
<li>The foreign iiNet Karmic archive contains lots of files that you already have in your own archive &#8211; files that are common between all releases of Ubuntu. How do you filter those ones out and only copy the new files?</li>
<li>Finally, how do you update the Apt-Mirror index file with the potentially thousands of new entries from the foreign archive? How do you avoid duplicate lines potentially confusing Apt-Mirror?</li>
</ul>
<p>Follow these steps:</p>
<ol>
<li>First ensure that you have the full copy of the foreign Apt-Mirror archive supplied on a suitable storage medium. Aside from the mirror directory itself (usually under <em>/var/spool/apt-mirror/mirror</em>), you must have a copy of its <em>/var/spool/apt-mirror/var/ALL</em> file. It does not matter if the foreign mirror is not completely up to date, as Apt-Mirror will catch up with what is missing when you run the next update.<br />
.</li>
<li>Let&#8217;s prepare your local Apt-Mirror installation for grabbing Ubuntu Karmic from our preferred source first. We need to load up the <em>/etc/apt/mirror.list</em> file into your favourite text editor and add the entries relevant to our new repository that we are mirroring. I will use the Nano text editor for this, but you can use any text editor you like:
<pre><span style="color: #000080;">$ sudo nano /etc/apt/mirror.list</span></pre>
</li>
<li>Now we add the entries relevant to Ubuntu Karmic for Apt-Mirror to use. In this case, I am going to update Ubuntu Karmic from Internode and I will be grabbing both the 32-bit and 64-bit versions plus the source code (reflecting what is already included in the foreign archive on my storage medium, or Apt-Mirror will be doing a LOT of downloading the next time you run it), so I need to add the following entries:
<pre><span style="color: #000080;"># Ubuntu 9.10 Karmic Koala 32-bit
deb-i386 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic main restricted universe multiverse
deb-i386 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-updates main restricted universe multiverse
deb-i386 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-backports main restricted universe multiverse
deb-i386 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-security main restricted universe multiverse
deb-i386 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-proposed main restricted universe multiverse

# Ubuntu 9.10 Karmic Koala 64-bit
deb-amd64 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic main restricted universe multiverse
deb-amd64 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-updates main restricted universe multiverse
deb-amd64 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-backports main restricted universe multiverse
deb-amd64 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-security main restricted universe multiverse
deb-amd64 http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-proposed main restricted universe multiverse

# Ubuntu 9.10 Karmic Koala Source
deb-src http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic main restricted universe multiverse
deb-src http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-updates main restricted universe multiverse
deb-src http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-backports main restricted universe multiverse
deb-src http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-security main restricted universe multiverse
deb-src http://mirror.internode.on.net/pub/ubuntu/ubuntu karmic-proposed main restricted universe multiverse</span></pre>
</li>
<li>Save your changes and exit the editor using CTRL+X, then &#8220;Y&#8221; and then Enter.<br />
.</li>
<li>Make a backup copy of the foreign mirror&#8217;s <em>/var/spool/apt-mirror/var/ALL</em> file, so you can revert to it if you make a mistake. Call the copy something like <em>ALL_Backup</em>.<br />
.</li>
<li>Now open the foreign mirror&#8217;s original <em>/var/spool/apt-mirror/var/ALL</em> file into your favourite text editor.<br />
.</li>
<li>Use your text editor&#8217;s search and replace function (in Nano, press CTRL + Backslash &#8220;\&#8221;) to replace the URL of each entry in the foreign mirror&#8217;s <em>ALL</em> file to the URL of the mirror you will be performing your future updates from. In the case of changing iiNet URLs to Internode URLs, you would replace any occurrence of the text string:
<pre><span style="color: #000080;">http://ftp.iinet.net.au/pub/ubuntu</span></pre>
<p>&#8230;with&#8230;</p>
<pre><span style="color: #000080;">http://mirror.internode.on.net/pub/ubuntu/ubuntu</span></pre>
</li>
<li>Once updated, save your changes and close your text editor.<br />
.</li>
<li>Now we need to merge the modified foreign <em>ALL</em> file into the <em>ALL</em> file from your local Apt-Mirror setup. First up, rename the modified foreign <em>ALL</em> file so we don&#8217;t confuse it. For this tutorial, I will assume your foreign mirror is supplied on an external USB hard-drive called &#8220;myhdd&#8221; and is simply a copy of the foreign system&#8217;s <em>/var</em> directory in its entirety. The following will rename the file from <em>ALL</em> to <em>ALL_modified</em> in a terminal:
<pre><span style="color: #000080;">$ mv /media/myhdd/var/spool/apt-mirror/var/ALL /media/myhdd/var/spool/apt-mirror/var/ALL_modified
</span></pre>
</li>
<li>Now concatenate the original <em>ALL</em> file and the modified foreign mirror&#8217;s <em>ALL_modified</em> file into one new file called <em>ALL_new</em> in your local Apt-Mirror&#8217;s <em>var</em> directory. Concatenating alone <span style="text-decoration: underline;">will</span> result in duplicate lines and we need to sort the file so that any duplicate lines in both the local and foreign <em>ALL</em> files are brought together. We can sort the content of the concatenated files and remove duplicate lines in one hit with:
<pre><span style="color: #000080;">$ sudo cat /var/spool/apt-mirror/var/ALL /media/myhdd/var/spool/apt-mirror/var/ALL_modified | sort | uniq &gt; /var/spool/apt-mirror/var/ALL_new
</span></pre>
<p>The <em>cat</em> part of the command simply joins the content of <em>/var/spool/apt-mirror/var/ALL</em> and <em>/media/myhdd/var/spool/apt-mirror/var/ALL_modified</em> into one big file, but before it&#8217;s written to a physical file, the concatenated data is &#8220;piped&#8221; using the pipe symbol &#8220;|&#8221; into the <em>sort</em> command, which sorts the concatenated data into alphabetical order which will group duplicate lines together. But before that resultant output is written anywhere, the sorted data is then piped again into the <em>uniq</em> command which automagically removes all duplicate lines, leaving one unique copy of each line. Finally, we direct the output from <em>uniq</em> using the &#8220;&gt;&#8221; character into our physical destination file at <em>/var/spool/apt-mirror/var/ALL_new</em> at the end. The <em>sudo</em> command at the start is used simply because only the <em>root</em> and the <em>apt-mirror</em> users can actually write to the <em>/var/spool/apt-mirror/var</em> directory.</p>
<p>Alternatively, we can replace the &#8220;<em>| sort | uniq</em>&#8221; part with &#8220;<em>| sort -u</em>&#8221; which does the exact same thing, since the sort command does have it&#8217;s own &#8220;unique&#8221; functionality as well. I&#8217;ll leave it up to you which way you&#8217;d like to go.</li>
<li>Check your new <em>/var/spool/apt-mirror/var/ALL_new</em> file and you will find it now contains all your local and foreign mirror&#8217;s entries in alphabetical order and with no duplicate lines. If you&#8217;d like to see how this worked, re-work Step 10 without the <em>sort</em> and <em>uniq</em> commands or the pipe characters and see how it affects the output file. Try adding just the <em>sort</em> or just the <em>uniq</em> command too.<br />
.</li>
<li>Now rename your local mirror&#8217;s original <em>ALL</em> file because we&#8217;re about to replace it with the new one:
<pre><span style="color: #000080;">$ sudo mv /var/spool/apt-mirror/var/ALL /var/spool/apt-mirror/var/ALL_old</span></pre>
</li>
<li>Now rename the new <em>ALL</em>_new file to take the place of the old one:
<pre><span style="color: #000080;">$ sudo mv /var/spool/apt-mirror/var/ALL_new /var/spool/apt-mirror/var/ALL</span></pre>
</li>
<li>Right, that&#8217;s the index taken care of. We&#8217;re nearly done! Now we only have to merge the foreign mirror&#8217;s actual files into your local mirror. Once again, for the purposes of this tutorial I&#8217;m going to assume you have them stored on an external USB hard-drive called &#8220;myhdd&#8221; and is a copy of the foreign system&#8217;s entire <em>/var</em> directory, so the path to the foreign mirror&#8217;s files will be <em>/media/myhdd/var/spool/apt-mirror/mirror</em> &#8211; got that? Let&#8217;s change to that directory now in a terminal to save us having to type so much:
<pre><span style="color: #000080;">$ cd /media/myhdd/var/spool/apt-mirror/mirror</span></pre>
</li>
<li>Now, the observant of you may have noticed that Apt-Mirror stores its mirrored files using a directory structure that follows the path of the URL the data is obtained from, so in the case of a mirror from iiNet, there is a directory here called <em>ftp.iinet.net.au</em>. You can see it by using the <em>ls</em> command to list the directory contents:
<pre><span style="color: #000080;">$ ls -l
-rw-r--r--  1 apt-mirror apt-mirror   198599 2009-12-09 10:19 access.log
-rw-r--r--  1 apt-mirror apt-mirror   544373 2009-12-01 06:45 access.log.1
-rw-r--r--  1 apt-mirror apt-mirror  1863467 2009-11-03 06:44 access.log.2
-rw-r--r--  1 apt-mirror apt-mirror  1865334 2009-10-01 06:28 access.log.3
-rw-r--r--  1 apt-mirror apt-mirror 18152891 2009-09-01 06:42 access.log.4
-rw-r--r--  1 apt-mirror apt-mirror     6135 2009-12-09 06:46 error.log
-rw-r--r--  1 apt-mirror apt-mirror    33898 2009-12-01 06:45 error.log.1
-rw-r--r--  1 apt-mirror apt-mirror   124512 2009-11-03 06:44 error.log.2
-rw-r--r--  1 apt-mirror apt-mirror   554851 2009-10-01 06:28 error.log.3
-rw-r--r--  1 apt-mirror apt-mirror   831227 2009-09-01 06:42 error.log.4<strong>
drwxr-xr-x  3 apt-mirror apt-mirror     4096 2008-09-11 02:00 ftp.iinet.net.au</strong>
$</span></pre>
</li>
<li>We need to modify the foreign directory names and structure to exactly match that of the URL path your local mirror updates from. Starting with the obvious, we need to rename the <em>ftp.iinet.net.au</em> directory to be <em>mirror.internode.on.net</em> with:
<pre><span style="color: #000080;">$ sudo mv ftp.iinet.net.au mirror.internode.on.net</span></pre>
</li>
<li>Next we need to create an extra subdirectory called &#8220;ubuntu&#8221; because Internode&#8217;s URL path is <em>mirror.internode.on.net/pub/ubuntu/<strong>ubuntu/</strong></em> and iiNet&#8217;s path is <em>ftp.iinet.net.au/pub/ubuntu/</em> only:
<pre><span style="color: #000080;">$ sudo mkdir mirror.internode.on.net/pub/ubuntu/ubuntu</span></pre>
</li>
<li>Now we need to move the &#8220;dists&#8221; and &#8220;pool&#8221; directories under the first &#8220;ubuntu&#8221; directory to be under the second &#8220;ubuntu&#8221; directory:
<pre><span style="color: #000080;">$ sudo mv mirror.internode.on.net/pub/ubuntu/dists mirror.internode.on.net/pub/ubuntu/ubuntu
$ sudo mv mirror.internode.on.net/pub/ubuntu/pool mirror.internode.on.net/pub/ubuntu/ubuntu</span></pre>
</li>
<li>With the directory structure and directory names all amended, we are now ready to merge the foreign mirror&#8217;s files into your local mirror. We will do this using RSync. This tool traditionally is used to make backups and is indeed used to keep the official worldwide Ubuntu mirrors up to date 1:1 with the master archive, but in our case we are using it to add the &#8220;missing&#8221; files in the local mirror with the files from the foreign mirror whilst skipping the files that are already present, which means instead of copying around about 60GB worth of data from the foreign mirror, we&#8217;ll only copy a percentage of that instead, saving us time and drive space:
<pre><span style="color: #000080;">$ sudo rsync -avz --progress /media/myhdd/var/spool/apt-mirror/mirror/mirror.internode.on.net /var/spool/apt-mirror/mirror/</span></pre>
</li>
<li>The &#8220;&#8211;progress&#8221; parameter allows you to see which file is being copied over. You may see a large number of directory names whizz past because those directories don&#8217;t have any files that are different between your current Ubuntu Intrepid and Jaunty mirror and the Karmic mirror you are merging. Unfortunately rsync does not provide an all-over progress. It only provides a progress of the file it is currently working on. This procress can take several hours to complete depending on how much data needs to be copied and the speed of your storage medium containing the foreign mirror (which if on a USB HDD can take a looooong time).<br />
.</li>
<li>Once RSync has finished, it will give a summary of what was copied. If you were to run the rsync command in Step 16 again, you will see it finish rather quickly because there is no data that has changed or is missing anymore.<br />
.</li>
<li>Now we just quickly ensure that all the merged foreign files belong to the Apt-Mirror user with:
<pre><span style="color: #000080;">$ sudo chown apt-mirror:apt-mirror -R /var/spool/apt-mirror</span></pre>
</li>
<li>And now we are ready to try a manual update to see if it all worked. If you now execute the Apt-Mirror application manually, you should now see that it reads in the new repository entries you added into your /etc/apt/mirror.list file in Step 3 and will compare the files presented in those indexes to your local index of downloaded files (the newly modified <em>ALL</em> file). It will skip all files already present and will only download new files not present in your local mirror. You should find Apt-Mirror advises only a small subset of data to download, perhaps only a few megabytes or a gigabyte or two since your last update under the old setup and depending on how old the foreign archive was. If you see that Apt-Mirror wants to download about 30GB or more, then you have made an error in changing the URL in the <em>ALL</em> index file or the renaming of mirror directories. Press CTRL+C to stop Apt-Mirror, and go check your configuration from Step 5.
<pre><span style="color: #000080;">$ apt-mirror
Downloading 1080 index files using 5 threads...
Begin time: Wed Dec  9 15:59:23 2009
[5]... [4]... [3]... [2]... [1]... [0]...
End time: Wed Dec  9 16:00:45 2009

Proceed indexes: [SSSSSSSSSSPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP]

1.7 GiB will be downloaded into archive.
Downloading 998 archive files using 5 threads...
Begin time: Wed Dec  9 16:02:31 2009
[5]... [4]... [3]... [2]... [1]... [0]...
End time: Wed Dec  9 16:54:15 2009

207.4 MiB in 256 files and 1 directories can be freed.
Run /var/spool/apt-mirror/var/clean.sh for this purpose.
$</span></pre>
</li>
<li>If all is good, then pat yourself on the back. You&#8217;ve successfully merged the foreign repository and it will now update from your preferred ISP&#8217;s mirror from now on. <img src='http://www.serenux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2009/12/howto-migrate-an-apt-mirror-generated-ubuntu-archive-to-another-mirror-source-or-merge-a-foreign-apt-mirror-archive-into-yours/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo: Pair your Bluetooth mobile phone with Ubuntu Jaunty for file transfers etc.</title>
		<link>http://www.serenux.com/2009/08/howto-pair-your-bluetooth-mobile-phone-with-ubuntu-jaunty-for-file-transfers-etc/</link>
		<comments>http://www.serenux.com/2009/08/howto-pair-your-bluetooth-mobile-phone-with-ubuntu-jaunty-for-file-transfers-etc/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 01:53:19 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Bluetooth]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Jaunty]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=556</guid>
		<description><![CDATA[Following up my previous article of how to pair your Bluetooth mobile phone with Ubuntu Intrepid, I present this updated article for pairing your mobile phone using the updated version of the Bluez Bluetooth stack and the newer and better Blueman applet for Jaunty which greatly simplifies the process of pairing Bluetooth devices and transferring [...]]]></description>
			<content:encoded><![CDATA[<p>Following up my <a title="HowTo: Pair your Bluetooth mobile phone with Ubuntu Intrepid for file transfers, etc." href="http://www.serenux.com/2008/12/howto-pair-your-bluetooth-mobile-phone-with-ubuntu-intrepid-for-file-transfers-etc/" target="_blank">previous article of how to pair your Bluetooth mobile phone with Ubuntu Intrepid</a>, I present this updated article for pairing your mobile phone using the updated version of the Bluez Bluetooth stack and the newer and better Blueman applet for Jaunty which greatly simplifies the process of pairing Bluetooth devices and transferring files to your mobile phone.</p>
<p><span id="more-556"></span>First up, you need to follow the first 15 steps of my guide on <a title="HowTo: Setup a Nokia N95 as a Mobile Broadband Device in Ubuntu Jaunty" href="http://www.serenux.com/2009/08/howto-setup-your-nokia-n95-mobile-phone-as-a-mobile-broadband-device-via-bluetooth-in-ubuntu-jaunty/" target="_blank">how to seutp a Nokia N95 mobile phone as a Mobile Broadband Device</a> because we need to update the version of the Bluez Bluetooth stack and pair your mobile phone. Once you get to step 15 where it asks about connecting the phone as a dial-up networking device, you can either choose to continue setting that up all the way through to Step 22 (after all, you might find DUN to be of genuine use to you if you&#8217;re a Mobile Internet kind of guy), or choose &#8220;Don&#8217;t connect&#8221; instead and just finish at Step 15 and continue on with this article.</p>
<p>Once you&#8217;re Bluetooth stack is updated and your mobile phone is paired, transfrerring files is simplicity itself:</p>
<ol>
<li>Do a left-mouse click on the Bluetooth icon in your system tray. The Bluetooth Devices window will appear showing you your available or previously paired devices. Your mobile phone will be one of them.<br />
.<br />
<img class="aligncenter size-full wp-image-540" title="BTApplet" src="http://www.serenux.com/wp-content/uploads/2009/08/BTApplet.jpg" alt="BTApplet" width="265" height="62" />.</li>
<li>Do a right-mouse click on your mobile phone and choose &#8220;Browse&#8221; from the menu that appears (or select the mobile phone with the left-mouse button and then click on the &#8220;Browse&#8221; button in the toolbar).<br />
.<br />
<img class="aligncenter size-full wp-image-558" title="BTDevicesBrowseDevice" src="http://www.serenux.com/wp-content/uploads/2009/08/BTDevicesBrowseDevice.jpg" alt="BTDevicesBrowseDevice" width="512" height="392" />.<br />
<em>NOTE: If you get a &#8220;Could not display &#8216;obex://[xx:xx:xx:xx:xx:xx]/&#8217;.&#8221; error when trying to browse, it means that the Bluetooth connection has not re-established itself between your PC and your phone after a previous pairing (ie: &#8220;Host is down&#8221;). To fix this, click on the &#8220;Search&#8221; button in the toolbar which will &#8220;awaken&#8221; your phone&#8217;s Bluetooth awareness and then choose &#8220;Browse device&#8221; again. You should also set your PC and phone to be &#8220;trusted&#8221; or &#8220;authorised&#8221; on both sides to prevent timeouts caused by either end asking you for permission to establish the connection.</em><br />
.</li>
<li>If your PC is setup as being &#8220;trusted&#8221; or &#8220;authorised&#8221; on your phone, within a second or so a Nautilus window should appear showing you the content of your mobile phone, or in the case of my Nokia N95, two Windows-like folders named &#8220;C:&#8221; and &#8220;E:&#8221; which represent the phone&#8217;s internal memory and my 8GB SD card in the phone. You can browse them like any ordinary folders including copying and pasting files. An icon for the phone will also appear on the desktop (I&#8217;m using a custom icon here).<br />
.<br />
<img class="aligncenter size-full wp-image-560" title="BrowsingNokiaN95viaBluetooth" src="http://www.serenux.com/wp-content/uploads/2009/08/BrowsingNokiaN95viaBluetooth.jpg" alt="BrowsingNokiaN95viaBluetooth" width="733" height="465" />.</li>
<li>When you have finished dealing with the files on your phone, you need to cleanly disconnect the phone and end the Bluetooth session. You can do this one of two ways. Either click on the &#8220;Eject&#8221; triangle icon next to your phone&#8217;s name in the Places list of the Nautilus window, or in the Bluetooth Devices window, do a right-mouse click and choose &#8220;Disconnect Device&#8221; from the menu.<br />
.<br />
<img class="aligncenter size-full wp-image-565" title="BTDevicesDisconnectFromPhone" src="http://www.serenux.com/wp-content/uploads/2009/08/BTDevicesDisconnectFromPhone.jpg" alt="BTDevicesDisconnectFromPhone" width="514" height="392" />.</li>
<li>That&#8217;s it! Happy file transfers! <img src='http://www.serenux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2009/08/howto-pair-your-bluetooth-mobile-phone-with-ubuntu-jaunty-for-file-transfers-etc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>HowTo: Reclaim reserved disk space on non-system drives taken by the Ext3 filesystem.</title>
		<link>http://www.serenux.com/2009/04/howto-reclaim-reserved-disk-space-on-non-system-drives-taken-by-the-ext3-filesystem/</link>
		<comments>http://www.serenux.com/2009/04/howto-reclaim-reserved-disk-space-on-non-system-drives-taken-by-the-ext3-filesystem/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 14:53:49 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Hard-Drive]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Recovery]]></category>
		<category><![CDATA[Storage]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=471</guid>
		<description><![CDATA[I made a rather alarming discovery today, quite by accident. Like most people, I use an external hard-drive to backup data to, or to shift things around if I&#8217;m low on space on my PC&#8217;s internal drive. Well, today that external drive reported that it was full. Damn. So I fire up Ubuntu&#8217;s Disk Usage [...]]]></description>
			<content:encoded><![CDATA[<p>I made a rather alarming discovery today, quite by accident.</p>
<p>Like most people, I use an external hard-drive to backup data to, or to shift things around if I&#8217;m low on space on my PC&#8217;s internal drive. Well, today that external drive reported that it was full. Damn.</p>
<p>So I fire up Ubuntu&#8217;s Disk Usage Analyser, aka Boabab, to find out what&#8217;s consuming the most space. I use a 1TB external drive and it&#8217;s formatted total is about 916GB, which is about right, however Boabab reported that the total consumption of data on the drive only added up to about 860GB &#8211; wtf? Even Nautilus&#8217;s Volume Properties window was reporting that the drive still had 50GB-odd free, so why is the system telling me it&#8217;s full?</p>
<p>I use Ext3 on my drives and, being a journalled filesystem, some space on the drive is reserved to record these journals among other functions which is expected, but 50GB worth? I did some research and found out that the Ext3 filesystem reserves 5% of disk space by default for itself! In this day and age of large drives, that&#8217;s a huge chunk of lost space!!</p>
<p>Thankfully there is a way to tell Linux not to reserve so much space. Read on&#8230;</p>
<p><span id="more-471"></span></p>
<ol>
<li>First up, unmount your drive. You can do that by either right-clicking on the drive icon on the desktop and choosing &#8220;Unmount volume&#8221; or by clicking on the Eject icon next to it in the Places pane of any Nautilus window.<br />
.</li>
<li>Next, open up a terminal and type the following:
<pre><span style="color: #000080;">$ sudo fdisk -l
</span></pre>
<p>This will list all your available drives. Identify which one is your external drive and take note of the device name, eg: in my case my external drive appears as /dev/sdb with one partition on it, sdb1.<br />
.</li>
<li>Now type in the following:
<pre><span style="color: #000080;">$ sudo tune2fs -m 1 /dev/sdb1
</span></pre>
<p>This will modify the filesystem on that drive, on that one partition, to only reserve 1% instead of the default 5%.<br />
.</li>
<li>Now re-mount your drive by clicking on its name in the Places pane in a Naultilus window.<br />
.</li>
<li>The Nautilus Device Properties window will still show the same free space as before, because it reports the true total free space, but any Nautilus File Manager window only reports <em>usable</em> free space, which in the case of my external drive had now freed up a very sizable 37GB!<br />
.</li>
<li>Lather, rinse, repeat on any other non-system drive partitions on the same or different drive you want to reclaim space back for.</li>
</ol>
<p>You learn something new everyday. <img src='http://www.serenux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2009/04/howto-reclaim-reserved-disk-space-on-non-system-drives-taken-by-the-ext3-filesystem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mini-Review: Transcend JF V60 32GB USB Flash Drive on Ubuntu</title>
		<link>http://www.serenux.com/2009/01/mini-review-transcend-jf-v60-32gb-usb-flash-drive-on-ubuntu/</link>
		<comments>http://www.serenux.com/2009/01/mini-review-transcend-jf-v60-32gb-usb-flash-drive-on-ubuntu/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 04:15:01 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Review]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Transcend]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=376</guid>
		<description><![CDATA[It was only just 10 years ago that some of the first USB Flash Drive storage solutions became available in the form of highly expensive sticks that only had a capacity of upwards to 32MB (yes, Megabytes) and had transfer speeds that were slower than molasses on sandpaper. Today, we now have 32GB USB Flash [...]]]></description>
			<content:encoded><![CDATA[<p>It was only just 10 years ago that some of the first USB Flash Drive storage solutions became available in the form of highly expensive sticks that only had a capacity of upwards to 32MB (yes, Megabytes) and had transfer speeds that were slower than molasses on sandpaper.</p>
<p>Today, we now have 32GB USB Flash Drives that go for a paltry AUD$95, and this is a review of Transcend&#8217;s offering.</p>
<p><span id="more-376"></span>I have to admit I&#8217;m a bit of sucker for Transcend. They make good products that perform well at a reasonable price, and I have bought several of their USB Flash Drive products over the last 5 years from 1GB through to 8GB. Sure, there are solutions that are much faster than Trancend, such as Corsair, but along with that comes a larger price tag. The Transcend product is competitively priced and performs more than acceptably to be used even as a boot device.</p>
<p>So today I obtained a 32GB stick. The package is simple &#8211; along with some catalogue advertising material, the stick itself is roughly 10mm x 50mm in size and is about 6mm deep, comes with a Transcend-branded lanyard, a removable thin clear plastic layer on the burgundy-coloured part of the stick to protect it from scratches and that&#8217;s pretty much it. The non-retractable USB connector is protected by a removable plastic cap. Refreshingly, the cardboard insert from the packaging actually makes reference to Linux as a supported platform, citing a requirement of kernel 2.4.2 or later.</p>
<p style="text-align: center;"><a title="Click for full size" href="http://www.serenux.com/~hyrax/pics/transcend32gb/TranscendJFV60_32GBUSBFlash.jpg" target="_blank"><img title="The Transcend 32GB USB Flash Drive" src="http://www.serenux.com/~hyrax/pics/transcend32gb/TranscendJFV60_32GBUSBFlash_thumb.jpg" alt="Click for full size" /></a><br />
Click for full size (230K)</p>
<p>Like all sticks these days, this USB 2.0 unit is pre-formatted to FAT32 thus allowing it to work with pretty much every major platform out there. Personally I rarely use my sticks on Windows PC&#8217;s, though I keep an 8GB stick handy with FAT32 just in case. Most of the time, however, I reformat them to EXT2 or EXT3.</p>
<p>So, let&#8217;s plug this guy in. It&#8217;s always interesting to see how they implement the activity LED (well OK, it&#8217;s hardly anything to write home about, but I&#8217;ve got to generate some excitement somehow&#8230;!). Previous Transcend sticks had an obvious dot on the top, usually sporting a blue LED as has been the trend for the last few years, but this time they&#8217;ve gone different. There is no obvious hole on the stick for an activity light and upon connecting it to my PC&#8217;s front USB ports, the end of the stick suddenly lit up in bright roadwork-vest-orange. Well, that&#8217;s a welcome change. I can leave it plugged in a dark room without it becoming distracting! The LED remains on all the time to show that it is active and flashes HDD-style when there is activity.</p>
<p style="text-align: center;"><a title="Click for full size" href="http://www.serenux.com/~hyrax/pics/transcend32gb/Transcend32GBActivityLED.jpg" target="_blank"><img title="The Transcend 32GB USB Flash Drive's Activity LED" src="http://www.serenux.com/~hyrax/pics/transcend32gb/Transcend32GBActivityLED_thumb.jpg" alt="Click for full size" /></a><br />
Click for full size (118K)</p>
<p>Nautilus popped up its usual &#8220;what do you want to do&#8221; prompt and I elected to open a window. As typical with most USB Flash Drives, this one came up imaginatively titled &#8220;disk&#8221; which is Ubuntu&#8217;s way of telling you that the stick has no actual label. The stick itself is completely empty &#8211; no promotional software or funky one-touch-backup applications are included.</p>
<p>First thing was first &#8211; relabel that stick. There&#8217;s nothing worse than having several USB Flash Drives and not knowing what&#8217;s on them at a glance. I fired up Ubuntu&#8217;s Partition Editor (GParted) and had a look at the stick. The stick&#8217;s actual storage space is 29.92GB and I observed that the leading 4MB were not allocated. Usually you find most Windows-formatted devices have the last few MB unallocatable, not that it actually matters.</p>
<p><img class="aligncenter size-full wp-image-377" title="Transcend 32GB Stick in GParted" src="http://www.serenux.com/wp-content/uploads/2009/01/transcend32gbstickingparted.jpg" alt="Transcend 32GB Stick in GParted" width="560" height="339" /></p>
<p>Anyway, I quickly unmounted the stick and renamed it and remounted it. For those that are interested, this is what the dmesg output for it looks like:</p>
<pre><span style="color: #000080;">usb 8-3: new high speed USB device using ehci_hcd and address 8
usb 8-3: configuration #1 chosen from 1 choice
scsi19 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 8
usb-storage: waiting for device to settle before scanning
usb-storage: device scan complete
scsi 19:0:0:0: Direct-Access     JetFlash Transcend 32GB   8.07 PQ: 0 ANSI: 2
sd 19:0:0:0: [sdf] 62750720 512-byte hardware sectors (32128 MB)
sd 19:0:0:0: [sdf] Write Protect is off
sd 19:0:0:0: [sdf] Mode Sense: 03 00 00 00
sd 19:0:0:0: [sdf] Assuming drive cache: write through
sd 19:0:0:0: [sdf] 62750720 512-byte hardware sectors (32128 MB)
sd 19:0:0:0: [sdf] Write Protect is off
sd 19:0:0:0: [sdf] Mode Sense: 03 00 00 00
sd 19:0:0:0: [sdf] Assuming drive cache: write through
 sdf: sdf1
sd 19:0:0:0: [sdf] Attached SCSI removable disk
sd 19:0:0:0: Attached scsi generic sg6 type 0
</span></pre>
<p>Exciting stuff. <img src='http://www.serenux.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>With my now-properly-named stick, it was time to do some read/write tests. The stick comes preformatted as FAT32, so we&#8217;ll use that, but at the same time I will also conduct some tests using Linux-native filesystems. In this case, EXT3. Our test data will be a series of 15,645 thumbnail images, each averaging about 18K in size. We will also do a large file copy test using a compressed high-definition video file at 3.1GB in size. We will time how long it takes to copy this data to the USB Flash Drive and calculate the transfer speed from that. Then we will reboot the machine, to ensure no data is cached, and copy that data back from the USB stick to measure the read speed.</p>
<p>For comparison, we will also do the EXT3 tests with an older (6 month old) 8GB USB Flash Drive, also made by Transcend, to see if there has been a notable change in read or write speed between products.</p>
<p>First up, the small file copy test. Our test data is 15,645 thumbnail files from our host PC&#8217;s hard-drive, each averaging about 18K in size (total 281MB).</p>
<ul>
<li>Using the FAT32 filesystem on the 32GB stick, copying the small files took 12 minutes to copy at approximately 345K per second. Ouch &#8211; slow.</li>
<li>Using the Ext3 filesystem on the 32GB stick, copying the same files took only 2 minutes and 53 seconds at a rate of approximately 1.6MB per second. Much better.</li>
<li>And using the EXT3 filesystem on the older 8GB stick, copying the same data took only 2 minutes and 40 seconds, <em>just</em> edging out the 32GB stick.</li>
</ul>
<p><img class="aligncenter size-full wp-image-385" title="Small File Copy Test - Time Taken" src="http://www.serenux.com/wp-content/uploads/2009/01/transcendsmallcopytesttime.jpg" alt="Small File Copy Test - Time Taken" width="402" height="156" /></p>
<p><img class="aligncenter size-full wp-image-384" title="Small File Copy Test - Transfer Speed" src="http://www.serenux.com/wp-content/uploads/2009/01/transcendsmallcopytestspeed.jpg" alt="Small File Copy Test - Transfer Speed" width="401" height="156" /></p>
<p>Now for the large file copy test. Our test data is a single 3.1GB high-definition video file being copied from the host PC&#8217;s hard-drive.</p>
<ul>
<li>Using the FAT32 filesystem on the 32GB stick, copying the large file took a pathetic 69 minutes and 24 seconds to transfer, or about 780K per second. It really shows that FAT32 really does <em>not</em> like large files at all.</li>
<li>Using the Ext3 filesystem on the 32GB stick, copying the same file took a far more respectable 6 minutes and 16 seconds to complete at approximately 8.4MB per second.</li>
<li>Finally, the Ext3-formatted 8GB stick copied the file in 5 minutes and 55 seconds, which beats the 32GB stick, but only by about 20 seconds and half a megabyte per second (8.9MB/s).</li>
</ul>
<p><img class="aligncenter size-full wp-image-381" title="Large File Copy Test - Time Taken" src="http://www.serenux.com/wp-content/uploads/2009/01/transcendlargecopytesttime.jpg" alt="Large File Copy Test - Time Taken" width="400" height="158" /></p>
<p><img class="aligncenter size-full wp-image-380" title="Large File Copy Test - Transfer Speed" src="http://www.serenux.com/wp-content/uploads/2009/01/transcendlargecopytestspeed.jpg" alt="Large File Copy Test - Transfer Speed" width="404" height="160" /></p>
<p>To be fair, Windows&#8217; NTFS filesystem should show reasonably similar figures to Ext3, but I did not test that as this article is about Ubuntu, not Windows! <img src='http://www.serenux.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Finally, we have the read-test. We rebooted the host PC to clear any cached data and copied only the 3.1GB large file from the USB stick to the host PC&#8217;s hard-drive.</p>
<ul>
<li>The FAT32-formatted 32GB stick copied the file in 3 minutes and 13 seconds. Exponentially faster than its write action.</li>
<li>The EXT3-formatted 32GB stick took 2 minutes and 32 seconds to copy the file.</li>
<li>The EXT3-formatted 8GB stick by comparison did the same copy in 3 minutes and four seconds. Interesting that it&#8217;s a slow reader compared to the 32Gb stick, but a slightly faster writer.</li>
</ul>
<ul></ul>
<p><img class="aligncenter size-full wp-image-383" title="Large File Read Test - Time Taken" src="http://www.serenux.com/wp-content/uploads/2009/01/transcendreadtesttime.jpg" alt="Large File Read Test - Time Taken" width="395" height="146" /></p>
<p><img class="aligncenter size-full wp-image-382" title="Large File Read Test - Transfer Speed" src="http://www.serenux.com/wp-content/uploads/2009/01/transcendreadtestspeed.jpg" alt="Large File Read Test - Transfer Speed" width="403" height="155" /></p>
<p>So transfer speeds have largely remained unchanged between generations, which is a Good Thing(TM) &#8211; if there is any faster speed, then that&#8217;s a bonus, but the last thing you want is greater capacity at a tragic expense of transfer speed, and whilst we do have that discrepancy here, it&#8217;s negligible at best.</p>
<p><strong>Conclusion</strong></p>
<p>Trancend&#8217;s 32GB USB Flash Drive is not the largest currently-available on the market, but it is certainly one of the most affordable and has good performance to boot. Aesthetically, the white plastic looks and feels a little cheap, but the stick as a whole feels robust and could probably take a few knocks without having a fit. The lanyard included is more than adequate to hang around your neck with, and the overall size of the stick means you could also comfortably add it to your keyring or hip pocket without it getting in the way, though the separate USB cap could probably be easily lost in that instance.</p>
<p><span style="color: #0000ff;"><strong>Review score: 8 out of 10</strong></span></p>
<div class='wp_likes' id='wp_likes_post-376'><a class='like' href="javascript:wp_likes.like(376);" title='' ><img src="http://www.serenux.com/wp-content/plugins/wp-likes/images/like.gif" alt='' border='0'/>Like</a><span class='text'></span>
<div class='unlike'><a href="javascript:wp_likes.unlike(376);">Unlike</a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2009/01/mini-review-transcend-jf-v60-32gb-usb-flash-drive-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo: Pair your Bluetooth mobile phone with Ubuntu Intrepid for file transfers etc.</title>
		<link>http://www.serenux.com/2008/12/howto-pair-your-bluetooth-mobile-phone-with-ubuntu-intrepid-for-file-transfers-etc/</link>
		<comments>http://www.serenux.com/2008/12/howto-pair-your-bluetooth-mobile-phone-with-ubuntu-intrepid-for-file-transfers-etc/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 21:59:03 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Bluetooth]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Intrepid]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=187</guid>
		<description><![CDATA[While connecting a Bluetooth mobile phone to Ubuntu was not terribly difficult, Ubuntu Intrepid brings with it a new Wizard for connecting all manner of Bluetooth devices without the user having to touch the command line at all. So, to that end, here is an update to my previous HowTo for connecting a Bluetooth mobile [...]]]></description>
			<content:encoded><![CDATA[<p>While connecting a Bluetooth mobile phone to Ubuntu was not terribly difficult, Ubuntu Intrepid brings with it a new Wizard for connecting all manner of Bluetooth devices without the user having to touch the command line at all.</p>
<p>So, to that end, here is an update to my previous HowTo for <a title="HowTo: Connect a Bluetooth Mobile Phone to Ubuntu Gutsy or Ubuntu Hardy." href="http://www.serenux.com/?p=10">connecting a Bluetooth mobile phone to Ubuntu Gusty or Ubuntu Hardy</a>.</p>
<p><span id="more-187"></span></p>
<p><em><strong>EDIT August 2009: If you are wanting to connect your phone using Ubuntu Jaunty or later, you should <a title="HowTo: Pair your Bluetooth mobile phone with Ubuntu Jaunty for file transfers, etc." href="http://www.serenux.com/2009/08/howto-pair-your-bluetooth-mobile-phone-with-ubuntu-jaunty-for-file-transfers-etc/" target="_blank">follow these updated instructions</a> instead of this article.</strong></em></p>
<p>Pre-requisites:</p>
<ul>
<li>Bluetooth-enabled mobile phone (I&#8217;m using a Nokia N95 in this guide).</li>
<li>USB Bluetooth adapter or PC with built-in Bluetooth such as a modern-day notebook. Your adapter must be Bluetooth 1.2 compliant or higher.</li>
<li>A PC with Ubuntu Linux 8.10 Intrepid Ibex installed.</li>
</ul>
<p>Difficulty level: Mind-bogglingly easy. Point and click, essentially!</p>
<ol style="list-style-type: decimal;">
<li>First, plug in your USB Bluetooth adapter or enable it on your notebook. Ubuntu should recognise it immediately with no need for additional drivers. You can optionally confirm that by jumping into a terminal as issuing the lsusb command to list your USB devices:
<pre><span style="color: #333399;">$ lsusb | grep tooth
Bus 001 Device 005: ID 1310:0001 Roper Class 1 Bluetooth Dongle
$</span></pre>
</li>
<li>You’ll be happy to know that Ubuntu comes pre-installed with everything you need to get Bluetooth running, and if the driver is loaded successfully, you will see a Bluetooth icon appear in your system tray, awaiting your bidding.<br />
.</li>
<p style="text-align: center;"><img class="alignnone size-full wp-image-196" title="Bluetooth System Tray" src="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothsystemtray.jpg" alt="" width="177" height="66" /></p>
<li>Do a single left-mouse click on the Bluetooth icon and a menu appears showing &#8220;Setup new device&#8230;&#8221;.<br />
.<br />
<a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothsetupnewdevice.jpg"></a></li>
<p style="text-align: center;"><img class="alignnone size-full wp-image-194" title="Bluetooth Setup New Device" src="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothsetupnewdevice.jpg" alt="" width="188" height="68" /></p>
<li>Once you choose the menu option, the Bluetooth Device Wizard will appear.<br />
.<br />
<a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothsetupwizardstart.jpg"><img class="alignnone size-full wp-image-195" title="Bluetooth Setup Wizard Start" src="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothsetupwizardstart.jpg" alt="" width="474" height="469" /><br />
</a>.<a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothsetupwizardstart.jpg"><br />
</a></li>
<li>Click Forward and your system will begin scanning for local Bluetooth devices. Whatever it finds will be shown in the list (note that this may take a few seconds to update). One of them should be your Bluetooth-enabled mobile phone (which will initially appears as its MAC address, but then after a few seconds will change to the name assigned to that device). If you cannot see your phone after a few seconds, make sure that Bluetooth is enabled on your handset and try again from Step 3.<br />
.<br />
<a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothsetupdeviceselection.jpg"><img class="alignnone size-full wp-image-193" title="Bluetooth Setup Device Selection" src="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothsetupdeviceselection.jpg" alt="" width="474" height="469" /><br />
</a>.<br />
<a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothsetupdeviceselection.jpg"><br />
</a></li>
<li>Select your phone and his Forward. Ubuntu will then generate a random PIN number and commence a pairing request with your phone. Your phone handset, meantime, should immediately prompt you to enter the randomly-generated PIN number.<br />
.<br />
<a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothdevicesetupenteringpin.jpg"><img class="alignnone size-full wp-image-190" title="Bluetooth Device Setup Entering Pin" src="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothdevicesetupenteringpin.jpg" alt="" width="474" height="469" /><br />
</a>.<a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothsetupwizardstart.jpg"><br />
</a><a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothdevicesetupenteringpin.jpg"></a></li>
<li>Once you have entered the PIN code on your phone, Ubuntu will complete the pairing request and that&#8217;s it &#8211; pairing done!<br />
.<br />
<a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothdevicesuccessfullyconfigured.jpg"><img class="alignnone size-full wp-image-191" title="Bluetooth Device Successfully Configured" src="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothdevicesuccessfullyconfigured.jpg" alt="" width="474" height="469" /><br />
</a>.<a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothdevicesuccessfullyconfigured.jpg"><br />
</a></li>
<li>Now we can start doing things, such as file transfers. Go back to the Bluetooth icon in your System Tray and this time do a single right-mouse click on it. A new menu appears. Go to &#8220;Browse files on device&#8230;&#8221;.<br />
.<br />
<a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothbrowsedevice.jpg"><img class="alignnone size-full wp-image-188" title="Bluetooth browse Device" src="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothbrowsedevice.jpg" alt="" width="252" height="177" /></a><br />
.</li>
<li>You will be asked which of your paired Bluetooth devices you wish to browse. Choose your phone from the list and click the &#8220;Connect&#8221; button.<br />
.<br />
<a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothselectdevicetobrowse.jpg"><img class="alignnone size-full wp-image-192" title="Bluetooth Select Device to Browse" src="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothselectdevicetobrowse.jpg" alt="" width="458" height="429" /><br />
</a>.<a href="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothselectdevicetobrowse.jpg"><br />
</a></li>
<li>After a brief delay, a Nautilus window should pop up showing your phone&#8217;s &#8220;drives&#8221;. In the case of my Nokia N95, the phone&#8217;s internal memory is presented a Windows-esque C: drive and the memory card is presented as E: drive. What appears here is ultimately down to how your phone manufacturer has implemented the filesystem.<br />
.<br />
<img class="alignnone size-full wp-image-189" title="Bluetooth device browsing" src="http://www.serenux.com/wp-content/uploads/2008/12/bluetoothdevicebrowsing.jpg" alt="" width="500" height="380" /><br />
.</li>
<li>At this time, an icon for your phone will also be added to your desktop (I use a custom icon on mine):<br />
.<br />
<a href="http://www.serenux.com/wp-content/uploads/2008/12/mynokian95mountedicon.jpg"><img class="alignnone size-full wp-image-197" title="My Nokia N95 mounted icon" src="http://www.serenux.com/wp-content/uploads/2008/12/mynokian95mountedicon.jpg" alt="" width="206" height="234" /></a><br />
.</li>
<li>Browse and copy files as normal. When you are done, you should disconnect your phone by unmounting it with the Unmount or Eject right-mouse menu options (or the Eject icon next to your phone&#8217;s name in the Bookmark list).<br />
.<br />
<a href="http://www.serenux.com/wp-content/uploads/2008/12/unmountingmynokian95.jpg"><img class="alignnone size-full wp-image-198" title="Unmounting my Nokia N95" src="http://www.serenux.com/wp-content/uploads/2008/12/unmountingmynokian95.jpg" alt="" width="298" height="482" /></a><br />
.</li>
<li>And that&#8217;s it! Pat yourself on the back. Job done. <img src='http://www.serenux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<div class='wp_likes' id='wp_likes_post-187'><a class='like' href="javascript:wp_likes.like(187);" title='' ><img src="http://www.serenux.com/wp-content/plugins/wp-likes/images/like.gif" alt='' border='0'/>Like</a><span class='text'></span>
<div class='unlike'><a href="javascript:wp_likes.unlike(187);">Unlike</a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2008/12/howto-pair-your-bluetooth-mobile-phone-with-ubuntu-intrepid-for-file-transfers-etc/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Mini-Review: The Fujitsu Dynadisq III 320GB USB Portable External HDD</title>
		<link>http://www.serenux.com/2008/11/mini-review-the-fujitsu-dynadisq-iii-320gb-usb-portable-external-hdd/</link>
		<comments>http://www.serenux.com/2008/11/mini-review-the-fujitsu-dynadisq-iii-320gb-usb-portable-external-hdd/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 14:10:02 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Review]]></category>
		<category><![CDATA[Fujitsu]]></category>
		<category><![CDATA[Hard-Drive]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=127</guid>
		<description><![CDATA[Actually, I tell a lie &#8211; the full title for this product is the &#8220;Dynadisq III High Speed USB 2.0 Portable Storage &#38; Backup Solution for Fujitsu 2.5&#8243; SATA Disk Drives&#8221; (say that in one breath 5 times)! Title aside, this is one of yet another series of pre-packaged drive &#38; enclosure solutions being bandied [...]]]></description>
			<content:encoded><![CDATA[<p>Actually, I tell a lie &#8211; the full title for this product is the <em>&#8220;Dynadisq III High Speed USB 2.0 Portable Storage &amp; Backup Solution for Fujitsu 2.5&#8243; SATA Disk Drives&#8221;</em> (say that in one breath 5 times)!</p>
<p>Title aside, this is one of yet another series of pre-packaged drive &amp; enclosure solutions being bandied about the market today. These solutions are gaining interest with a lot of consumers because they generally manage to undercut the combined cost of buying the same hard-drive and enclosure separately, so much in fact that many users who only need the drive, buy the solution package, rip out the drive and discard the case because in some cases (pun not intended), it can be cheaper this way.</p>
<p>Cost aside, what if you simply need to have a cost-effective external portable backup solution with minimal hassles? That immediately calls for a notebook hard-drive that can be powered by the USB data cable.</p>
<p><span id="more-127"></span></p>
<p>A quick trip down to the weekly gatherings of some of my favourite vendors saw me come across Fujitsu&#8217;s answer to the masses &#8211; the intriguingly named <em>Dynadisq III</em> unit, available in several sizes. I am using the 320GB model for this review.</p>
<p>For AUD$130 you get:</p>
<ul>
<li>A single 320GB SATA 2.5&#8243; notebook-sized hard-drive.</li>
<li>Smart-looking matte silver enclosure with mini-USB, 5v external power and a small &#8220;Backup&#8221; button with some moderate styling and the Fujitsu logo embossed on top (the hard-drive is already pre-installed in the enclosure). The top side also features two LED&#8217;s &#8211; one green one for power and a red one for the obligatory activity notification. No blue LED&#8217;s in sight.</li>
<li>A nice fake-leather pouch with a pocket and elastic strap to hold the drive, and several side pockets for cards and, er&#8230; stuff.</li>
<li>A USB to mini-USB data lead.</li>
<li>A USB to 5v-power lead.</li>
<li>One-page &#8220;getting started&#8221; instructions (for Windows users only despite saying the unit will work on a &#8220;range of different computer operating systems&#8221;).</li>
<li>A 50MB backup application installation CD-ROM (again, for Windows only).</li>
</ul>
<p>The components come all packaged in a neatly presented and protected cardboard package.</p>
<p style="text-align: center;"><a href="http://www.serenux.com/wp-content/uploads/2008/11/fujitsubox.jpg"><img title="Fujitsu Drive Packaging" src="http://www.serenux.com/wp-content/uploads/2008/11/fujitsubox_thumb.jpg" alt="" /> </a><a href="http://www.serenux.com/wp-content/uploads/2008/11/fujitsucontent.jpg"><img title="Fujitsu Drive Content" src="http://www.serenux.com/wp-content/uploads/2008/11/fujitsucontent_thumb.jpg" alt="" /></a></p>
<p>The drive and case itself is lightweight and generally attractive to look at, with the fake leather pouch putting a bit of sophistication into the package, but then again, who buys an external hard-drive to be sophisticated?</p>
<p style="text-align: center;"><a href="http://www.serenux.com/wp-content/uploads/2008/11/fujitsudriverear.jpg"><img title="Fujitsu Drive Rear" src="http://www.serenux.com/wp-content/uploads/2008/11/fujitsudriverear_thumb.jpg" alt="" /> </a><a href="http://www.serenux.com/wp-content/uploads/2008/11/fujitsudriveandpouch.jpg"><img title="Fujitsu Drive and Pouch" src="http://www.serenux.com/wp-content/uploads/2008/11/fujitsudriveandpouch_thumb.jpg" alt="" /> </a><a href="http://www.serenux.com/wp-content/uploads/2008/11/fujitsudrivepouchandcables.jpg"><img title="Fujitsu Drive Pouch and Cables" src="http://www.serenux.com/wp-content/uploads/2008/11/fujitsudrivepouchandcables_thumb.jpg" alt="" /></a></p>
<p>Unfortunately, while the idea seems nice, the pouch just ain&#8217;t big enough to hold both the drive and cables together. <img src='http://www.serenux.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://www.serenux.com/wp-content/uploads/2008/11/fujitsudrivepouchandcablesclosed.jpg"><img title="Fujitsu Drive Pouch and Cables Closed" src="http://www.serenux.com/wp-content/uploads/2008/11/fujitsudrivepouchandcablesclosed_thumb.jpg" alt="" /></a></p>
<h3>Plugging it in</h3>
<p>Upon plugging it in to my Ubuntu Intrepid desktop, dmesg reported the following:</p>
<pre><span style="color: #000080;">Nov  9 14:59:49 lamaar kernel: [ 1018.916011] usb 8-6: new high speed USB device using ehci_hcd and address 4
Nov  9 14:59:50 lamaar kernel: [ 1019.055454] usb 8-6: configuration #1 chosen from 1 choice
Nov  9 14:59:50 lamaar kernel: [ 1019.056230] scsi9 : SCSI emulation for USB Mass Storage devices
Nov  9 14:59:55 lamaar kernel: [ 1024.060657] scsi 9:0:0:0: Direct-Access     FUJITSU  DYNADISQ III     1.95 PQ: 0 ANSI: 2
Nov  9 14:59:55 lamaar kernel: [ 1024.062645] sd 9:0:0:0: [sdf] 625142445 512-byte hardware sectors (320073 MB)
Nov  9 14:59:55 lamaar kernel: [ 1024.063018] sd 9:0:0:0: [sdf] Write Protect is off
Nov  9 14:59:55 lamaar kernel: [ 1024.063640] sd 9:0:0:0: [sdf] 625142445 512-byte hardware sectors (320073 MB)
Nov  9 14:59:55 lamaar kernel: [ 1024.064017] sd 9:0:0:0: [sdf] Write Protect is off
Nov  9 14:59:55 lamaar kernel: [ 1024.064023]  sdf: sdf1
Nov  9 14:59:55 lamaar kernel: [ 1024.084377] sd 9:0:0:0: [sdf] Attached SCSI disk
Nov  9 14:59:55 lamaar kernel: [ 1024.084467] sd 9:0:0:0: Attached scsi generic sg6 type 0</span></pre>
<p>So far so good, but not less than a few seconds later when GNOME tried to present the drive, the following dialog reared its ugly head:</p>
<p style="text-align: center;"><a href="http://www.serenux.com/wp-content/uploads/2008/11/fujitsu_dirtydismount.jpg"><img class="size-full wp-image-128 aligncenter" title="Improperly unmounted Windows partition" src="http://www.serenux.com/wp-content/uploads/2008/11/fujitsu_dirtydismount.jpg" alt="" width="385" height="397" /></a></p>
<p style="text-align: left;">Well, that confirms that it&#8217;s formatted for Windows out-of-the-box. Shame on Fujitsu for not properly unmounting the drive during factory testing! And what an exciting volume name they gave it too. Rather than shamelessly promote themselves, Fujitsu simply left it as the Windows-standard &#8220;New Volume&#8221;. Yay.</p>
<p style="text-align: left;">I was curious to find out if there was any included software on the drive itself. Maybe If I was lucky there would be random photos of factory workers testing the drives? Maybe I could find secret launch codes for Ballistic Nerf Missiles in the Southern Atlantic? Who knows what I could find?</p>
<p style="text-align: left;">I quickly fired up Virtualbox, setup the Fujitsu drive as a USB device for my Windows XP Virtual Machine and fired up. Upon checking the content of the drive, I was presented with&#8230; nothing. Nada. Zip. Zilch. Totally empty. What a disappointment.</p>
<p style="text-align: left;">I did a proper disconnect on the drive and shut Windows down. I then fired up GParted to repartition the drive for Ext3.</p>
<p style="text-align: left;">GParted reports the drive as only containing 302GB of physical storage space, which follows the whole 1,000MB versus 1,024MB in a GB debate that always surrounds drive sizes.</p>
<p style="text-align: left;">Repartitioning the drive into a single giant 320GB partition took just over 3 minutes to complete.</p>
<h3 style="text-align: left;">Turtle or Hare?</h3>
<p style="text-align: left;">So let&#8217;s try some real-world file read/write tests.</p>
<p style="text-align: left;">I decided to go with the following basic tests involving the copying of data:</p>
<ol>
<li>Copy from my desktop hard-drive to RAM</li>
<li>Copy from my desktop hard-drive to my aging Samsung 160GB IDE external USB notebook HDD</li>
<li>Copy from my desktop hard-drive to the Fujitsu Dynadisq III 320GB SATA external USB notebook HDD</li>
</ol>
<p>Timing was done by hand with a stop watch from the triggering of the copy action to the closing of the file transfer progress window.</p>
<p>First up, let&#8217;s copy a single 2.2GB DV video file.</p>
<div id="attachment_132" class="wp-caption alignnone" style="width: 404px"><a href="http://www.serenux.com/wp-content/uploads/2008/11/reviewfujitsutimetocopylargefile.jpg"><img class="size-full wp-image-132" title="Time to copy large file" src="http://www.serenux.com/wp-content/uploads/2008/11/reviewfujitsutimetocopylargefile.jpg" alt="" width="394" height="268" /></a><p class="wp-caption-text">Figure 1: Time to copy a single large file</p></div>
<p>According to GNOME&#8217;s Nautilus, RAM was pulling a transfer rate of 85.4MB/s, the Samsung drive was pulling 30.2MB/s and our review Fujitsu was pulling 40.5MB/s &#8211; a notable difference over the Samsung.</p>
<p>Next up, we copy 7,762 small files all between 10K and 25K each (total 146.9MB) comprised of various image thumbnails:</p>
<div id="attachment_134" class="wp-caption alignnone" style="width: 401px"><a href="http://www.serenux.com/wp-content/uploads/2008/11/reviewfujitsutimetocopysmallfiles.jpg"><img class="size-full wp-image-134" title="Time to copy small files" src="http://www.serenux.com/wp-content/uploads/2008/11/reviewfujitsutimetocopysmallfiles.jpg" alt="Figure 2: Time to copy a series of small files" width="391" height="270" /></a><p class="wp-caption-text">Figure 2: Time to copy a series of small files</p></div>
<p>Nautilus didn&#8217;t have much time to evaluate the speed. RAM took less than a second to complete the copy, my Samsung drive took 3.65 seconds, and the Fujitsu took a paltry 2.98 seconds.</p>
<p>Finally, we go and copy 2,987 medium-sized files comprised of digital photos in various subfolders all between 250K and 1.5MB in size (2 megapixels max resolution).</p>
<div id="attachment_133" class="wp-caption alignnone" style="width: 395px"><a href="http://www.serenux.com/wp-content/uploads/2008/11/reviewfujitsutimetocopymediumfiles.jpg"><img class="size-full wp-image-133" title="Time to copy medium files" src="http://www.serenux.com/wp-content/uploads/2008/11/reviewfujitsutimetocopymediumfiles.jpg" alt="Figure 3: Time to copy a series of medium files" width="385" height="265" /></a><p class="wp-caption-text">Figure 3: Time to copy a series of medium files</p></div>
<p>Nautilus reported RAM pulling a transfer speed of 71MB/s, my Samsung drive did 32MB/s and the Fujitsu triumphed over the Samsung with 39MB/s.</p>
<p>So the Fujitsu shows an average 21% performance benefit over my little Samsung IDE unit. Not bad.</p>
<h3>The Backup Button</h3>
<p>Earlier I pointed out that there was a &#8220;Backup&#8221; button on the back of the drive labelled simply &#8220;Backup&#8221;. The intended use is to perform a one-touch backup of all your important data onto the external unit. Sounds great, except that it doesn&#8217;t work. Well, at least under Ubuntu it doesn&#8217;t work. The system does not recognise any press of the button &#8211; not even as a keyboard multimedia button.</p>
<p>The supplied CD-ROM contains the driver and backup application for use with the Backup Button, but unfortunately, it&#8217;s Windows only.</p>
<p>This is hardly a concern, though. You can easily throw an icon on your desktop to execute a script to backup all your important data and Linux in general has unparalleled methods for regularly backing up large volumes of data with ease, such as rsync.</p>
<h3>Aesthetics</h3>
<p>So what more can be said about this drive? Well, it&#8217;s quiet &#8211; barely a chirp from it. It also gets a little warm, but not overly hot when doing large file copies. No biggies.</p>
<p>It certainly looks like a nice unit &#8211; clean design, not trying to overtly stand out. The power and activity LED&#8217;s are non-intrusive as well unlike the bright blue LED&#8217;s you find on some units.</p>
<p>Probably the only real downer I can say about it is the juice consumption, but this is probably unavoidable, really. The main reason I still like my little 160GB IDE unit is that it is one of the last capacities to not really require additional power. Whilst conducting my tests on the Fujitsu, I did encounter moments where the drive was reporting back to the system hard-errors and at one point simply unmounted itself. Disconnecting and reconnecting it fixed these issues and a quick run of fsck showed that there were not any actual errors on the drive. Once I had hooked up the second USB power lead, the problems never manifested themselves again.</p>
<h3>Conclusion</h3>
<p>One of the main reasons people use notebook USB drives for portable storage is for their convenience. Not only for their size, but for the fact that you can do data and power over one lead. This one requires two for any major file operations, and while that may be an inconvenience for some, it&#8217;s still a helluva lot better than having to hook up a power brick to run a 3.5&#8243; desktop drive.</p>
<p>SSD&#8217;s (and to a lesser extent, USB flash drives) are still a long way off from completely replacing hard drives, and at this stage are far more expensive GB for GB, so until then, this little drive suffices nicely. It&#8217;s small, tidy, fairly quick, had a good pouch which will offer some knock protection, and while not as small as a USB flash drive, it easily fits into most pockets.</p>
<p>All up, this is a drive worthy of notice.</p>
<h3><span style="color: #0000ff;">Review score: 8 out of 10 </span></h3>
<p><em>Many thanks to fellow Ubuntu compatriot Blinky who supplied the unit for review.</em></p>
<div class='wp_likes' id='wp_likes_post-127'><a class='like' href="javascript:wp_likes.like(127);" title='' ><img src="http://www.serenux.com/wp-content/plugins/wp-likes/images/like.gif" alt='' border='0'/>Like</a><span class='text'></span>
<div class='unlike'><a href="javascript:wp_likes.unlike(127);">Unlike</a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2008/11/mini-review-the-fujitsu-dynadisq-iii-320gb-usb-portable-external-hdd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
