Mac Mini Upgrade

We joined that big happy Apple family back in January of 2006.  I picked up a refurbished Mac Mini (1.25GHz PowerPC, 256MB RAM, 40Gb drive) along with a copy of OSX Tiger and iLife 2006.  I immediately upgraded the RAM to the maximum 1Gb, and over time we’ve added a camera, USB multi format card reader and the other usual add-ons.  For the most part, the Mac Mini has done exactly what we’ve asked of it.

Along comes 2009, and we’ve got a 9megapixel digital camera a collection of digital music that tops 4000 songs (yeah, tiny for some) – but this was starting to seriously tax the modest 40Gb drive in the mini.  It was time to upgrade.  While terabyte drives are nearing the $100 mark, the mini uses an 2.5″ IDE drive – and for folks in the same situation, beware these are starting to be harder to track down as SATA drives are the new norm. I was able to find a 160Gb 2.5″ IDE drive locally at Everbest – a tiny independent shop that seems to have great prices and stuff in stock.

Since I figured the hardware upgrade was going to be fairly invasive, why not take this chance to upgrade to OSX leopard?  The primary driver here was to start using Time Machine to provide easy backups.

Step 1 – make sure we’ve backed up the system before we start messing with it.  Apple has some documentation on doing this manually.  You’ll also probably want to enable root if you haven’t done that yet. I just copied everything to a drive in a USB enclosure.

Step 2 – You would think the hard drive swap was the hard part, but it was actually very easy – I did it in about 15mins.  There is a very detailed write up on this process that I found which helped, for the one screw which is blocked by tape I just shoved the screwdriver through the tape and resealed it with a new bit of tape after I was done.

Step 3 – This is where I sort of went off the rails.  Originally my plan was to use the instructions I found for manually upgrading – unfortunately this just didn’t work.  Looking back, it was probably my fault that it didn’t work but the clock was ticking – as the Mac is Jenn’s machine I can’t have it in a non-working state for very long.

I hit a few interesting problems in my software install frenzy.  I managed to get a bogus disc in the slot loaded drive, one which didn’t boot – and as the hard drive had no OS on it either, it wouldn’t let me eject it.  The solution here was to boot into the open firmware and issue an eject command.  Before I even got started on the OS install, I needed to format the disk – I wasn’t sure which of the filesystem options to choose.  It turns out the ‘right’ one for my needs was the Extended Journaled, if you want more of a Unix like experience you want to choose Extended Journaled & Case Sensitive.

After the first multi-hour install session (hey, the mac mini isn’t speedy) as I mentioned I had botched the manual migration.  Where did I go wrong?  Well, I had not used exactly the same password – so my keyring was busted, this broke email and web browsing.  As well, in my rush I had apparently the wrong versions (I failed to run the update manager) of iTunes and iPhoto so they had data format problems.  At least I still had the original 40Gb drive untouched.

migrationassistantThe new plan – buy a 2.5″ USB enclosure for the old drive, and use the migration assistant.  So I got to enjoy the process of doing another clean OSX install, but this time the migration assistant was happy to move data from the old drive hooked up via USB.  The manual backup I had performed before was not eligible for use with the migration assistant (it wasn’t a complete copy of the OS, just the user data).  I was conservative with the migration, so a few of the extra apps (Adium) didn’t completely move over – but a quick re-install fixed that up.

So I finally succeeded, once again learning the lesson: Its the Apple way or the Highway.  The new drive has plenty of free space, is dead quiet and also faster than the old one (5200rpm vs. 4200).

K3B – Burn Baby Burn

At work, I primarily use a Windows based environment, but my home desktop is Ubuntu.  I did tinker for a while using Linux on my work laptop but found that the power management was temperamental and for my usage pattern the laptop has to sleep (and wake) predictably or its not useful.

Of course, my Ubuntu desktop isn’t the only machine at home.  Jenn’s got a Mac, and there are various Linux boxes and a host of other devices (squeezebox, etc) all on the network.  Really the network is much more important than the actual desktop you are using since mostly we’re talking about web and email access.  The network centric approach falls down when you want to do something like burn a DVD, then the machine matters.

Ubuntu comes with a nice set of built in tools  – but I wasn’t satisfied with the standard ones.  It didn’t take me long to come across K3B and I haven’t looked back since.  The user interface is intuitive, and I haven’t managed to make a coaster yet.

Just today I found myself needing to burn a Mac OSX .dmg file.  Now K3B doesn’t handle .dmg natively.  So the first thing we need to do is convert the .dmg file into an .iso ‘like’ file.  There was a handy thread that discussed exactly this problem and pointed at dmg2iso.pl.  The perl version works fine from my testing, but will fail with large .dmg files.  The solution is DMGExtractor, a java implementation that does the same conversion work.

Once you have converted the file – you might simply want to take a look at it without burning a CD or DVD.  This is easy under Linux.

sudo mount -t hfsplus -o loop test.iso /mnt

The same trick can be used with normal iso9660 format files by using -t iso9660 as the type.

Now its time to burn a DVD with our converted .iso like file.  K3B will dutifully check the format of this .iso file and report that it is not actually an iso9660 format file, but we know from mounting it that it is a valid filesystem in the hfsplus format.  K3B will let you still burn the DVD using this non-iso9660 file with a well worded warning that it can’t promise this will work but that there are valid formats that K3B doesn’t know about.

The resulting DVD works fine on the Mac – K3B hasn’t let me down yet.

When DNS Fails

Tonight I needed to do a bit of work as we’re coming up to a deadline and as usual things are running a bit behind. Normally I just VPN into work and use remote desktop to drive my desktop. Unfortunately when I went to do this tonight I wasn’t able to connect to my workstation via remote desktop.

A quick NSLookup query turned up the problem – it seems the DNS server at work had been reset and the DHCP lease for my workstation had not expired yet.  This means that the DNS server had no idea what IP my machine is using, but my workstation is under the assumption it has the rights to that IP address still.

Jim happened to be one of the few online, so I chatted with him a bit to see if he had any ideas how to resolve the problem.  He mentioned that this had happened to him a couple of times and his solution ended up being to drive back into work, I figured that would be my backup plan.

Jim then suggested using arp on a machine I had recently ssh‘d into from my workstation.  While I hadn’t actually used ssh to connect to any of our lab machines, it  got me thinking about our CVS server – as I was running Eclipse on my workstation and did have in theory an active connection.  From my laptop I was able to ssh into the CVS server, then using netstat I got a full list of the active connections.  Looking through the list turned up a few which were numeric (clearly where DNS had failed to provide a reverse name mapping).  From there it was a simple matter to remote desktop to the “right” numeric address to reach my workstation – I got lucky on my 1st try.