Yesterday, Nokia announced the latest update to the Nokia N900. This is big update, hundreds of modules to be updated and megabytes of data. However, the update also moves some data out of the small root file system to the much larger regular file system.
I was very low on space in the root file system, but it said that it would free up space, so I proceeded with the installation. However, it used temporary space in the root file system and ended up crashing my phone; bad enough to lose telephone connectivity, but not bad enough to lose Internet connectivity.
I’ve installed OpenSSH on my phone so I can connect to it from any of the computers around the house which makes things much easier. Checking around, I found that the /var/lib/apt directory was taking up about 15 meg of disk space. The /var/lib/dpkg directory was taking up about 27 meg of disk space and the /var/cache/apt directory was using up 14 meg of disk space. That worked out to about 56 megabytes or over 20% of the root file system.
In the announcement about the upgrade, there was a link to a page about freeing up root file system space. It included a link to a blog post about moving apt out of metadata. The author wrote a script that copies data to the home directory and uses apt-config to change apt to use the new directories. The author warns that the script is not official and that people run it at their own risk. The wiki warns that this could cause rescue mode to fail.
Instead of using apt-config to move things around, I took a different approach. I created /opt/cache and /opt/lib I then moved the apt and dpkg directories from /var/cache and /var/lib to /opt/cache and /opt/lib With the files moved, I then created a symbolic link in the /var/cache and /var/lib directories pointing over to the /opt/cache and /opt/lib directories.
It appears to have worked fine, and the update completed. Unfortunately, the telephony portion did not restart properly so I had to reboot the N900. When I did, everything worked fine. Looking at Settings -> About, and at the results of the terminal command osso-product-info, I found that my release version was now 2.2009.51-1.002. Google Latitude, which had not worked with the beta version of the upgrade was working. The changes to the fmtx_client command to allow stations with a length other than eight characters also worked. I had more space in the root file system, but other than that, I haven’t noticed any other changes.
One thing that did throw me for a loop was that my prompt still said Nokia-N900-42-11 and uname –a returned Nokia-N900-42-11 as part of the string. However, that is the default hostname, and the update didn’t change the host name. I went into /etc/hostname and changed it to a more meaningful name, making the corresponding change in /etc/hosts
It was frustrating getting things moved around and updating cleanly, but now everything is running smoothly, and we can see what I can break, err, tinker with next on the N900. Anyone else have an N900? Got any stories about it?