My first post will be on my attempt to create a minimal Raspbian image to run on my Raspberry Pi. The standard Raspbian image is bloated with all kind of tools and software, to make it easier on new users to use their Raspberry. I think this is useful if you want to quickly enable people to start doing stuff (browsing, programming in whatever language, play around with the GPIO ports etc). However, if you know what you want with your Pi (use it as a home server, install it in your home made arcade machine, whatever), a lot of the tools installed are useless and you might want to consider cleaning it up.

Of course there are images available with a clean, minimal Linux distro for the Raspberry. There are even small images based on Raspbian itself. However, my goal is not just to have a clean image, but also to learn from it; how can I install a system from scratch? What packages are required? And for what purpose? Also; who is to say that the creator of a random small image didn't install a key-logger on it? Anyway, I wanted to install Raspbian from scratch, on a clean, empty image, using just dpkg and apt.

Note that I do not want to compile anything if possible. It is fun and interesting to install Linux by compiling everything, however, I think compiling on a Raspberry Pi will be much too slow. And doing it using cross-compilers will teach you more on compiling, configuring and optimizing stuff, than on installing stuff. Plus, the packages in the Raspbian repository are probably configured and optimized specifically for the Raspberry Pi. If you are interested on installing Linux from source code, I would recommend not doing this on a Raspberry Pi. But have a look at Linux From Scratch. That's a nice project and you can learn a lot by doing it.

In this blog post I will show you what I did to create an empty image, prepare it for installation, install basic libraries/packages and dpkg and apt.  Finally I will attempt to make the image bootable, meaning you can start your Raspberry Pi with your own image and not much more installed than what is needed to install applications from the Raspbian repository, through apt.