My Asus Eee 4G odyssey

Well, I’ve had this thing for four days now, and I’ve finally gotten it set up the way I wanted it.

The first thing I wanted to do was replace the Xandros Linux on it with Ubuntu, both because I wanted the same set of programs available to me as on my larger systems, and because the customized Xandros system was fairly limited. That proved to be easy to do, thanks to earlier Eee users with the same idea.

But even before I did that, I wanted to expand the RAM in the system, so that I wouldn’t have to use a swap-file (this is a flash-memory-based system, a swap file would eat through the internal flash memory card’s limited lifetime of writes far too quickly, as well as being a security hole). A little research showed that it could take a single 2GB memory module, and the specs for it, and a local electronics store supplied the module. (I probably paid more than I needed to for it, but not by too much). With the extra RAM, I was also able to put all of the OS’s temporary and log files in a RAM-disk instead of on the internal flash drive. It means that my log files are erased every time I reboot, but that’s a small price to pay.

The installation of the OS and several of my most-often-needed programs took up about 70% of my internal 4GB flash drive, leaving me a little over a gigabyte for personal data. Nowhere near enough space (at its most pared-down, my data measured 1.5GB), but I didn’t want to use the internal flash for personal and often-changing data anyway — not only would it eat through flash-memory lifetime, but I couldn’t easily move the data to my main system when I needed the extra processing power. Fortunately, the Eee supports SDHC memory cards (a newer type of SD memory card that can handle capacities greater than 2GB), so I picked up an ultra-fast 4GB one.

Then came the “interesting” part.

I absolutely must store some of my data in an encrypted form, especially on portable systems. I also must have maximum reliability, at least to the point of knowing immediately if any data is corrupted, which to me means using Sun’s Zettabyte File System (ZFS) — arguably the most advanced file system available to date, and unarguably the most advanced one available on Linux. But ZFS doesn’t support encryption (yet), so I had to do some experimenting.

In the end, I figured out a way to have TrueCrypt encrypt the entire card, and create a ZFS pool on the encrypted device. It wasn’t that difficult, but as it turns out, that was only part of the answer: I couldn’t mount the ZFS device as my home directory, for various reasons, so I ended up just moving a small number of data directories to it (including my ~/.mozilla and ~/.mozilla-thunderbird directories) and (re-)creating symlinks to them in the same script where I mount the encrypted device and import the ZFS pool.

It’s not perfect. The Eee turns off power to the SD card slot when it goes into suspend mode, force-disconnecting the encrypted drive, so I have to manually unmount it before letting the system sleep. But it’s a small price to pay for the multiple layers of security (from theft or loss, from silent data corruption, etcetera) that it gives me though.

Now I can get back to my work. 🙂

2 Comments

  1. TrueCrypt? Perhaps LUKS would be more suitable…I don’t know if it supports hibernation but I’d be surprised if it didn’t.

    McPop.

  2. Unfortunately, the problem isn’t due to TrueCrypt (which has no problem with suspend mode on my larger laptop — I don’t have a swap file on either system, so I can’t use hibernation). It’s the Eee system itself, which disconnects the SD card slot when it suspends, causing all sorts of trouble with the encrypted ZFS system that’s on the card.

    It’s not really a big deal though. I set up a script that handles connecting and disconnecting the card, all I have to do is click on the icon for it before I tell the system to sleep and everything is fine.

Comments are closed.