What do people do these days when they are bored? One of the latest additions to the list of answers seems to be Build a Linux Distribution. Have you checked on Distrowatch lately? They have upwards of 100 distributions listed there. I used to be happy that I had a lot of choices but now I am beginning to get intimidated by the sheer volume of choices. You could play charades with only Linux Distro Names.
My Linux experience started back in the days of Red Hat 5.2. The first time I saw it I was instantly in love. I could have so much control over my operating system! I could write a whole page of text without the computer crashing on me and without having to save the document every two minutes lest all my hard work be nullified. I could stay totally oblivious to the new viruses popping up everyday and infecting systems all around me and I would never have to get caught up in the “Hardware software upgrade cycle” that all my other friends were forced into. There was Red Hat and there was Slackware and there was Debian and then came Mandrake and then came This Drake and That Drake and Yellow Hat and Blue Hat and then I stopped checking them out and decided to stick Red Hat and Mandrake.
About a year ago, I realized that they were getting too bulky for my taste. They were increasingly expecting me to know where to click rather than what to type. There were libraries I had never heard of before. Programs started crashing occasionally. I like my desktop Operating System to be Low Fat. Really Low Fat. What I mean is, I don’t have a printer, so I don’t want CUPS. I don’t have a scanner so I don’t want sane. I never connect my digital camera to my desktop nor do I intend to so I don’t need all those digital camera and USB libraries and support. Most importantly, I don’t want all other software compiled against those libraries.
Thus started my search for a new operating system for my desktop, which would be used primarily for internet / e-mail, word processing, image editing, programming in C/C++ and Perl and a little bit of music and videos. I tried out a few of the new “LIVE” distributions out there like Knoppix and its children, ThisKnoppix and ThatKnoppix and MyKnoppix and YourKnippix and so on and so forth. One is even called STD Knoppix or something like that. My wife wouldn’t let me try out that one. There is also DamnSmall, SLAX and a few others. They really come in handy when your friends call you asking to fix their commercial operating system that won’t boot up. You can load em up, burn all their important files to CD-Rs and let them do the re-installation. While k3b or konqueror is loading, you have more than enough time to explain to them that usually Linux is not this slow, its just because right now you are running from the CD Drive. Don’t worry, they’ll understand. You will be doing them a favor after all.
I didn’t really try out the server oriented distributions or the “based on
Are you thinking “Gentoo”? You are thinking wrong. Sorry. Instead my search came to an end when I found CRUX Linux. I started using it primarily soon after I installed it. It took a little bit of getting used to, commands, package management and all that but once I got comfortable with that in about 2 days, I realized that my search had to come to an end. I still try out a lot of other source based distributions now and then. Gentoo was the most impressive of them all as I learned from reading the manual but it was a little too complicated for me as I also learned from reading the manual. If you feel a bit confused about what I am saying, go Read The F(un) manual and you will get it. Crux is similar to gentoo, as all source-based distros are, just much simpler.
Crux and other source based distributions like Gentoo, SourceMage (and family), Onebase all work in the same fundamental way. You download scripts from the net that specify the location of the packages sources and commands to compile that package. You run the script and the script downloads the source(s), compiles and installs the package for you, making an entry in the package database for package management. You can modify these scripts in anyway you want and include any dependencies you want or don’t want. You can set optimization flags as you wish. It’s all very simple for an experienced Linux user. For Newbies it might take a little while to understand things still it’s worth a try. You can jump in the lake without knowing how to swim and learn soon enough or you will run out grasping for breath. If you do learn though, you will learn it better than the closed roof, air conditioned swimming pool people with paid instructors will.
Crux is simple to use, non-user-friendly-at-all, but simple. Just the way I like it. I use xfce4 window manager, firefox, gimp2, xpdf, nedit, openoffice, gqview, gaim, thunderbird, xmms, gxine and a few other gtk/gtk2 apps. These programs and a handful of their dependencies are all I compiled and installed, with my optimized architecture and optimization flags of course. Sadly nothing breaks. Nothing crashes. I love to tinker with my system but there is no need. That is why I keep a partition empty to try out the new ones.
Crux is a fine example of source-based distribution for experienced users. It is relatively unknown because its target audience is not the general masses but only those who want complete control over all aspects of their system, who like to keep things simple and who don’t mind getting their hands dirty. Compiling packages hardly ever fails and new releases make it to the official package list in a matter of days if not hours. It comes with some nifty tools for package management and informative manuals to go along. The people on the (very active) mailing list are more than happy to help you. The other night after gtk 2.4.0 was released, I modified the gtk scripts, and issued a couple of commands to upgrade my gtk2 libraries with the latest ones and recompile ALL application depending on gtk2. In the morning it was all done, and everything looked exactly the same as before. It felt great. Crux is more than a good desktop operating system for me; it’s a great feeling. Crux is like a good looking, really good looking, gorgeous, hot girl without any cheap perfume or makeup, waiting for you to customize her in any way you see fit. On top of that, she is free, permanent and wont make absurd and disturbing demands.
Enough of good feelings, lets try something different. One of the latest source based distributions I tried was Onebase 2004.2. I tried this distribution a good number of months ago, when it was at version 1.0 or 1.1 and the CD did not boot. The website had a note saying it was a known problem and the next version would definitely boot. I waited a while after that not wanting to waste bandwidth, time and a blank CD and decided to try out after they came up with version 2004.2. They went from 1.0 to 1.1, 1.2, 2.0 and finally 2004.2. Hoping it to have matured in all these months after all these releases, I burned me a copy and popped it in and restarted. This time the computer booted. I was happy. Then the Knoppix harware detection started up. I thought it would be a Knoppix clone with the base software and a BSD Ports/Potrage/Sorcery like system on top of it. It was not. It was instead something very similar to Linux From Scratch version 4.1. The commands that were executed, the way optimizations were unset before compilation of glibc, gcc and other packages as mentioned on the Linux From Scratch website and the choice of base packages all matched so I concluded that it was heavily inspired by LFS 4.1 if not based on it. I didn’t stick to it long enough to check the features the author takes pride in. At the end of the installation, I couldn’t install lilo on the MBR, and Grub was not present. A look at lilo.conf told me the problem and I was good to go after manually editing it.
Then I couldn’t install my HCF PCI Modem drivers because cpio did not come as part of a base package. I got past that and tried out the package management they offer. There are far too little software scripts available. A lot of them don’t work (e.g. Gnome) and the whole thing looks a bit lacking in professionalism. OLM (the package management system) does not categorize the different scripts on the hard-drive. They are all dumped in one single folder and all source files downloaded are also dumped in the same folder. The folder is called sourcebox, instead of potpourri. The word “choice” is spelled wrong consistently as “choise”. I wonder who provides feedback to them. Onebase uses Knoppix for hardware detection, which is a smart choice since it is the best around. Still, to be a hundred percent sure, the author decided to make the default kernel have almost ALL options built in to the kernel and a few as modules making the base kernel size upwards of 2Mb. Add the ATI or Nvidia drivers and the other modules you load up and you can proudly say that your kernel is the biggest and the baddest kernel out there. A lot of bzImage’s out there may un bzip themselves and still not beat your size. You will never have any problems with hardware detection there. Thats a guarantee. The most entertaining part about Onebase is this thread on their message board where the author and an ex-user are having an argument where the ex-user is blaming the author for taking un-due credit for a few scripts he wrote and the author is trying to defend himself. It’s a fun read.
As I said before, I like to play around but only with a product that is well made and worth tinkering with. Reboot worked in Onebase and I re-booted. Back into Crux. People on the mailing list are discussing what to include in the next version, glibc+nptl, Kernel 2.6, udev. This is fun!
About the Author:
I am a final year student in Electrical Engineering at the University of Maine and currently doing an internship at General Electric. I’ve been using good and bad Linux distributions since 1998.
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.