Don't fill up that root FS!

Had rather a catastrophe tonight. My n800 crashed, rebooted… and got into a reboot loop. I think that I’d filled up the internal filesystem, but I can’t be sure – more on this later.

A few people on #maemo tried to help, but to no avail. I ended up totally re-flashing and starting again.

As well as my own knowledge from having done it all once before, a couple of pages proved handy:

* http://mg.pov.lt/770/reflash.html, while very dated (uses flasher-2.0, is designed for an n700) was a useful guide to getting the basics installed (without this, I’d have spent an hour or so scouring the net for things I remembered doing the first time)

* http://maemo.org/maemowiki/HowTo_EASILY_Boot_From_MMC_card was a decent guide to the process of setting the device to boot from MMC. There was one small bug though – but, this being a wiki, that bug is now gone 😉

Tonight, I’m going to do some more work to make it more robust. I have a 1Gb MMC card, currently split into two 512Mb partitions – one ext2, one FAT16. I’m going to make the second partition ext2 as well (or even ext3 if that can be pulled off). /home and /var/cache and /tmp will be moved to this second partition, and then certain parts of /home are going to be moved to the external SD card and symlinked. By doing this, I hope to avoid a repeat of what happened last night.

So what did happen last night? The device only has a smallish internal flash – about 256Mb, if memory servers. Over the last few days, I’d been downloading quite a bit – documents from Project Gutenberg, one of which was ~42Mb in size, images – as well as installing new applications like mad. Just last night, I installed a few more apps (bash, and screen), which made the user experience on the command line much more pleasant. Shortly after this, the whole UI locked up for about a minute, but then came good. This seems to be similar to the first sign of problems noticed in this post to maemo-users – UI locked up for a bit, then came good.

Unfortunately, I didn’t think to check disk space, or this could have been averted. Instead, I carried on my merry way, until a few moments later the device rebooted. It would get about 1/3 of the way booted (judged by the progress bar on the bottom of the screen) before it would reboot again.

This wasn’t too catastrophic for me at this point: I had the know-how to fix it, and I hadn’t put any valuable data on the device, so it’s merely annoying that I need to set it up again – but at least it’s motivation to set it up more robustly this time. This would be terrible for an average user though – they’d have lost data, and their device would be essentially useless, requiring at least a trip to the Nokia store to fix (if they didn’t just give up on it altogether).

I have to go to work now, so must run. I think I’ll do some more tests on my n800 tonight, just to confirm that the roof FS filling up really is the source of the problem.

Leave a Reply