When I first heard about Nokia’s super-awesome Debian-based N900 amazingphone, my first two thoughts were “I want this phone” and “man, I hope I don’t break it.” By offering access to the full OS, the N900 allows developers and users the freedom to make their phone into whatever they want. That also means an unprecedented ability to turn the phone into a very expensive paperweight. Just as with a full-sized computer, a user not paying attention to what’s going on could render the system inoperable in a heartbeat. Even the relatively competent could find themselves in that situation.
The chief drawback of the N900 is the way the disk space is layed out. The device has 32 gigabytes of storage, but most of that is on a separate partition for user data. The system and application space is only 2 gigabytes. This means that as the number of installed applications grows, the available space shrinks rather quickly. It can get to the point where there’s not enough space to store repository data and some of the software repositories become unavailable in the Application Manager.
In order to work around this issue, I copied /var/apt/cache to the user space and made a symlink to point to the new location. After a while, the space became tight again, so I started moving more things out, and eventually nearly all of /usr/lib ended up on the user partition. Everything seemed fine, so I wasn’t concerned.
Then one day, I couldn’t connect to the wireless network at work. I figured I’d try rebooting the phone to see if that helped. Instead, I got the boot screen with some not-so-friendly text: “Device error”. Nothing I could do could get the phone to boot. Presumably what happened is that some of the files that live in /usr/lib need to be accessed before the /home partition is mounted and since they lived on /home, things just went kablooie.
Regardless of why, I found myself stuck, and I knew I had to get it fixed quickly or my wife would never let me hear the end of it. Fortunately, Nokia provides tools to re-flash the device firmware. The process was quick and painless and in a few minutes, I had my phone back. Because user data is kept separately, I still had my contacts, music, etc. I just needed to re-install the software packages I wanted.
One thing of note is that my SIM card wasn’t read initially. I needed to do a round of software updates before it would work. Fortunately, I had the phone back to full use in about an hour. It’s good to know that I can easily unbreak any software issues I cause, and I hope the application data space issue is resolved in one form or another in the future.