Some screenshots have been added for demonstration purposes
In this post I’d like to share some quick thoughts on the usability of an old Raspberry Pi Model B, which I had for quite some time now. Back in the day I got it as a present, so to start it up quickly and see what it can do, I chose Raspbian to be the operating system on it, as it was and still is the official OS of these little boards. To cut a long story short, I quickly decided to start looking for an alternative, as I found that system to be quite heavy-weight for such an under-powered little machine. My obvious second choice was Gentoo, since I was quite familiar with that, and it can be fine tuned really well to a specific hardware and environment. So Gentoo it was.
With my new and light(est)-weight OS, I started to happily fiddle around with it, but this machine turned out to be so under-powered, that it wasn’t capable of handling roles such as a print server (takes ages for a single page to be processed), simple music player (the analog output is, well, not so good), etc. In the end I settled for using it as a simple secure file exchanger on my local network, so that I don’t have to enable shares on any of the machines, but to be frank, having Gentoo on it for such a simple task was not worth the extra effort. In order to make package merging and updating considerably faster (aka. usable) on my Pi, I had to turn my laptop into a makeshift distcc server to hasten compilation. Don’t misunderstand me, it was really fun setting distcc up, watching individual translation units for the Pi appearing and disappering in my laptop’s temp directory as they are being compiled, benchmarking how much faster the compilation went, etc. But, as I told before, the added cost of needing to keep a 32 bit arm GCC (and dependencies) around was not worth it.
It is not surprising in the end, that some time later, I simply started to postpone system updates on the Pi, and eventually, I completely stopped doing them. An unpatched system is, of course, a bad idea to have around, so last week I started to look for an alternative OS that could satisfy my needs: it needed to be (really) lightweight and easy to maintain. Luckily, I stumbled upon DietPi, which is exactly what I was looking for. I was delighted to realize, that the base image of DietPi is rather similar in nature to Gentoo’s stage tarballs, as both provide only an extremely minimalistic system, which you need to extend and fine-tune later during the setup process. These images are so minimalist in fact, that they provide little more than a skeleton on which you can build the rest of the system. Just the same as Gentoo. I was also impressed by the installation process, as the direct connection of a keyboard and display could be omitted completely. One needs only the power cable and a Cat5 plugged in to complete the installation, as after dd-ing the image onto the SD card, the entire installation process can be done remotely. The whole procedure is very straightforward and after having done the last simple fine-tuning process (dietpi-config), it was ready to go.
The maintenance of the system is equally simple. Periodically the system checks for an update, and displays a message on the welcome screen highlighted in red:
DietPi welcome screen notifying the user about avaliable updates
After issuing the recommended command, we get something like this:
‘dietpi-update’ command has been issued
And here is the result after reboot:
A freshly booted DietPi after updating
So all in all, this seems a really nice system for the purpose and I think I’ll stick with it for a while.
As always, thanks for reading.