Conquering the Nokia 770
I was going to write a blog entry on Tuesday describing my first week with the Nokia 770. Just before I was about to start, I installed a package that broke the machine to such an extent that I had to reflash it and start from scratch. I decided to leave writing the blog entry until I had got the system stable again - which has taken until today.
As I was reflashing the device, I decided to take the opportunity to try out IT2007 Hacker Edition on the basis that if I didn't like it, it would be a simple matter to flash back to IT2006 and I wouldn't have wasted a lot of time installing software on IT2006 only to lose it all when I finally decided to give IT2007 a go.
I was pleased with how quickly the device flashed and in very short order, I had IT2007 HE in front of me. I was quite surprised to find that IT2007 was a vast improvement over IT2006 - a lot of the rather badly designed or ill-thought-out components had been improved a great deal and it didn't take very long at all for me to realise that I wanted to stick with IT2007.
Because it was designed for the Nokia n800 - the newer Internet Tablet - there were some packages I found you couldn't install on the Nokia 770, and worse, some that would install quite happily only for you to discover on your next reboot that the device would no longer successfully boot and instead go into a "boot loop" where it would get part-way through the boot process before failing and starting again. Once the device got into this state, there was nothing to do but reflash again.
Very quickly, I got pretty tired of reflashing and having to install all the packages I wanted again so I started looking for a backup solution. The OS comes with a backup tool, but this only preserves your settings and user data - not any of the applications you have installed. I came across a Makefile written by Andrew Flegg which used rsync to back the device up. However, this was specifically tailored to IT2005 and wouldn't work with either IT2006 or IT2007. After adjusting what the script backed up, I had something that was rather more useful to me and after a few experiments (and several more reflashes), I had a system that would reliably back up all the files on the device (excluding devices, temporary files and caches) and restore them to the device after a reflash.
After lots of experimenting, testing and backing up, I got to a stage where most of what I wanted was installed and I was very pleased. That was until I discovered that one of the packages I'd installed had stopped my arrow keys from working - not only on my Bluetooth keyboard, but on the device as well! I thought I was going to have to reflash and start installing again, until it occurred to me that I could reflash, take an independent backup of the newly-flahsed device (where the arrow keys worked), flash back to the backup where they didn't then copy bits from the "clean" backup over the newer files until I found the cause of the problem and could resolve it. It turned out that it was the files in /usr/share/X11/xkb that broke the arrow keys. Once I knew this, it was a simple matter of restoring from the full backup in which the arrow keys didn't work, copying that dir over the top then taking a new backup.
Then I discovered that gpsd didn't work. I had spent quite a while playing with kismet when I was running IT2006 and produced a map of local wifi APs in Google Earth using some python written by FireFury. Having spent £80 on a GPS kit, I wasn't going to settle for it not working. It turned out the cause was that the gpsd supplied with IT2007 simply doesn't run on the 770. Going back to the gpsd I found for IT2006 (which was a lot of effort in itself), I extracted the files and copied them over those in IT2007 and thankfully got it working.
So now, I have finally - nearly two weeks after receiving the device - got it working how I want.
Installation notes I made during the process can be found in the SUCS Knowledge base.
This blog entry was entirely written using my Nokia 770.
[ Entry posted at: Sun 19 Aug 2007 16:35:35 UTC | 0 comment(s)... | Cat: Geeky ]