Preparing the Hardware
I finally got my CF-to-IDE adapter for Piggybacker! It arrived in the mail last Tuesday, and it does work! I did have to bend back one of the adapter’s pins and wrangle the card into place with some nearby pens and a screwdriver, but it’s snugly in place now. The original hard drive caddy was basically stuck to the (broken) original hard drive, thanks to a too-small Torx screw, the CF card and adapter are basically just floating in the midst of a large gaping hole on the left side of the laptop instead of being protected in the old caddy. I don’t forsee this being a problem during normal use (sitting on a desk all day), but I’m keeping an eye out for a cheap/free Torx set anyway.
Choosing the OS(es)
I use XP for web development at work for compatibility’s sake, so I headed first to nLite, a priceless tool to create customized Windows XP install CDs. I made a slimmed-down version that suited my purposes, but it took some time because nLite kept crashing. Eventually, I resorted to The Pirate Bay for an untouched retail OEM ISO, which let me get past the first stage without crashing. It’s an odd problem, as I’ve used nLite before with Piggybacker’s i386 folder and Limited Edition‘s i386 folder with no problems, and I couldn’t find any evidence of anyone else having problems remotely like mine.
As for Linux, I decided on Crunchbang 9.04.01 (hereafter referred to as #!) as my distro of choice. I contemplated using #! 10 Statler, but it’s still in alpha and I’m perfectly happy with 9.04.01, so I declined to wrangle with Statler for now. I also tried out Linux Mint 9 Fluxbox, Lubuntu 10.10, and a couple other light distros, but I kept coming back to #! for its great assortment of preinstalled programs and its ease of use. However, I reserve the right to change my mind later. Again. (God bless Linux!)
Setting to Work
So with the major building blocks ready, I started down the road of getting Piggybacker ready for prime time as as a dual-boot XP Pro SP3 and #! 9.04.01 machine. I started out by divvying up the CF card like so:
- (/dev/sda1) 8GB ext4 / partition for #!
- (/dev/sda2) 1.5G swap partition for #!
- (/dev/sda3) ~22GB NTFS C:\ partition for XP
XP installed just fine, and booted happily. #! also installed and booted just fine (though #! took about 40 minutes to be usable to XP’s 2-3 hours). A VICTORY FOR CF-BASED COMPUTING!
Troubleshooting, Of Course
However, GRUB was unable to boot to XP, giving a mysterious “out of memory” error message. As it turns out, this was because the BIOS couldn’t access the XP partition for the relocated XP bootloader (when XP’s bootloader was in the MBR instead of GRUB, the problem naturally didn’t present itself). So I reworked the partition table like so:
- (/dev/sda1) 128MB ext4 /boot partition for #!
- (/dev/sda2) ~22GB NTFS C:/ partition for XP
- (/dev/sda3) 8GB ext4 / partition for #!
- (/dev/sda4) 1.5GB swap partition for #!
Several hours later, with XP and #! reinstalled, I tried to boot XP… and it worked! Everything is at least baseline ready for me to configure now, but XP will require significantly more work with proprietary drivers and such — I can’t even get Ethernet to work without a driver from Compaq! Seriously, check out the drivers and software page for the N620c to see how much is really needed to get XP working with the “Designed for Microsoft Windows XP” hardware.
As an aside, how can people say that Windows is “easier” than Linux when even a quite techie-oriented distro installs much faster (using a graphical installer, too!), configures all my hardware automatically (even got the weird keyboard layout, though not the custom media keys), and boots to the desktop in about half the time of XP? Is it confirmation bias? Who knows…
CF vs. Conventional Hard Drives
Piggybacker is now running both Linux and Windows quite happily, and I’ve had some time to reflect on the differences between hard drive and CF-based performance.
Most striking at first is that Piggybacker is almost totally silent with a normal workload, the only noises being the occasional fan startup and this weird clicking that comes from who-knows-what in the bowels of the upper left corner of the case. (I’m actually kinda scared to investigate further.)
As far as performance is concerned, boot and program load times are spectacularly faster in both #! and XP. The famed Linux I/O scheduling bug brings my system to a crawl when write-heavy tasks like system updates are going on, but this is not a very noticeable issue during normal desktop use. Things slow down noticeably in XP during intense I/O operations, too — especially during startup, where it can be a minute or so after booting to the desktop before the desktop is really usable — but XP’s usually is a bit more responsive during this time than #! would be. Honestly, nothing gets done in either OS until the heavy stuff is over, but XP gets points for having a slightly more responsive desktop environment (which are promptly deducted for XP taking forever to actually let you work on it :P ).
Using CF, I get about 15-30% extra battery life (translates to roughly 20-40 minutes in my case), depending on use. Not amazing, but certainly a nice side benefit.
Weight-wise, I really can’t tell a difference at all without concentrating hard — but then again, weight isn’t a compelling reason for using CF in this manner unless you’re talking about a really small computer and you’re unwilling to sacrifice a few grams in exchange for true SSD performance.
One thing that surprised me a lot was that Piggybacker now runs significantly cooler with a CF card. Part of this might be the newly gaping hole in the side providing extra ventilation — the old hard drive got very hot during intense read/write sessions, to the point where you couldn’t have Piggybacker touching bare skin for longer than a minute or two — but it might also be that the CF card just doesn’t get as hot. Regardless I’m quite thankful for it, because although I rarely use Piggybacker on my lap, when I do, it could be a pain (literally) from the excess heat.
I have an old CF card with pretty abysmal read/write speeds, but it has turned out to be more than adequate for my daily needs (both personal and professional) and the conversion even conferred some unexpected benefits. The cost was comparable to buying a new hard drive from eBay, and was only slightly more technically difficult than replacing a hard drive normally is. I’d say for most people, it’s not really something to jump out and try — but for those who need to squeeze an extra bit of life, performance, and battery life out of their machine on the cheap, a CF card is hard to beat.
I would definitely recommend being right next to another computer with web access while doing this — I encountered many unfamiliar errors during the process, and being able to search for solutions at the same time as I was encountering the problem was invaluable. Also, you can use the longer-than-normal install time (remember, CF cards aren’t speed demons to write to) to look for cool post-install resources.
I would like to credit the ever-resourceful K.Mandla for the original idea behind this endeavor (which has morphed considerably over time), and evidex for being a copy cat (so I don’t feel as bad for being one myself ;) ).