<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Brain Dump</title>
	<atom:link href="http://mzanfardino.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mzanfardino.wordpress.com</link>
	<description>A place to store my random thoughts and anything else I might find useful.</description>
	<lastBuildDate>Thu, 01 Dec 2011 16:50:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mzanfardino.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Brain Dump</title>
		<link>http://mzanfardino.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://mzanfardino.wordpress.com/osd.xml" title="Brain Dump" />
	<atom:link rel='hub' href='http://mzanfardino.wordpress.com/?pushpress=hub'/>
		<item>
		<title>How to mirror installed apps on Debian-based linux distros</title>
		<link>http://mzanfardino.wordpress.com/2011/11/22/how-to-mirror-installed-apps-on-debian-based-linux-distros/</link>
		<comments>http://mzanfardino.wordpress.com/2011/11/22/how-to-mirror-installed-apps-on-debian-based-linux-distros/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 22:52:46 +0000</pubDate>
		<dc:creator>mzanfardino</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://mzanfardino.wordpress.com/2011/11/22/how-to-mirror-installed-apps-on-debian-based-linux-distros/</guid>
		<description><![CDATA[I will flesh this out with comments later. Suffice to say, if one needs to mirror the applications installed on one Debian-based linux distro (such as Ubuntu) to another (also Debian-based, preferably running the save release) one merely needs to generate a list of those apps installed on host A and configure host B to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=291&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I will flesh this out with comments later. Suffice to say, if one needs to mirror the applications installed on one Debian-based linux distro (such as Ubuntu) to another (also Debian-based, preferably running the save release) one merely needs to generate a list of those apps installed on host A and configure host B to install the same apps. This is done using dpkg and apt-get.</p>
<p>Generate the list by logging into host A:<br />
<code><br />
# dpkg --get-selections \* &gt; apps.lst<br />
</code><br />
Copy apps.list to host B and execute the following:<br />
<code><br />
# dpkg --set-selections &lt; apps.lst<br />
# apt-get -u dselect-upgrade<br />
</code><br />
If there are apps which need to be installed you will see the familiar apt-get/aptitude interface displaying the apps to be installed and a prompt to confirm. Once confirmed, the apps will be installed and both machines should be mirrors (from an application standpoint) of each other.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mzanfardino.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mzanfardino.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mzanfardino.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mzanfardino.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mzanfardino.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mzanfardino.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mzanfardino.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mzanfardino.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mzanfardino.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mzanfardino.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mzanfardino.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mzanfardino.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mzanfardino.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mzanfardino.wordpress.com/291/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=291&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mzanfardino.wordpress.com/2011/11/22/how-to-mirror-installed-apps-on-debian-based-linux-distros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ffd3c7b4cf52db1cdeb8f585dcd8866?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mzanfardino</media:title>
		</media:content>
	</item>
		<item>
		<title>How To: Create Bootable g4l USB Flash Drive</title>
		<link>http://mzanfardino.wordpress.com/2011/02/18/how-to-create-bootable-g4l-usb-flash-drive/</link>
		<comments>http://mzanfardino.wordpress.com/2011/02/18/how-to-create-bootable-g4l-usb-flash-drive/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 00:02:44 +0000</pubDate>
		<dc:creator>mzanfardino</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://mzanfardino.wordpress.com/?p=138</guid>
		<description><![CDATA[This &#8216;How To&#8217; covers in detail how to create a bootable USB flash drive with the imaging software g4l installed. g4l (or ghost4linux) is a free and open source hard disk and partition imaging/cloning tool. The purpose is to eliminate the need for a CD in cases where a CD drive may not be available. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=138&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This &#8216;How To&#8217; covers in detail how to create a bootable USB flash drive with the imaging software <a href="http://freshmeat.net/projects/g4l/">g4l</a> installed. <b>g4l</b> (or ghost4linux) is a free and open source hard disk and partition imaging/cloning tool. The purpose is to eliminate the need for a CD in cases where a CD drive may not be available.</p>
<p>This article presumes one is running Linux (in my case <a href="http://www.ubuntu.com/">Ubuntu 10.04</a> though in principal this should work for pretty much any Linux distro running a 2.6 kernel). I will describe the process for formatting the USB flash drive, mounting an ISO file to the local file system in order to copy files to the USB drive, and installing a bootloader and making the USB drive bootable.</p>
<p>While searching the web for similar solutions, I came across a few other blogs<sup><a href="#cite_note-itresource"><span>[</span>1<span>]</span></a></sup><sup><a href="#cite_note-radified"><span>[</span>2<span>]</span></a></sup> that describe the procedure, only to discover that they lacked the critical component for how to make the drive bootable. Therefore, I&#8217;m going to make my own attempt to cover this topic in a more structured, comprehensive fashion.</p>
<table id="index" bgcolor="#F1F1F1" style="border:1px solid #000000;">
<tr>
<th>
<h2>Basic Outline</h2>
<h2></h2>
</th>
</tr>
<tr>
<td><a href="#topic_prerequisite">1. Prerequisites</a></td>
</tr>
<tr>
<td><a href="#topic_create-partition">2. Create a FAT partition on target USB drive</a></td>
</tr>
<tr>
<td><a href="#topic_copy-g4l">3. Copy <b>g4l</b> files to USB drive</a></td>
</tr>
<tr>
<td><a href="#topic_bootloader">4. Configure bootloader</a></td>
</tr>
<tr>
<td><a href="#topic_boot-image">5. Create boot image</a></td>
</tr>
<tr>
<td><a href="#topic_write-mbr">6. Write MBR to USB drive</a></td>
</tr>
<tr>
<td><a href="#topic_references">7. References</a></td>
</tr>
</table>
<h2 id="topic_prerequisite">Prerequisites</h2>
<p>There are a few software requirements that must be met before proceeding. Firstly, be sure to have a copy of the latest version of the <b>g4l</b> ISO file (you can download version 0.36 <a href="http://sourceforge.net/projects/g4l/files/g4l%20ISO%20images/g4l-v0.36.iso/download">here</a>.</p>
<p>Secondly, it will be necessary to have a bootloader available. In this article, I will be using <a href="http://freshmeat.net/projects/syslinux/">syslinux</a>. <b>syslinux</b> is a lightweight bootloader for MS-DOS FAT filesystems and will be used to generate the bootloader image. You can download the latest version <a href="http://www.kernel.org/pub/linux/utils/boot/syslinux/">here</a>. I understand that <a href="http://www.gnu.org/software/grub/">GRUB</a> or possibly <a href="http://freshmeat.net/projects/lilo/">LILO</a> could be used, but for this article I will stick to <b>syslinux</b></p>
<p>Lastly, be sure to have <a href="http://ftp.gnu.org/gnu/parted/">parted</a> installed. <b>parted</b> is a command line tool for manipulating partition tables. This is useful for creating space for new operating systems, re-organizing disk usage, copying data on hard disks and disk imaging. This may already be installed with your distro, but if not, be sure to install it either from the package repository or from source.</p>
<p>Once the required software has been downloaded and/or installed, begin by opening a terminal window and mounting the <b>g4l</b> ISO to a local mount point. In the following example the mount point is the directory <i>g4l</i> created in the users home directory. NOTE: unless your system is configured to permit your user account to mount filesystems it will be necessary to have root privilege to mount the ISO. In the case of <b>Ubuntu</b> I use <b>sudo</b>, however it may be necessary to <b>su root</b> depending on your distro (your mileage may vary!)</p>
<p><code>$ sudo mount -o loop ~/downloads/iso/utilities/g4l-v0.36.iso ~/g4l</code><br />
Next, expand the <b>syslinux</b> tar file. In the following example I expand the file into my home directory:<br />
<code><br />
$ tar xjvf ~/downloads/iso/utilities/syslinux-4.03.tar.bz2<br />
syslinux-4.03/<br />
syslinux-4.03/version.gen<br />
syslinux-4.03/MCONFIG.build<br />
. . .<br />
syslinux-4.03/linux/syslinux<br />
syslinux-4.03/linux/Makefile<br />
syslinux-4.03/version.mk<br />
</code></p>
<p>We are now ready to proceed with the real work!</p>
<h2 id="topic_create-partition">Create a FAT partition on target USB drive</h2>
<p>To being, mount the USB drive and observe the output from <b>dmesg</b> to determine what device identifier is assigned. Depending on your distro and if the drive has already been formatted it might auto-mount. If so, be sure to unmount the device before you proceed.<br />
<code><br />
$ dmesg|tail<br />
[ 2806.671425] sd 22:0:0:0: [sdf] Write Protect is off<br />
[ 2806.671430] sd 22:0:0:0: [sdf] Mode Sense: 65 44 09 30<br />
[ 2806.671433] sd 22:0:0:0: [sdf] Assuming drive cache: write through<br />
[ 2806.675283] sd 22:0:0:0: [sdf] 3911616 512-byte hardware sectors: (2.00 GB/1.86 GiB)<br />
[ 2806.675779] sd 22:0:0:0: [sdf] Write Protect is off<br />
[ 2806.675782] sd 22:0:0:0: [sdf] Mode Sense: 65 44 09 30<br />
[ 2806.675783] sd 22:0:0:0: [sdf] Assuming drive cache: write through<br />
[ 2806.675787]  sdf: sdf1<br />
[ 2806.677432] sd 22:0:0:0: [sdf] Attached SCSI removable disk<br />
[ 2806.677809] sd 22:0:0:0: Attached scsi generic sg6 type 0<br />
</code></p>
<p>The preceding output reflects the device /dev/sdf is assigned to the newly mounted USB stick. For the rest of this example it will be assumed that the device is /dev/sdf, however this may not be the case with your attempt, so be sure to tail dmesg shortly after installing the USB stick in order to determine the correct device assignment.</p>
<p>Now create a DOS partition and format it. Note that the first step is to delete any existing partitions on the device. This step is only necessary if the device has already been formatted (often a new USB stick will already have been formatted with FAT). Perform the following steps (again note the use of <b>sudo</b> &#8211; use whatever method is required by your distro in order to perform these steps with root privilege):</p>
<ol>
<li>Execute <b>fdisk</b> with root privilege:</li>
<p><code><br />
$ sudo fdisk /dev/sdf<br />
&nbsp;<br />
The number of cylinders for this disk is set to 2936.<br />
There is nothing wrong with that, but this is larger than 1024,<br />
and could in certain setups cause problems with:<br />
1) software that runs at boot time (e.g., old versions of LILO)<br />
2) booting and partitioning software from other OSs<br />
   (e.g., DOS FDISK, OS/2 FDISK)<br />
&nbsp;<br />
Command (m for help):<br />
</code></p>
<li>Print the current partition table:</li>
<p><code><br />
Command (m for help): p<br />
&nbsp;<br />
Disk /dev/sdf: 2002 MB, 2002747392 bytes<br />
37 heads, 36 sectors/track, 2936 cylinders<br />
Units = cylinders of 1332 * 512 = 681984 bytes<br />
Disk identifier: 0xeb1326d4<br />
&nbsp;<br />
   Device Boot      Start         End      Blocks   Id  System<br />
/dev/sdf1               1        2937     1955790    6  FAT16<br />
&nbsp;<br />
Command (m for help):<br />
</code></p>
<li>Delete any existing partitions:</li>
<p><code><br />
Command (m for help): d<br />
Selected partition 1<br />
&nbsp;<br />
Command (m for help):<br />
</code></p>
<li>Create the new primary partition (this example partitions the entire available space):</li>
<p><code><br />
Command (m for help): n<br />
Command action<br />
   e   extended<br />
   p   primary partition (1-4)<br />
p<br />
Partition number (1-4): 1<br />
First cylinder (1-2936, default 1):<br />
Using default value 1<br />
Last cylinder, +cylinders or +size{K,M,G} (1-2936, default 2936):<br />
Using default value 2936<br />
&nbsp;<br />
Command (m for help):<br />
</code></p>
<li>Set the partition type to W95 FAT32 (this will support partition sizes greater than 2GB):</li>
<p><code><br />
Command (m for help): t<br />
Selected partition 1<br />
Hex code (type L to list codes): b<br />
Changed system type of partition 1 to b (W95 FAT32)<br />
&nbsp;<br />
Command (m for help):<br />
</code></p>
<li>Set the boot-bit for the partition (this step may be unnecessary as we do this again toward the end using parted):</li>
<p><code><br />
Command (m for help): a<br />
Partition number (1-4): 1<br />
&nbsp;<br />
Command (m for help):<br />
</code></p>
<li>Verify that the newly created partition is configured correctly before writing to the partition table:</li>
<p><code><br />
Command (m for help): p<br />
&nbsp;<br />
Disk /dev/sdf: 2002 MB, 2002747392 bytes<br />
37 heads, 36 sectors/track, 2936 cylinders<br />
Units = cylinders of 1332 * 512 = 681984 bytes<br />
Disk identifier: 0xeb1326d4<br />
&nbsp;<br />
   Device Boot      Start         End      Blocks   Id  System<br />
/dev/sdf1   *           1        2936     1955358    b  W95 FAT32<br />
&nbsp;<br />
Command (m for help):<br />
</code></p>
<li>Write the changes to the partition table:</li>
<p><code><br />
Command (m for help): w<br />
The partition table has been altered!<br />
&nbsp;<br />
Calling ioctl() to re-read partition table.<br />
&nbsp;<br />
WARNING: If you have created or modified any DOS 6.x<br />
partitions, please see the fdisk manual page for additional<br />
information.<br />
Syncing disks.<br />
</code></p>
<p>The USB drive is ready to be formatted as VFAT. It may be necessary to remove and remount the USB drive prior to formatting. It may also be necessary to unmount the newly created partitions that might mount automatically as a result of the kernel caching any previously mounted partitions. In the following example we label the partition <i>g4l-v0.36_0</i></p>
<p><code><br />
$ sudo mkfs.vfat -n g4l-v0.36_0 /dev/sdf1<br />
mkfs.vfat 3.0.1 (23 Nov 2008)<br />
</code>
</ol>
<p>It will be necessary to remove and remount the USB stick (again). Depending on your distro, the OS ought to automagically mount the newly formatted USB stick. In the above example we labelled the partition g4l-v0.36_0 which will auto-mount as /media/g4l-v0.36_0.</p>
<h2 id="topic_copy-g4l">Copy g4l files to USB drive</h2>
<p>Assuming that the latest <b>g4l</b> ISO has been mounted to as <i>g4l</i> in the home directory as instructed above, it is a simple matter to copy all the files to the newly created partition:</p>
<p><code><br />
$ cp -v ~/g4l/* /media/g4l-v0.36_0/<br />
`/home/mark/g4l/bicode.o3' -&gt; `/media/g4l-v0.36_0/bicode.o3'<br />
`/home/mark/g4l/blank6.cpp' -&gt; `/media/g4l-v0.36_0/blank6.cpp'<br />
`/home/mark/g4l/blank6.exe' -&gt; `/media/g4l-v0.36_0/blank6.exe'<br />
. . .<br />
`/home/mark/g4l/syslinux.cfg' -&gt; `/media/g4l-v0.36_0/syslinux.cfg'<br />
`/home/mark/g4l/test.png' -&gt; `/media/g4l-v0.36_0/test.png'<br />
`/home/mark/g4l/vesamenu.c32' -&gt; `/media/g4l-v0.36_0/vesamenu.c32'<br />
</code></p>
<p>At this point, if you&#8217;ve looked at the blog posts referenced in the beginning of this article you will note that we are simply dumping the content of <b>g4l</b> into the root directory of the USB drive.  This is for simplicity sake. However, if one wanted to, one could copy the contents of <b>g4l</b> into a subdirectory. However, if this step is taken, then in the following step it will be necessary to edit <i>syslinux.cfg</i>. Notes for what to edit in <i>syslinux.cfg</i> follow in the next section.</p>
<h2 id="topic_bootloader">Configure bootloader</h2>
<p>Once the files have been copied to the USB drive it is necessary to replace the default syslinux.cfg file with the provided <i>isolinux.cfg</i> file as such:</p>
<p><code>$ sudo cp /media/g4l-v0.36_0/isolinux.cfg /media/g4l-v0.36_0/syslinux.cfg<br />
</code></p>
<p><b>NOTE:</b>This is the file that has to be modified if <b>g4l</b> was not copied to the root of the USB drive. The following is a snippet of the file (I have edited out much of the detail for sake of brevity):</p>
<p><code>DEFAULT vesamenu.c32<br />
. . .<br />
LABEL bz32.28<br />
    MENU LABEL ^A: bz32.28 386 build 2.6.32.28 01-07-2011<br />
    KERNEL bz32.28<br />
    APPEND initrd=ramdisk.lzma ramdisk_size=65536 root=/dev/ram0<br />
. . .<br />
LABEL hdt<br />
    MENU LABEL ^Z: Hardware Detection Tool 0.36<br />
    KERNEL hdt.c32<br />
    APPEND modules_pcimap=modules.pcimap pciids=pci.ids memtest=memtest<br />
&nbsp;<br />
TIMEOUT 600<br />
ONTIMEOUT bz37 initrd=ramdisk.lzma ramdisk_size=65536 root=/dev/ram0<br />
</code></p>
<p>All references to KERNEL, APPEND, DEFAULT (should only be one) and ONTIMEOUT must be modified to include the path to the appropriate files. Also, any directive that makes reference to a file, such as MENU BACKGROUND. The following is the same code example where the <b>g4l</b> files were copied to a directory <i>boot</i>:</p>
<p><code>DEFAULT boot/vesamenu.c32<br />
. . .<br />
LABEL bz32.28<br />
    MENU LABEL ^A: bz32.28 386 build 2.6.32.28 01-07-2011<br />
    KERNEL boot/bz32.28<br />
    APPEND initrd=boot/ramdisk.lzma ramdisk_size=65536 root=/dev/ram0<br />
. . .<br />
LABEL hdt<br />
    MENU LABEL ^Z: Hardware Detection Tool 0.36<br />
    KERNEL boot/hdt.c32<br />
    APPEND modules_pcimap=boot/modules.pcimap pciids=boot/pci.ids memtest=memtest<br />
&nbsp;<br />
TIMEOUT 600<br />
ONTIMEOUT bz37 initrd=boot/ramdisk.lzma ramdisk_size=65536 root=/dev/ram0<br />
</code></p>
<h2 id="topic_boot-image">Create boot image</h2>
<p>Once the <b>g4l</b> files have been copied to the USB drive and syslinux.cfg has been modified and moved to the root of the drive, we can then use <b>syslinux</b> to create a bootloader image and copy it to the drive, as follows:</p>
<ol>
<li>First, unmount the USB stick:</li>
<p><code><br />
$ sudo umount /media/g4l-v0.36_0/<br />
</code></p>
<li>Next, generate the bootloader image and copy it to the USB drive. The process for creating the image will copy the image to the USB drive.</li>
<p><code><br />
$ sudo ~/syslinux-4.03/linux/syslinux /dev/sdf1<br />
/home/mark/syslinux-4.03/linux/syslinux: please specify --install or --update for the future<br />
</code>
</ol>
<p>This is the point at which the other blogs end, leaving one to assume that at this point you can boot from the USB drive.  This is incorrect! We still have to copy the MBR (master boot record) to the boot sector of the drive before the bootloader image can be loaded.</p>
<h2 id="topic_write-mbr">Write MBR to USB drive</h2>
<p>After following the steps outlined above I was still confounded to discover that my USB drive would not boot. I continued to get an error message telling that it was an invalid boot device. I did some research and found the answer from the Syslinux Wiki<sup><a href="#cite_note-syslinxwiki"><span>[</span>3<span>]</span></a></sup>.  The key is to copy the mbr.bin file provided with <b>syslinux</b> to the boot sector of the USB drive.  This is accomplished as follows:</p>
<p><code>$ sudo dd conv=notrunc bs=440 count=1 if=~/syslinux-4.03/mbr/mbr.bin of=/dev/sdf<br />
1+0 records in<br />
1+0 records out<br />
440 bytes (440 B) copied, 0.0255058 s, 17.3 kB/s<br />
</code></p>
<p>At this point the USB stick should be ready for use, however to ensure that the partition is indeed flagged as bootable, use <b>parted</b> to set the boot flag. (NOTE: you could set the partition bootable when defining the partition in <b>fdisk</b>, but this is the recommended method from Syslinux Wiki):</p>
<p><code>$ sudo parted /dev/sdf set 1 boot on<br />
Information: You may need to update /etc/fstab.<br />
</code></p>
<p>That should do it. I use these steps to create multiple USB drives for use at work replicating source &#8220;GOLD&#8221; images onto new hardware which does not have a CD drive. It&#8217;s fast and easy and very reliable. If I have omitted something, or if someone has any suggestions, feel free to leave a comment.&lt;/p</p>
<h3 id="topic_references">References:</h3>
<ol>
<li id="cite_note-itresource"><a href="http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1297966672762+28353475&amp;threadId=1292748">IT Resource Center forums &#8211; bootable USB stick with G4L</a></li>
<li id="cite_note-radified"><a href="http://radified.com/cgi-bin/yabb2/YaBB.pl?num=1224777260/0">Radified Community Forum: Bootable USB stick with G4L</a></li>
<li id="cite_note-syslinxwiki"><a href="http://syslinux.zytor.com/wiki/index.php/HowTos#How_to_Create_a_Bootable_USB:_For_Linux">Syslinux Wiki &#8211; How to Create a Bootable USB: For Linux </a></li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mzanfardino.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mzanfardino.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mzanfardino.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mzanfardino.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mzanfardino.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mzanfardino.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mzanfardino.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mzanfardino.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mzanfardino.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mzanfardino.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mzanfardino.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mzanfardino.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mzanfardino.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mzanfardino.wordpress.com/138/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=138&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mzanfardino.wordpress.com/2011/02/18/how-to-create-bootable-g4l-usb-flash-drive/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ffd3c7b4cf52db1cdeb8f585dcd8866?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mzanfardino</media:title>
		</media:content>
	</item>
		<item>
		<title>Thoughts on RAID for Linux</title>
		<link>http://mzanfardino.wordpress.com/2010/10/18/thoughts-on-raid-for-linux/</link>
		<comments>http://mzanfardino.wordpress.com/2010/10/18/thoughts-on-raid-for-linux/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 20:15:19 +0000</pubDate>
		<dc:creator>mzanfardino</dc:creator>
				<category><![CDATA[commentary]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://mzanfardino.wordpress.com/?p=104</guid>
		<description><![CDATA[The following article is for my own personal benefit, however comments are welcome, as the resulting document is limited to my personal experience with soft-RAID on Ubuntu 9.04. Brief summary of RAID RAID, an acronym for redundant array of independent disks, is a technology that provides increased storage reliability through redundancy, combining multiple low-cost, less-reliable [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=104&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The following article is for my own personal benefit, however comments are welcome, as the resulting document is limited to my personal experience with soft-RAID on Ubuntu 9.04.</p>
<p></p>
<h2>Brief summary of RAID</h2>
<p>RAID, an acronym for redundant array of independent disks, is a technology that provides increased storage reliability through redundancy, combining multiple low-cost, less-reliable disk drives components into a logical unit where all drives in the array are interdependent.<sup><a href="#cite_note-raid-def">[1]</a></sup>
</p>
<p>
There are a number of RAID levels which are described in detail at <a href="http://en.wikipedia.org/wiki/RAID#Standard_levels">http://en.wikipedia.org/wiki/RAID#Standard_levels</a>.  For the purposes of this article I will be focusing on RAID 1 with some references to RAID 0.
</p>
<h2>Types of RAID</h2>
<p>It&#8217;s important to note that there are essentiall three types of RAID:</p>
<ol>
<li>Hardware</li>
<li>Software</li>
<li>FakeRAID</li>
</ol>
<p>In the case of hardware RAID, all the RAID functionality is handled by the hardware and does not require additional software components as the RAID drive(s) will be exposed to the underlying OS as standard devices.
</p>
<p>Software RAID is quite different from hardware RAID.  Software RAID is handled by the OS which has a number of implications in terms of availability and performance &#8211; not to mention management.
</p>
<p>FakeRAID is partial hardware RAID without the features and functions that a true hardware RAID controller offers.  This type of RAID has be come increasingly available as more and more motherboards come equipt with BIOS-RAID controls which permit the creation of a RAID array without the ability to manager it (beyound it&#8217;s creation and deletion).
</p>
<p>FakeRAID is generally supported by Windows OS with the use of additional drivers and software RAID running on the OS.  FakeRAID is supported on Linux via dmraid which permits dual-boot between Windows OS and Linux OS whilst maintaining a consistant RAID array.
</p>
<h2>More on Software RAID</h2>
<p>There are essentially two types of software RAID for Linux:</p>
<ol>
<li><a href="http://en.wikipedia.org/wiki/Device_mapper">dmraid</a> (device-mapper)</li>
<li><a href="http://en.wikipedia.org/wiki/Mdadm">mdadm</a> (multiple disk administrator)</li>
</ol>
<p>In the Linux kernel, the device-mapper serves as a generic framework to map one block device onto another. It forms the foundation of LVM2 and EVMS, software RAIDs, dm-crypt disk encryption, and offers additional features such as file-system snapshots.</p>
<p>
Device-mapper works by processing data passed in from a virtual block device, that it itself provides, and then passing the resultant data on to another block device.<sup><a href="#cite_note-dmraid">[2]</a></sup></p>
<p>mdadm is a Linux utility by Neil Brown that is used to manage software RAID devices, previously known as mdctl. Besides managing, it can create, delete, or monitor Linux software RAIDs. Available under version 2 or later of the GNU General Public License, mdadm is free software.
</p>
<p>mdadm derives its name from the “md” (multiple disk) device nodes it “adm”inisters or manages.<sup><a href="#cite_note-madam">[3]</a></sup></p>
<h2>Which Soft-RAID to use?</h2>
<p>There are a numbre of fundamental differences between dmraid and mdadm that I won&#8217;t attempt to get into here.  However, the decision for which software RAID to choose comes down to one question: Will this PC be configured for dual-boot between Linux and Windows?  If the answer is no, then mdadm is the solution to choose.</p>
<p>I have discovered that dmraid does not offer the same level of functionality &#8211; particularly when it comes to managing the RAID in cases where the RAID has become degraded or a drive has to be replaced.  Early version of dmraid (including the version installed with Ubuntu 9.04) can not rebuild a degraded array.  This means that even after replacing a defective drive, the RAID will remain degraded.
</p>
<p>On the other hand, mdadm is a fully-functioning software RAID solution which provides all the management tools required to manage all aspects of the array.</p>
<p>Given just these few differences, it&#8217;s clear that mdadm is the better software RAID solution for a dedicate Linux PC. However, what if during the installation of the OS dmraid was selected? Can dmraid be converted to use mdadm and therefore permit leverage of all the management tools mdadm provides? Fortunately, the answer is a qualified yes! The qualification assumes that the existing RAID is 1 (and not 0).</p>
<h2>Convertion dmraid to mdadm</h2>
<h3>Overview</h3>
</p>
<p>For the sake of this article I will make a few assumption:</p>
<ol>
<li>System was installed with RAID 1.</li>
<li>At least one disk in the array is fully functioning.</li>
<li>At least one disk is available to create the new RAID 1 array</li>
<li>The operator has some knowledge of what they are doing!</li>
</ol>
<p>Essentially the steps that will be covered as as follows:</p>
<ol>
<li>Break dmraid.</li>
<li>Disable FakeRAID in BIOS.</li>
<li>Create a &#8220;broken&#8221; RAID 1 array with mdadm.</li>
<li>Replicate data from &#8220;broken&#8221; dmraid array to newly created &#8220;broken&#8221; mdadm array.</li>
<li>Configure system to boot from newly created &#8220;broken&#8221; mdadm array.</li>
<li>Add &#8220;broken&#8221; dmraid disk into mdadm array.</li>
<li>Rebuild mdadm array.</li>
</ol>
<p>I have borrowed heavily from <a href="http://wiki.archlinux.org/index.php/Convert_a_single_drive_system_to_RAID">http://wiki.archlinux.org/index.php/Convert_a_single_drive_system_to_RAID</a> for this document. Please refer directly to this document with questions concerning consistency of this document or other issues not covered here.
</p>
<h3>!!! WARNING !!!</h3>
<p>At this point I want to be sure I state clearly that if this document is to be used by someone other than me that your understanding of hardware and the Linux operating system is better than novice! I will not be held responsible for loss of data, bricked hardware, or anything else related to the steps I&#8217;m laying out here! <em>You have been warned!</em>
</p>
<h3>Getting Started: Breaking dmraid!</h3>
<p>In order to begin the existing dmraid must be broken and the system must be able to boot from one of the two drives without RAID support.  This is a two step process involving erasing the dmraid metadata from the drives making up the array and then removing dmraid &#8211; in the process rebuilding the linux kernel such that is does not expect a dmraid device.
</p>
<p>To be safe, boot the system as usual and set the run level to 1. This should be done from a tty terminal and not from an open terminal window from the GUI. Use &lt;Ctrl&gt;&lt;Alt&gt;&lt;F1&gt; to open tty1 then log in and set the run level. This should to be done either as root or with root privileages via sudo. </p>
<p><code># telinit 1</code></p>
<p>This should generate the Recovery Menu from which you can select <b>Root &#8211; Drop to root shell prompt</b>.  After providing the root user password the system will be running in single-user mode (no multiple ttys) and logged in as root.</p>
<p>To break dmraid it will be necessary to erase the metadate stored on the disks that make up the array. Once the metadata has been erased the system will no longer be bootable via RAID. Therefore, it will be necessary to edit a few files in order to ensure the system remains bootable.</p>
<p>First, however, break the dmraid with:<br />
<code>dmraid -E -r /dev/sd[ab]</code><br />
NOTE: this assumes the array was built with /dev/sda and /dev/sdb. Your system may vary.</p>
<p>Once the metadata has been removed the drives will no longer be recognized by the BIOS RAID controller as apart of the FakeRAID array. It will be necessary to tell GRUB where the root file system is. It will also be necessary to tell mount where to find the various file system partitions.</p>
<p>Edit /etc/fstab and substitute the appropriate devices for the dmraid-mapped devices. Example:<br />
<code># vim /etc/fstab<br />
# /etc/fstab: static file system information.<br />
#<br />
# Use 'blkid -o value -s UUID' to print the universally unique identifier<br />
# for a device; this may be used with UUID= as a more robust way to name<br />
# devices that works even if disks are added and removed. See fstab(5).<br />
#<br />
#<br />
proc            /proc           proc    nodev,noexec,nosuid 0       0<br />
# / was on /dev/sda5 during installation<br />
#UUID=e9eeafc1-691a-4904-8032-2cc6c75bc175 /               ext4    noatime,errors=remount-ro 0       1<br />
/dev/sda2 /               ext4    noatime,errors=remount-ro 0       1<br />
# /boot was on /dev/sda1 during installation<br />
#UUID=c4a18ea5-336e-42a0-8da8-26f6f3d98d48 /boot           ext3    noatime         0       2<br />
/dev/sda1 /boot           ext3    noatime         0       2<br />
# swap was on /dev/sda6 during installation<br />
#UUID=64571446-2b40-4d09-9fe0-82d262ebce14 none            swap    sw              0       0<br />
/dev/sda3 none            swap    sw              0       0<br />
#/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0<br />
/dev/scd0	/media/cdrom0	udf,iso9660 user,noauto,exec,utf8	0	0</code></p>
<p>NOTE: You can certainly substitute the UUID for the device, but since this is only a temporary change until the mdadm RAID is complete, there is no point in doing this &#8211; just make the changes to the devices and push on.</p>
<p>Add a new entry to /boot/grub/menu.lst which will boot using the device map:<br />
<code># vim /boot/grub/menu.lst<br />
title           Ubuntu 9.04, kernel 2.6.28-19-generic (w/o RAID)<br />
root            (hd0,0)<br />
kernel          /vmlinuz-2.6.28-19-generic root=/dev/sda2 ro<br />
initrd          /initrd.img-2.6.28-19-generic<br />
</code><br />
The above code should be added to the section of menu.lst which describes all the other boot options. Note that the <i>root</i> directive should point to (hd<i>x</i>,<i>y</i>) and the kernel directive root option should point to the physical device defined for root.</p>
<p>Lastly, remove dmraid. Doing so will ensure the correct kernel is in place for the next boot.<br />
<code># aptitude remove --purge dmraid</code>
</p>
<h3>Disable FakeRAID in BIOS</h3>
<p>At this point boot the system. During the boot be sure to modify the BIOS and disable RAID. I chose to configure SATA as AHCI and set the boot priority to boot from HDD:P0. Other BIOS may have other settings.</p>
<p>If all went well the system should now boot without dmraid to /dev/sda. </p>
<h3>Create &#8220;broken&#8221; RAID 1 array with <b>mdadm</b>.</h3>
<p>Once it has been established that the system is bootable without dmraid, install mdadm. This step could have been done eariler without harm to the system. Just be sure mdadm has been installed before proceeding with the following actions.</p>
<p>The first thing that will have to be done is to partition the disk not currently in use (/dev/sdb in this case) for use with mdadm as raid-away partitions.  Assuming no physical changes will be made to the layout of the partitions, this simply requires changing the type of the partitions and formatting them with the appropriate filesystem.</p>
<p>Begin by changing the partition type for each of the partitions which will be members of the array to <b>Linux raid autodetect</b> which is <b>type fd</b>.<br />
<code># sudo fdisk /dev/sdb</p>
<p>The number of cylinders for this disk is set to 77825.<br />
There is nothing wrong with that, but this is larger than 1024,<br />
and could in certain setups cause problems with:<br />
1) software that runs at boot time (e.g., old versions of LILO)<br />
2) booting and partitioning software from other OSs<br />
   (e.g., DOS FDISK, OS/2 FDISK)</p>
<p>Command (m for help): t<br />
Partition number (1-7): 1<br />
Hex code (type L to list codes): fd</p>
<p>Command (m for help):</code><br />
Repeat these steps for all appropriate devices and write the results. The system will warn you that the new table will not be used until the system has booted.  This is expected. Do not boot at this time.</p>
<p>Next, create the single-disk RAID-1 array. Note the &#8220;missing&#8221; keyword is specified as one of our devices. We are going to fill this missing device later.</p>
<p><code># mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb2<br />
mdadm: array /dev/md0 started.<br />
</code></p>
<p>Note: If the above command causes mdadm to say &#8220;no such device /dev/sdb2&#8243;, then reboot, and run the command again.</p>
<p>If you want to use Grub 0.97 (default in the Ubuntu Linux 9.04) on RAID 1, you need to specify an older version of metadata than the default. Add the option &#8220;&#8211;metadata=0.90&#8243; to the above command. Otherwise Grub will respond with &#8220;Filesystem type unknown, partition type 0xfd&#8221; and refuse to install. This is supposedly not necessary with Grub 2.</p>
<p><code># mdadm --create /dev/md0 --metadata=0.90 --level=1 --raid-devices=2 missing /dev/sdb2<br />
mdadm: array /dev/md0 started.<br />
</code></p>
<p>Make sure the array has been created correctly by checking /proc/mdstat:<br />
<code># cat /proc/mdstat<br />
Personalities : [linear] [raid0] [raid1] [raid5] [multipath] [raid6] [raid10]<br />
md0 : active raid1 sdb2[1]<br />
     40064 blocks [2/1] [_U]</p>
<p>unused devices:<br />
</code><br />
The devices are intact, however in a degraded state. (Because it&#8217;s missing half the array!)</p>
<h2>References</h2>
<ol>
<li id="cite_note-raid-def"><a href="http://en.wikipedia.org/wiki/RAID">http://en.wikipedia.org/wiki/RAID</a></li>
<li id="cite_note-dmraid"><a href="http://en.wikipedia.org/wiki/Device_mapper">http://en.wikipedia.org/wiki/Device_mapper</a></li>
<li id="cite_note-madam"><a href="http://en.wikipedia.org/wiki/Mdadm">http://en.wikipedia.org/wiki/Mdadm</a></li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mzanfardino.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mzanfardino.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mzanfardino.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mzanfardino.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mzanfardino.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mzanfardino.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mzanfardino.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mzanfardino.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mzanfardino.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mzanfardino.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mzanfardino.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mzanfardino.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mzanfardino.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mzanfardino.wordpress.com/104/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=104&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mzanfardino.wordpress.com/2010/10/18/thoughts-on-raid-for-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ffd3c7b4cf52db1cdeb8f585dcd8866?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mzanfardino</media:title>
		</media:content>
	</item>
		<item>
		<title>How-to: mount an uncompressed g4l image</title>
		<link>http://mzanfardino.wordpress.com/2010/04/09/how-to-mount-an-uncompressed-g4l-image/</link>
		<comments>http://mzanfardino.wordpress.com/2010/04/09/how-to-mount-an-uncompressed-g4l-image/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 22:12:55 +0000</pubDate>
		<dc:creator>mzanfardino</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mzanfardino.wordpress.com/?p=83</guid>
		<description><![CDATA[Occasionally it becomes necessary to mount an uncompressed g4l image ...<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=83&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Occasionally it becomes necessary to mount an uncompressed g4l image (created with g4l explicitly with compression none). This is a simple process that can be accomplished with just a few commands.  Firstly you must determine what the offset of the partition within the image you wish to mount. This is done using <strong>parted</strong>. Once you have the offset of the partition use <strong>mount</strong> to mount the partition, giving <strong>mount</strong> the offset discovered by <strong>parted</strong>.</p>
<p>This example assumes a file named: SMCCAPCON_HMBN_20100106.img</p>
<p><code>$ <strong>parted /home/ftp/img/SMCCAPCON_HMBN_20100106.img unit B print</strong><br />
WARNING: You are not superuser.  Watch out for permissions.<br />
Warning: Unable to open /home/ftp/img/SMCCAPCON_HMBN_20100106.img read-write<br />
(Permission denied).  /home/ftp/img/SMCCAPCON_HMBN_20100106.img has been opened<br />
read-only.<br />
Warning: Unable to open /home/ftp/img/SMCCAPCON_HMBN_20100106.img read-write<br />
(Permission denied).  /home/ftp/img/SMCCAPCON_HMBN_20100106.img has been opened<br />
read-only.<br />
Model:  (file)<br />
Disk /home/ftp/img/SMCCAPCON_HMBN_20100106.img: 4098834432B<br />
Sector size (logical/physical): 512B/512B<br />
Partition Table: msdos</p>
<p>Number  Start        End          Size         Type      File system  Flags<br />
1      <strong>32256B</strong>       3857656319B  3857624064B  primary   ext3         boot<br />
2      3857656320B  4096189439B  238533120B   extended<br />
5      3857688576B  4096189439B  238500864B   logical   linux-swap<br />
</code></p>
<p>Note that this image contains an entire disk image which has been formatted with a primary partition (#1) which contains root and an extended partition (#5) which contains the swap file.</p>
<p>The next step is to mount the root partition as a loop-back device to a local path. For this example create a mount point at <em>/tmp/mnt</em><strong> (this mount point can of course be anywhere on your file system). Since the image contains both a root partition and the swap partition, it&#8217;s critical to use the offset of the root partition as a parameter for the mount command. The offset for root in this example is </strong><strong>32256B</strong>.</p>
<p><code>$ <strong>mkdir /tmp/mnt</strong><br />
$ <strong>sudo mount -o loop,offset=<em>32256B</em> /home/ftp/img/SMCCAPCON_HMBN_20100106.img /tmp/mnt</strong><br />
The partition is now mounted on <strong>/tmp/mnt</strong>. To unmount the partition, simply use <strong>umount</strong> as usual.<br />
$ <strong>umount /tmp/mnt</strong><br />
</code></p>
<p>NOTE: If it happens that the image is compressed using <em>lzop</em>, simply uncompress the image first, then take the same actions above. To uncompress a <em>lzop</em> file, use <strong>lzop</strong>.</p>
<p><code>$ <strong>lzop -x SMCCAPCON_HMBN_20100106.lzo</strong><br />
The resulting file for this example will be <em>SMCCAPCON_HMBN_20100106</em>, not <em>SMCCAPCON_HMBN_20100106.img</em>.<br />
To verify the file type, use the <strong>file</strong> command.<br />
$ <em>file SMCCAPCON_HMBN_20100106.lzo</em><br />
SMC_CAPCON_PLM_2010-01-21.lzo: lzop compressed data - version 1.020, LZO1X-1, os: Unix</p>
<p>$ <strong>file SMCCAPCON_HMBN_20100106</strong><br />
SMC_CAPCON_PLM_2010-01-21: x86 boot sector; partition 1: ID=0x83, active, starthead 1, startsector 63, 7534422 sectors; partition 2: ID=0x5, starthead 0,<br />
startsector 7534485, 337365 sectors</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mzanfardino.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mzanfardino.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mzanfardino.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mzanfardino.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mzanfardino.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mzanfardino.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mzanfardino.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mzanfardino.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mzanfardino.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mzanfardino.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mzanfardino.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mzanfardino.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mzanfardino.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mzanfardino.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=83&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mzanfardino.wordpress.com/2010/04/09/how-to-mount-an-uncompressed-g4l-image/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ffd3c7b4cf52db1cdeb8f585dcd8866?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mzanfardino</media:title>
		</media:content>
	</item>
		<item>
		<title>Problem with iPod not automouting&#8230;</title>
		<link>http://mzanfardino.wordpress.com/2010/02/27/problem-with-ipod-not-automouting/</link>
		<comments>http://mzanfardino.wordpress.com/2010/02/27/problem-with-ipod-not-automouting/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 21:53:27 +0000</pubDate>
		<dc:creator>mzanfardino</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://mzanfardino.wordpress.com/2010/02/27/problem-with-ipod-not-automouting/</guid>
		<description><![CDATA[Can't mount iPod? If the problem is multipath, flush all unused multipath device maps and try again.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=74&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>OS: Ubuntu 9.04 (2.6.28-18-generic)</p>
<p>Recently I ran into a problem with my iPod not automounting. I found this curious as I had been using this same iPod on this same hardware for the last 8 months without issue. Furthermore, I have not made any significant changes to either the iPod nor the laptop I was attempting to connect it to.  I am currently running Ubuntu 9.04 on my laptop and the latest iPod software (sorry, don&#8217;t know the release, but it was current as of February 27, 2010).</p>
<p>The problem was compounded by the fact that the error message I had been receiving was curious and to my mind misleading. I was getting an error when I&#8217;d plug in my iPod:<br />
<code><br />
Cannot mount volume.<br />
Unable to mount the volume 'SILVER_NANO'<br />
Details: mount: /dev/sdb2 already mounted or /media/SILVER_NANO busy<br />
</code></p>
<p>I checked the most obvious: was there something already mounted to /media/SILVER_NANO? No.</p>
<p>When looking at <code>dmesg</code> I found the following relevant output:<br />
<code><br />
[  150.479730] sd 2:0:0:0: [sdb] Attached SCSI removable disk<br />
[  150.479889] sd 2:0:0:0: Attached scsi generic sg2 type 0<br />
[  151.240118] sd 2:0:0:0: [sdb] Bad block number requested<br />
[  151.240136] device-mapper: multipath: Failing path 8:16.<br />
[  151.240218] Buffer I/O error on device dm-5, logical block 0<br />
[  151.283296] Buffer I/O error on device dm-5, logical block 1<br />
[  151.283326] Buffer I/O error on device dm-5, logical block 2<br />
[  151.283342] Buffer I/O error on device dm-5, logical block 3<br />
[  151.283361] Buffer I/O error on device dm-5, logical block 4<br />
[  151.283376] Buffer I/O error on device dm-5, logical block 5<br />
[  151.283393] Buffer I/O error on device dm-5, logical block 6<br />
[  151.283408] Buffer I/O error on device dm-5, logical block 7<br />
[  151.283424] Buffer I/O error on device dm-5, logical block 0<br />
[  151.283439] Buffer I/O error on device dm-5, logical block 1<br />
[  151.376242] sd 2:0:0:0: [sdb] Bad block number requested<br />
[  151.376251] device-mapper: multipath: Failing path 8:16.<br />
[  151.488138] usb 1-4: reset high speed USB device using ehci_hcd and address 2<br />
</code></p>
<p>In addition to the above messages from <code>dmesg</code>, if I wait long enough the system apparently makes another attempt to mount the device, which also fails. The results from <code>dmesg</code> are as follows&#8221;<br />
<code><br />
[  147.564051] usb 1-4: reset high speed USB device using ehci_hcd and address 2<br />
[  484.738852] usb 1-4: USB disconnect, address 2<br />
[  487.764058] usb 1-4: new high speed USB device using ehci_hcd and address 3<br />
[  487.943593] usb 1-4: configuration #1 chosen from 2 choices<br />
[  487.993399] scsi3 : SCSI emulation for USB Mass Storage devices<br />
[  488.005421] usb-storage: device found at 3<br />
[  488.005429] usb-storage: waiting for device to settle before scanning<br />
[  493.004381] usb-storage: device scan complete<br />
[  493.007958] scsi 3:0:0:0: Direct-Access     Apple    iPod             1.62 PQ: 0 ANSI: 0<br />
[  493.065093] sd 3:0:0:0: [sdb] 991232 2048-byte hardware sectors: (2.03 GB/1.89 GiB)<br />
[  493.066165] sd 3:0:0:0: [sdb] Write Protect is off<br />
[  493.066174] sd 3:0:0:0: [sdb] Mode Sense: 68 00 00 08<br />
[  493.066182] sd 3:0:0:0: [sdb] Assuming drive cache: write through<br />
[  493.070541] sd 3:0:0:0: [sdb] 991232 2048-byte hardware sectors: (2.03 GB/1.89 GiB)<br />
[  493.074162] sd 3:0:0:0: [sdb] Write Protect is off<br />
[  493.074173] sd 3:0:0:0: [sdb] Mode Sense: 68 00 00 08<br />
[  493.074180] sd 3:0:0:0: [sdb] Assuming drive cache: write through<br />
[  493.074192]  sdb: sdb1 sdb2<br />
[  493.078087] sd 3:0:0:0: [sdb] Attached SCSI removable disk<br />
[  493.078247] sd 3:0:0:0: Attached scsi generic sg2 type 0<br />
[  493.912289] sd 3:0:0:0: [sdb] Bad block number requested<br />
[  493.912308] device-mapper: multipath: Failing path 8:16.<br />
[  493.912337] __ratelimit: 100 callbacks suppressed<br />
[  493.912345] Buffer I/O error on device dm-5, logical block 1<br />
[  493.912356] Buffer I/O error on device dm-5, logical block 2<br />
[  493.912366] Buffer I/O error on device dm-5, logical block 3<br />
[  493.912377] Buffer I/O error on device dm-5, logical block 4<br />
[  493.912387] Buffer I/O error on device dm-5, logical block 5<br />
[  493.912397] Buffer I/O error on device dm-5, logical block 6<br />
[  493.912407] Buffer I/O error on device dm-5, logical block 7<br />
[  493.912470] Buffer I/O error on device dm-5, logical block 0<br />
[  493.912497] Buffer I/O error on device dm-5, logical block 0<br />
[  493.912512] Buffer I/O error on device dm-5, logical block 1<br />
</code><br />
While doing some research and finding nothing specific to my issue, I decided it was time to research <code>multipath</code> specifically, as this is what <code>dmesg</code> is reporting as having trouble. I found the following when I listed the devices mapped by <code>multipath</code>:<br />
<code><br />
$ sudo multipath -ll<br />
2000a27001921f121dm-3 Apple   ,iPod<br />
[size=1.9G][features=0][hwhandler=0]<br />
\_ round-robin 0 [prio=1][enabled]<br />
\_ 2:0:0:0 sdb 8:16  [failed][ready]<br />
</code></p>
<p>Suffice to say I&#8217;d attempted a number of things before digging into <code>multipath</code>, including attempting to remove and reinstall usb_storage, all without success.</p>
<p>Then I read the manual (RTFM!) for <code>multipath</code> and saw that there is an option to flush all unused multipath device maps (-F). I plugged in my iPod, ran <code>multipath -F</code> and then used my panel applet (Disk Mount) to mount it and viola! my iPod is functioning again.<br />
<code><br />
$ sudo multipath -F<br />
[sudo] password for mark:<br />
libdevmapper: libdm-common.c(374): Removed /dev/mapper/2000a27001921f121-part2<br />
libdevmapper: libdm-common.c(374): Removed /dev/mapper/2000a27001921f121-part1<br />
</code></p>
<p>CONCLUSION: What is the source of this problem? Evidently I recently installed <code>multipath-tools</code> to explore Ubuntu&#8217;s support for MPIO devices. Upon removal of this package I find that my iPod automounts just fine.</p>
<p>So, what does this mean? I don&#8217;t know exactly, except that having <code>multipath-tools</code> installed on a machine that will be used to work with an iPod is not a good combination.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mzanfardino.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mzanfardino.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mzanfardino.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mzanfardino.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mzanfardino.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mzanfardino.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mzanfardino.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mzanfardino.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mzanfardino.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mzanfardino.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mzanfardino.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mzanfardino.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mzanfardino.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mzanfardino.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=74&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mzanfardino.wordpress.com/2010/02/27/problem-with-ipod-not-automouting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ffd3c7b4cf52db1cdeb8f585dcd8866?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mzanfardino</media:title>
		</media:content>
	</item>
		<item>
		<title>Unofficial feature for obsolete version of GRUB</title>
		<link>http://mzanfardino.wordpress.com/2009/12/18/unofficial-feature-for-obsolete-version-of-grub/</link>
		<comments>http://mzanfardino.wordpress.com/2009/12/18/unofficial-feature-for-obsolete-version-of-grub/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 21:25:55 +0000</pubDate>
		<dc:creator>mzanfardino</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mzanfardino.wordpress.com/?p=72</guid>
		<description><![CDATA[Setting custom text colors with a splashimage for GRUB 0.87<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=72&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recently I had been asked to &#8216;brand&#8217; the GRUB menu for my company&#8217;s servers. The company has made the decision to deploy Ubuntu Long Term Support server software. And though we maintain current with security patches, we do not wish to radically alter the distribution that Canonical has release under its LTS program.</p>
<p>As such, we have a number of server running Ubuntu 8.04 LTS and 9.04 LTS. Canonical has seen fit to distribute these distribution with GRUB 0.97. And though GRUB2 is available, it has been decided by the company not to install GRUB2 at this time.</p>
<p>This, coupled with a recent change in the look of the company colors, has cause a problem with &#8216;branding&#8217; the GRUB menu. It seems that GRUB 0.97 does not support the COLOR attribute if the SPLASHIMAGE attribute is in use. The result of which left me with an untenable problem: when I load the new company SPLASHIMAGE which is red lettering on a white background, I was unable to change the color of the text, which is also white by default (thankfully with black shading, so it&#8217;s at least visible).</p>
<p>While researching this issue, I came across bug #16190 filed with the GRUB project (https://savannah.gnu.org/bugs/?16190). In it, a helpful user (adrian15) wrote:</p>
<blockquote><p>Non-standard grub such as the one from Ubuntu is not supported officially by Grub.</p>
<p>However I am going to help you. The color command when having a background image does not work as you have seen.</p>
<p>Use the following commands instead:</p>
<p>background RRGGBB<br />
foreground RRGGBB<br />
adrian15</p></blockquote>
<p>I followed adrian15&#8242;s suggestion, knowing full-well that this is not an officially supported feature of GRUB. My first attempts failed to yield any results. No matter what color combination I defined it was not reflected in the GRUB menu.  I continued to explore this option though, as I was certain that had adrian15 been wrong it would have been noted in the bug.</p>
<p>I found while editing the menu interactively I could in fact set the foreground and background colors to values of my choosing. I concluded then that it must be the order in which these settings appeared in /boot/grub/menu.lst that was the problem. Sure enough, by moving the foreground and background setting after the SPLASHIMAGE setting I was able to achieve my desired results!</p>
<p>In summery, if you are using GRUB 0.97 (I don&#8217;t care why) and you have need to customize your GRUB menu with a splash image of your own design and you want to change the color of the text, you can do so with the unofficial settings: FOREGROUND and BACKGROUND. Just remember that you must first specify the SPLASHIMAGE, otherwise the color choice will not appear to take effect.</p>
<p>ex:<br />
<code>...<br />
splashimage=(hd0,0)/boot/grub/images/my_splash_image.xpm.gz<br />
foreground ff0000<br />
background 000000<br />
...</code><br />
This example will set the foreground color of the text to red and the background color of the text to black.</p>
<p>I have added a comment to the now-closed bug entry so that others may benefit. I must stress however that this is an unofficially feature of an obsolete version of GRUB! Do *NOT* expect to get support from the GRUB team or me if this does not work for you!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mzanfardino.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mzanfardino.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mzanfardino.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mzanfardino.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mzanfardino.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mzanfardino.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mzanfardino.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mzanfardino.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mzanfardino.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mzanfardino.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mzanfardino.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mzanfardino.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mzanfardino.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mzanfardino.wordpress.com/72/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=72&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mzanfardino.wordpress.com/2009/12/18/unofficial-feature-for-obsolete-version-of-grub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ffd3c7b4cf52db1cdeb8f585dcd8866?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mzanfardino</media:title>
		</media:content>
	</item>
		<item>
		<title>Replacing default desktop manager with qingy on Ubuntu intrepid</title>
		<link>http://mzanfardino.wordpress.com/2009/01/30/replacing-default-desktop-manager-with-qingy-on-ubuntu-intrepid/</link>
		<comments>http://mzanfardino.wordpress.com/2009/01/30/replacing-default-desktop-manager-with-qingy-on-ubuntu-intrepid/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 23:20:46 +0000</pubDate>
		<dc:creator>mzanfardino</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[framebuffer]]></category>
		<category><![CDATA[gdm]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[nm-applet]]></category>
		<category><![CDATA[qingy]]></category>

		<guid isPermaLink="false">http://mzanfardino.wordpress.com/?p=62</guid>
		<description><![CDATA[I often find that I want to login to a text console as opposed to my GUI. I use Ubuntu 8.10 (intrepid ibex) with gnome which uses gdm desktop manager by default. I&#8217;ve found in the past while working with gentoo that I can replace the GUI login provided by kdm, gdm, etc. with qingy [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=62&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I often find that I want to login to a text console as opposed to my GUI.  I use <em>Ubuntu 8.10 (intrepid ibex)</em> with <em>gnome</em> which uses <em>gdm</em>  desktop manager by default.  I&#8217;ve found in the past while working with <em>gentoo</em> that I can replace the GUI login provided by <em>kdm, gdm,</em> etc. with <em>qingy</em> which uses framebuffer video support to provide a nice splash screen without the overhead of a full-blown GUI.</p>
<p>With the introduction of <em>upstart</em> as a replacement for <em>inittab</em> in <em>ubuntu</em> there are different steps to making <em>qingy</em> work and the qingy (and other) sites suggest.  First, install <em>qingy</em> (this part hasn&#8217;t changed!).  I installed from repos, but you can download and install from the <em>qingy</em> home page (<a href="http://qingy.sourceforge.net/">http://qingy.sourceforge.net/</a>).  the repos will place the <em>quingy</em> binary in <em>/usr/sbin</em>.  Next, edit <em>/etc/event.d/tty1</em>.  Comment out the statement <code># exec /sbin/getty 38400 tty1</code> and add a new statement <code>exec /usr/sbin/qingy</code> tty1.  This will alter tty1 from loading <em>getty</em> to <em>qingy</em>.  NOTE: Many how-to&#8217;s suggest replacing <em>getty</em> with <em>qingy</em> for all but one tty.  I do not feel this is necessary, as I&#8217;m merely using <em>qingy</em> as a replacement for <em>gdm</em> and I only need one instance of this.</p>
<p>Next, disable your desktop manager.  I&#8217;ve stated that I use <em>gdm</em> so if you are using <em>kde</em> or <em>xdm</em> (or something else entirely) you may have to figure out the best way to do this.  The easiest way to disable <em>gdm</em> is by using <em>bum</em> (boot-up manager GUI).  This will likely have to be installed using your favorite installation method.  I use <code>sudo aptitude install bum</code> from the command line.  Once running, locate GNOME Display Manager and un-check it.  If you click apply the GUI session will end! <em>You have been warned!</em></p>
<p>At this point you should be able to boot your machine and find that you have a nifty splash screen with options to start different sessions, among them will be text-console.</p>
<p>Note: you will likely want to change some of the default configuration for <em>qingy</em>.  For instance, by default <em>qingy</em> will launch your GUI session in the open tty (tty1 in this case).  If, like me, you are used to seeing the GUI on tt7, you have to change <code>/etc/qingy/settings x_server_tty = unused_tty</code>.  There are many other settings that can be adjusted in the setting files as well.</p>
<p>Also, you can find a nice selection of themes for <em>qingy</em> on freshmeat (<a href="http://themes.freshmeat.net">http://themes.freshmeat.net</a>)</p>
<p>*** HEADS UP ***<br />
Now, this is where things got a little frustrating for me.  When I logged into a <em>gnome</em> session, I discovered that my audio was not initializing.  I could not playback audio or work with audio in any way.  I did not get any specific errors: <em>dmesg</em>, <em>/var/log/syslog</em> and <em>/var/log/messages</em> did not reveal any obvious errors.  I tested audio from a text-console and found that I could playback mp3 files using <em>mpg321</em> or <em>ximp3</em> (both console based mp3 players), but only if I run these apps as <em>sudo</em>.  </p>
<p>This gave me the vital clue that helped to solve the problem with <em>gnome</em>.  It turns out that my user account was not a member of the <em>audio</em> group that is installed when <em>ubuntu</em> was installed.  It&#8217;s apparently not necessary when you use <em>gdm</em> as your desktop manager. By adding my user to the <em>audio</em> group I was able to playback audio from text-console without the need of <em>sudo</em> *and* when I logged into my <em>gnome</em> session audio was working!</p>
<p>In addition to audio not working, <em>nm-applet</em> (the panel <em>NetworkManager</em> icon control) is also not working.  This item took a little more effort to resolve, as it&#8217;s not a simple matter of adding a user account to a group.  <u>The way I resolved this might not be the correct method</u>, so please do your own research! However, I found that if I modified a number of files in <em>/etc/dbus-1/system.d/</em> I could make it work.  Specifically I modified the following files:</p>
<ol>
<li>/etc/dbus-1/system.d/ConsoleKit.conf</li>
<li>/etc/dbus-1/system.d/NetworkManager.conf</li>
<li>/etc/dbus-1/system.d/nm-applet.conf</li>
<li>/etc/dbus-1/system.d/nm-avahi-autoipd.conf</li>
<li>/etc/dbus-1/system.d/ nm-dhcp-client.conf</li>
<li>/etv/dbus-1/system.d/nm-dispatcher.conf</li>
<li>/etc/dbus-1/system.d/ nm-system-settings.conf</li>
</ol>
<p>For each of these files I copied the policy user section &#8220;root&#8221; and changed the user to my user account.</p>
<p><u>TO REPEAT: This may *not* be the correct way to do this, but in the end it worked.</u></p>
<p>Another issue I had was with the use of <em>encfs</em> which I used for directory encryption.  I found that until I added my user account to the <em>fuse</em> group I was unable to mount my encrypted directories.</p>
<p>I suspect that there are other issues as well with this approach.  </p>
<p>If you have any suggestions or comments regarding this method vs. some other method, please post here or provide a link to the suggestion.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mzanfardino.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mzanfardino.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mzanfardino.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mzanfardino.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mzanfardino.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mzanfardino.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mzanfardino.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mzanfardino.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mzanfardino.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mzanfardino.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mzanfardino.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mzanfardino.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mzanfardino.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mzanfardino.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=62&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mzanfardino.wordpress.com/2009/01/30/replacing-default-desktop-manager-with-qingy-on-ubuntu-intrepid/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ffd3c7b4cf52db1cdeb8f585dcd8866?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mzanfardino</media:title>
		</media:content>
	</item>
		<item>
		<title>Redirecting tomcat ROOT</title>
		<link>http://mzanfardino.wordpress.com/2008/11/07/redirecting-tomcat-root/</link>
		<comments>http://mzanfardino.wordpress.com/2008/11/07/redirecting-tomcat-root/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 20:13:51 +0000</pubDate>
		<dc:creator>mzanfardino</dc:creator>
				<category><![CDATA[tomcat]]></category>
		<category><![CDATA[webserrvices]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[redirect]]></category>

		<guid isPermaLink="false">http://mzanfardino.wordpress.com/?p=50</guid>
		<description><![CDATA[The goal is to force tomcat to redirect the default root homepage to another page altogether. With Apache2 it&#8217;s a simple matter of adding some code to apache2.conf Redirect /index.html http://$server/$path/index.html Where $server and $path represent the server and path to redirect. This does not appear to be the case with Tomcat, or if it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=50&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The goal is to force tomcat to redirect the default root homepage to another page altogether.  With Apache2 it&#8217;s a simple matter of adding some code to apache2.conf</p>
<p><code>Redirect /index.html http://$server/$path/index.html</code></p>
<p>Where <i>$server</i> and <i>$path</i> represent the server and path to redirect.</p>
<p>This does not appear to be the case with Tomcat, or if it is, I can&#8217;t seem to find the right file to update in order to make this change.  However, I did find a really good tip from another on how to override the default home page (source sited below).</p>
<p>Essentially when Tomcat is installed it&#8217;s configured to look for index.html, index.htm, and index.jsp in  <code>$TOMCAT_HOME/webapps/ROOT</code>. (which for my system is /usr/local/tomcat/webapps/ROOT).  The index.jsp file located there is the administrator welcome page that is displayed by default.  Simply creating an index.html page will override the jsp as the html is loaded before the jsp according to the configuration file located in <code>$TOMCAT_HOME/conf/web.xml</code>.  The files and their order is defined in <code>&lt;welcome-file-list&gt;</code>.</p>
<p>The index.html needs to be quite simple and should look as follows:<br />
<code><br />
&lt;html&gt;<br />
&nbsp;&nbsp;&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta http-equiv="refresh" content="0;URL=http[s]://$server/$path/index.html"&gt;<br />
&nbsp;&nbsp;&lt;/head&gt;<br />
&nbsp;&nbsp;&lt;body&gt;<br />
&nbsp;&nbsp;&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code><br />
This to me does not appear to be the ideal solution, as it forces the server to perform another round trip, which is inefficient particularly if you are redirecting to the same server but to a different application.  However, until I can find a more proper solution such as the apache2 solution, this will have to be what I use.</p>
<p>Source:<a href="http://wiki.apache.org/tomcat/HowTo#head-e82228c43a0ce77f71ebe64fc99ced33c9506ffe"> Tomcat Wiki<br />
</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mzanfardino.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mzanfardino.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mzanfardino.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mzanfardino.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mzanfardino.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mzanfardino.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mzanfardino.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mzanfardino.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mzanfardino.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mzanfardino.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mzanfardino.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mzanfardino.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mzanfardino.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mzanfardino.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=50&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mzanfardino.wordpress.com/2008/11/07/redirecting-tomcat-root/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ffd3c7b4cf52db1cdeb8f585dcd8866?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mzanfardino</media:title>
		</media:content>
	</item>
		<item>
		<title>Installing gentoo with root encryption: notes</title>
		<link>http://mzanfardino.wordpress.com/2008/10/23/installing-gentoo-with-root-encryption-notes/</link>
		<comments>http://mzanfardino.wordpress.com/2008/10/23/installing-gentoo-with-root-encryption-notes/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 23:44:08 +0000</pubDate>
		<dc:creator>mzanfardino</dc:creator>
				<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[encrypted root]]></category>
		<category><![CDATA[installation]]></category>

		<guid isPermaLink="false">http://mzanfardino.wordpress.com/?p=40</guid>
		<description><![CDATA[General notes for how to install gentoo to a fully encrypted file system (including root)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=40&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Note: This is compiled from several sources (which I will site at the end) and my own experience.  This example assumes the following partition table:</p>
<table>
<tr>
<td>/dev/sda1</td>
<td>/boot</td>
</tr>
<tr>
<td>/dev/sda2</td>
<td>swap</td>
</tr>
<tr>
<td>/dev/sda3</td>
<td>/</td>
</tr>
</table>
<ul>
<li>Follow <em>Gentoo Handbook</em> through 4.d.  FUTURE: Add notes regarding flushing drive with /dev/urandom before encrypting.</li>
<li>Be sure to emerge cryptsetup. (NOTE: this should not be necessary as gentoo 2008.0 includes luks support).</li>
<li>Load necessary modules:<code><br />
modprobe dm-crypt # required<br />
modprobe dm-mod  # required<br />
modprobe serpent  # optional<br />
modprobe blowfish # optional<br />
modprobe aes       # optional but required for aes-cbc-essiv</code></li>
<li>Encrypt the swap partition and mount it.  NOTE: Encytping with random passkey &#8211; does not require passkey to mount:<br />
<code>cryptsetup -c aes-cbc-essiv:sha256 -d /dev/urandom create swap /dev/sda2<br />
mkswap /dev/mapper/swap<br />
swapon /dev/mapper/swap</code></li>
<li>Encrypt the root partition. NOTE: This example assumes a keyword/passphrase. FUTURE: Add examples for keyfile encryption:<br />
<code>cryptsetup -y --cipher serpent-cbc-essiv:sha256 --key-size 256 luksFormat /dev/sda3</code></li>
<li>Open newly encrypted partition:<br />
<code>cryptsetup openLuks /dev/sda3 root</code></li>
<li>Create the file system on the logical root.  This example assumes ext3. FUTURE: Add notes concerning the user of alternate file system:<br />
<code>mke2fs -j -m 1 -O dir_index,filetype,sparse_super /dev/mapper/root -L root</code></li>
<li>Create the file system for /boot.  This example assumes ext2 (as you needn&#8217;t journal a boot partition).  FUTURE: Add notes concerning the use of alternate file system:<br />
<code>mke2fs /dev/sda1 -L boot</code></li>
<li>Mount the file system for use during the remainder of install:<br />
<code>mount /dev/mapper/root /mnt/gentoo</code></li>
<li>Return to the <em>Gentoo Handbook</em> from step 5 to 7.d (<em>genkernel</em>)</li>
<li>Build the kernel with <em>genkernel</em><br />
<code>cd /usr/src/linux<br />
genkernel --luks --menuconfig all</code><br />
The key here is that you configure your kernel for ramdisk support and luks support FUTURE: add details.</li>
<li>Continue with <em>Gentoo Handbook</em> from 7.e till 8.a</li>
<li>Modify /etc/fstab to mount root from /dev/mapper/root. fstab will look as follows:<br />
<table>
<tr>
<td>/dev/sda1</td>
<td>/boot</td>
<td>ext2</td>
<td>defaults,noatime</td>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>/dev/mapper/swap</td>
<td>none</td>
<td>swap</td>
<td>sw</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>/dev/mapper/root</td>
<td>/</td>
<td>ext3</td>
<td>noatime</td>
<td>0</td>
<td>1</td>
</tr>
</table>
</li>
<li>Modify /etc/conf.d/dmcrypt to mount swap during boot:<br />
<code>swap=swap<br />
source='/dev/sda2'</code></li>
<li>Continue with <em>Gentoo Handbook</em> from 8.b till 10.b.</li>
<li>Configure GRUB to use genkernel:<br />
<table>
<tr>
<td>title</td>
<td>Gentoo Linux 2.6.25-r8 (genkernel)</td>
</tr>
<tr>
<td>root</td>
<td>(hd0,0)</td>
</tr>
<tr>
<td valign="top">kernel</td>
<td>/boot/kernel-genkernel-x86-2.6.25-gentoo-r8 root=/dev/ram0 init=/linuxrc ramdisk=8192 crypt_root=/dev/sda3 vga=791</td>
</tr>
<tr>
<td>initrd</td>
<td> /boot/initramfs-genkernel-x86-2.6.25-gentoo-r8</td>
</tr>
</table>
<p>NOTE:kernel name may be different,be sure to use the correct initramfs and kernel.</li>
</ul>
<p>Unbelievably that&#8217;s it!  After days and days of trying to create my own initramfs and writing my own linuxrc files it really comes down to passing using genkernel to build the kernel and initramfs with luks support by passing genkernel &#8211;luks! (well, and the rest).</p>
<p>More to come later.</p>
<p>Citation:<br />
<a href="http://gentoo-wiki.com/SECURITY_System_Encryption_DM-Crypt_with_LUKS#Preparing_the_disk">http://gentoo-wiki.com/SECURITY_System_Encryption_DM-Crypt_with_LUKS#Preparing_the_disk</a><br />
<a href="http://gentoo-wiki.com/SECURITY_Encrypting_Root_Filesystem_with_DM-Crypt_with_LUKS#Using_initramfs_and_busybox">http://gentoo-wiki.com/SECURITY_Encrypting_Root_Filesystem_with_DM-Crypt_with_LUKS#Using_initramfs_and_busybox</a><br />
<a href="http://gentoo-wiki.com/SECURITY_Encrypting_Root_Filesystem_with_DM-Crypt">http://gentoo-wiki.com/SECURITY_Encrypting_Root_Filesystem_with_DM-Crypt</a><br />
<a href="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=1">http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=1</a></p>
<p>Here is a handy one for when you have to chroot into your system because you omitted something and it doesn&#8217;t boot: <a href="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=6">http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=6</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mzanfardino.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mzanfardino.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mzanfardino.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mzanfardino.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mzanfardino.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mzanfardino.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mzanfardino.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mzanfardino.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mzanfardino.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mzanfardino.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mzanfardino.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mzanfardino.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mzanfardino.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mzanfardino.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=40&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mzanfardino.wordpress.com/2008/10/23/installing-gentoo-with-root-encryption-notes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ffd3c7b4cf52db1cdeb8f585dcd8866?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mzanfardino</media:title>
		</media:content>
	</item>
		<item>
		<title>Access MySQL with mysql-query-browser over ssh tunnel</title>
		<link>http://mzanfardino.wordpress.com/2008/10/23/access-mysql-with-mysql-query-browser-over-ssh-tunnel/</link>
		<comments>http://mzanfardino.wordpress.com/2008/10/23/access-mysql-with-mysql-query-browser-over-ssh-tunnel/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 19:16:08 +0000</pubDate>
		<dc:creator>mzanfardino</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysql-query-browser]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tunnel]]></category>

		<guid isPermaLink="false">http://mzanfardino.wordpress.com/?p=38</guid>
		<description><![CDATA[Problem: Your mysql database lives on a server that has all but a handful of ports blocked. Specifically you can&#8217;t use mysql-query-broswer to connect directly as port 3306 is blocked. Solution: Tunnel traffic through an ssh connection and forward the traffic from some other port (assuming you have mysql running on your localhost on port [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=38&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Problem:<br />
Your mysql database lives on a server that has all but a handful of ports blocked.  Specifically you can&#8217;t use mysql-query-broswer to connect directly as port 3306 is blocked.</p>
<p>Solution:<br />
Tunnel traffic through an ssh connection and forward the traffic from some other port (assuming you have mysql running on your localhost on port 3306) to port 3306.</p>
<p>How?</p>
<p>Simple: Open a new shell and create the tunnel on the local machine to the remote server as follows:</p>
<p><code>ssh -L <em>$localport</em>:127.0.0.1:3306 -l <em>$remoteuserid</em> <em>$remoteserveraddress</em></code></p>
<ul>
<li><em>$localport</em> can be any available port, include 3306, but only if mysql is *not* running on the local machine.</li>
<li><em>$remoteuserid</em> is the user id used to connect to the remote server.</li>
<li><em>$remoteserveraddress</em> is the address of the remote server.</li>
</ul>
<p>Once the tunnel is established, leave the shell open.  You might get timed out depending on your server configuration, so you might need to have some application running on the remote server to maintain the connection.</p>
<p>Now launch mysql-query-browser, set the Server Hostname to 127.0.0.1 and the port to $localport.  That&#8217;s it!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mzanfardino.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mzanfardino.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mzanfardino.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mzanfardino.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mzanfardino.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mzanfardino.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mzanfardino.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mzanfardino.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mzanfardino.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mzanfardino.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mzanfardino.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mzanfardino.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mzanfardino.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mzanfardino.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mzanfardino.wordpress.com&amp;blog=4825898&amp;post=38&amp;subd=mzanfardino&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mzanfardino.wordpress.com/2008/10/23/access-mysql-with-mysql-query-browser-over-ssh-tunnel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ffd3c7b4cf52db1cdeb8f585dcd8866?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mzanfardino</media:title>
		</media:content>
	</item>
	</channel>
</rss>
