My own Linux distribution
Last weekend I finally succeeded in creating my own Linux distribution. Sort of. It was all part of my ongoing project for Open Source eLearning, which aims at creating multimedia rich elearning materials for open source software. One of the building blocks for the project is of course the software we can use to create the materials. Text is usually not a problem, but to create professional audio and video content is more of a challenge.
There are quite enough software packages available that are more than up to the task. And distributions like Dyne:Bolic cater to the multimedia crowd already. However, I am quite satisfied with Ubuntu and I do believe it is the proper distribution for people who want to focus on creating content (and not on administering their Linux box). In the past I read some material on mastering your own Knoppix version and a recent eWeek article reminded me of that option. The article discussed Instalinux.com, where you can design you own tailor made distribution (based on a few general distributions). Ubuntu Dapper Drake is one of the options, but the problem is that you don’t really build a new complete image, but only a network install image. The concept is great, but a bit limited for my purpose. That same article also mentioned rPath, another online option that actually builds new iso images to your needs. You need to sign up and create new projects. Within the project you can add package for package and rPath promises you to handle all dependencies. Well, maybe I just had a bad day, because all of my build attempts halted at dependency problems. Again, it’s a great concept, but it needs to be ironed out some more.
I did not give up and a continued Google search finally brought me to the site of Reconstructor. Reconstructor is a small python based program dedicated to remastering an Ubuntu CD/DVD to your own specific needs. The 1.0 version is considered stable and the 1.1 is still in beta. The good thing about the beta is that it tells you that your Ubuntu install is lacking certain dependencies, in my case the squashfs option. That was easily solved through synaptic.
After you download Reconstructor it is simply a matter of cd-ing to the directory and type “sudo python reconstructor.py”. The first step is to create the complete remaster directory. Reconstructor will extract all information from an iso or an existing Ubuntu Live CD.
The next step shows you three tabs where you customize the Ubuntu to your own needs and wants. You can change the splash screen, the desktop, the theme, the icons, the fonts, the repositories. You can choose not to add the default software packages or add some other default graphics pacakges. Reconstructor als has the option to add proprietary goodies like drivers, java and flash. VMplayer can be added as well as packages to install Ubuntu as a server. These screens are a bit sluggish and appear slow, both in the stable as well as the beta version.
The real power was of course in the apt-get command line option. Here I could just type in the names of all the software packages I wanted. I had drawn up a list of audio, video and DTP software tools and most of them were accepted by apt-get. The odd one out was Cinelerra. After that it was just a matter of running apt-get update and press next. The build options are next. Just check all boxes and off you go. It took some time on my box, but within less than 60 minutes the iso was all ready. I did not like the fonts on my first iso, so I altered it and ran the build process again.
All files are stored on your harddrive in three different folders (initrd, remaster and root). Those files are protected and not easy to throw away. The good thing is that you can leave the files were they are, run apt-get update after a while and create an up to date ISO again. The apt-get command line allows you to do basically all that you want with the files.
So, at the end of the day, I had my own Linux distribution. Right now, the Open Source eLearning Ubuntu ISO contains the following packages:
* Kdissert (mindmapping)
* Istanbul (desktop recording)
The iso will be shared through bittorrent. Feel free to comment or suggest other or better production packages. It was fun 🙂