iPod Touch firmware upgrade with VMWare

With the recent OS 3.1.1 release it was really only a matter of time before I got around to upgrading again.  My previous firmware upgrade was not very smooth.  As I’ve mentioned previously, I run iTunes on a VMWare image of Windows XP – hosted on my Ubuntu desktop.

During the firmware upgrade process the iPod changes the type of USB device it is – this causes problems for Linux/VMWare.  I had previously thought there was no way to get around these issues, making VMWare based firmware upgrades impossible.  I’m happy to report that I was wrong.

Motivated by the OS 3.1.1 upgrade being free of charge (to suckers users who had purchased 3.0, and only $5 otherwise), I figured I’d take another run at making this work under Ubuntu / VMWare.  I found a post that discussed upgrading the iPhone under VMWare, and it turns out that this was pretty much the magic sauce to make things work.  The steps are shamelessly reproduced here, I cannot take the credit:

Create a file /etc/modprobe.d/blacklist-usb containing:

blacklist snd_usb_audio
blacklist usbhid

Reload udev to refresh the configuration we just changed:

sudo /etc/init.d/udev reload

Forcefully remove the kernel modules:

sudo /sbin/modprobe -r snd_usb_audio
sudo /sbin/modprobe -r usbhid

Perform the upgrade under VMWare.

Reverse these steps after the upgrade to restore your Ubuntu machine to normal:
sudo rm /etc/modprobe.d/blacklist-usb
sudo /etc/init.d/udev reload

Read on for gory details on what I actually did..

Continue reading “iPod Touch firmware upgrade with VMWare”

Growing a WindowsXP VMWare GuestOS in Ubuntu

vmware_ubuntuMy desktop at home is based on Ubuntu and generally its a good end user experience.  The bonus to running Linux is it gives me a unix system to hack around with and I avoid some of the malware nonsense the plagues the much more popular Windows operating system.  Of course, Linux is a poor second cousin and there is a lot of software that is only for Windows.  The suite of work-alike applications under Linux is improving, but most people can’t quite get away from Windows entirely.

For my part, one of the key applications is iTunes.  Sure you can sort of get by with pure Linux, buts its still pretty messy.  Running the real application is much easier.  There are a few other less frequently used applications that require me to have a Windows install around too.

Quite some time ago, I took a physical install of WindowsXP Home and virtualized it to run under VMWare Player (you can also choose to use VMWare Server).  I’ve lost track of the specific steps I did, but the following how to seems to cover basically what I did.  One footnote to this process is that it appears to Windows as if you’ve changed the hardware significantly enough to require revalidation of your license – this shouldn’t be a big deal if you’ve got a legitimate copy.

Now back then, I figured that a 14Gb disk would be plenty of space for Windows.  (Ok, stop laughing now).  So this worked fine for a couple of years, but the cruft has built up to the point where I’m getting regular low disk warnings in my WindowsXP image.  Time to fix it.

You’ll need to get a copy of VMWare Server.  This is a free download, but requires a registration that gives you a free key to run it.  You actually don’t need the key – as we only need one utility out of the archive:  vmware-vdiskmanager.  This will allow us to resize the .vmdk file – which will take a little while.


./vmware-vdiskmanager -x 36Gb WindowsXP.vmdk

The vmware server archive also contains another very useful tool: vmware-mount.  This allows you to mount your vmware disk and access the NTFS partitions under Linux.  Very nice for moving data in or out of your virtualized Windows machine.

I need to credit the blog post which pointed me at the vmware-vdiskmanager, but it goes on to talk about using the Windows administration tools to change the type of the disk from basic to dynamic.  This is a feature not available in XP Home.

The .vmdk file represents the raw disk, so we’ve now got more drive space avilable but the Windows partition is still stuck at 14Gb.  No problem, the Ubuntu live CD contains a copy of GParted which can resize NTFS for us.  We need to edit the .vmx file to add the .iso file and boot from it.

ide0:0.present = "TRUE"
ide0:0.fileName = "/MyData/ISOs/ubuntu-9.04-desktop-i386.iso"
ide0:0.deviceType = "cdrom-image"

I did also have to fiddle with the VMWare BIOS (F2 on boot) to enable booting from the CDRom.  You may or may not need to do this step.

Once you have the Ubuntu Live CD running, run the partition editor under System->Adminstration->Partition Editor.  This is GParted and its got a pretty friendly graphical UI.  It may take some time to apply the change.

WindowsXP_Growing

Once you are done, you need to re-edit your .vmx file to remove the .iso and boot Windows once again.  Don’t Panic.  Windows will detect that there is something amiss on your file system and want to run a check / repair on it.  This is normal.  Let it run through this process, it is a one time fix up and you’ll boot clean afterwards.

WindowsXP-Chkdsk

Start to end it takes a couple of hours, but most of that is waiting for longish disk operations.  Worth it to now have plenty of drive space available for my Windows VMware image.

Hacking Scrubbing Bubbles Automatic Shower Cleaner

img_2757Like many, I enjoy a clean house.  There are plenty of gadgets out there that help you keep on top of the various cleaning duties – Scrubbing Bubbles: Automatic Shower Cleaner being one of them.  While some of the gadgets you pick up are really gimmicky, this one seems to help reduce some of the heavy cleaning the shower needs with minimal effort.

Now this doesn’t eliminate the need to clean the shower, and I should be honest here – when it does need cleaning I manage to neatly avoid doing the dirty work, but I can say that the Scrubbing Bubbles cleaner seems to lengthen the time between shower cleanings.

The only bummer is that the bottles are not refillable.  We stretch ours out by only using it every 2nd day or so (instead of every day as is recommended).  It still would be nice to be able to refill with a concentrate and dilute with water.  The catch is – the caps do not screw off, so you can’t open the bottles.

Let’s take a look at how the cap works:

img_2758img_2760

So on the left you can see a close-up of the threaded part of the bottle. Very sneaky, they’ve put a pair of small ‘ratchet’ nubs – there is another pair on the other side as well.  Looking at the cap, you can see the corresponding teeth.  Once tightened down, the cap is very solidly locked onto the bottle.

To hack this – you’ll need two of the scrubbing bubbles empty containers.  From one you will recover a cap, from the other the bottle.  To remove (destroy) the cap, I used a pair of wire cutters and a pair of needle nose pliers.  I started a cut up the side of the cap, then grabbed the edge of the cut with the pliers and peeled it back.  I used 2 or three cuts until I managed to free the cap from the bottle.  Removing (destroying) the bottle to recover a cap was easier, but I used the same basic approach: a small cut, followed by the pliers to twist the material away.  Go slow (and carefully with sharp tools!) since you want to avoid any damage to the part you are trying to keep.

img_2761

The bottle must be modified to removing the nubs.  The plastic is a hard plastic which seemed to respond nicely to a coarse file I had in my workshop.  A few minutes of work and I had smoothed over the two pairs of nubs – the cap now opens and closes easily.  Now we’ve got a refillable container.