Making a complete yet small Linux distribution
There’s an endless list of actively maintained Linux distributions on (Distrowatch). With modern Open Source applications demanding more and more resources, the most popular Linux distros are also the most resource hungry. Zenwalk (http://www.zenwalk.org/) and Vector Linux (http://vectorlinux.com/) are two Linux distros that promise the ease-of-use of a modern desktop Linux distro but keep the resource utilization in check. So how do they do it?
In this discussion with Jean-Philippe Guillemin of Zenwalk and Robert Lange of Vector Linux, I try to understand what it takes to make a distro that’s equally capable of running on the first generation of Pentiums as well as the latest.
Mayank Sharma: Any advantages of choosing Slackware ( http://www.slackware.com/) as base? [Both distros are based on Slackware Linux.]
Robert Lange: I think slackware gives you the ideal base to work from. The most note-worthy advantages are simplicity of design, lack of dependency hell and easy configuration.
Jean-Philippe Guillemin: There are some advantages, and also some disadvantages. Of course it depends on the goals of a project, so what I’m going to tell you applies to Zenwalk but may not apply to other projects. Let’s begin with goals, then we’ll talk about advantages, and finally about disadvantages. The main goal of the Zenwalk project is to build a “rational GNU/Linux operating system“. That means that the system is designed to be very simple and responsive, with one application for a given task. The main advantage of Slackware as a starting point to build a GNU/Linux OS with this kind of objective is that Slackware is a pure Linux/Unix system, without bloated subsystems, very simple and flexible. It is one of the last systems of this kind. You can guess that such a “pure” system is ideal when you want to build your own vision of desktop, hardware management and administration tools. The main disadvantage of Slackware as a base system is implied by the main advantage. It is the amount of work needed to transform it into a desktop OS. With most other “major” Linux systems , 80% of the work is already done. It seems simpler to me to build a desktop derivative from one of these big Linux distributions because the desktop system is already nearly finished, but it would give less freedom.
MS: Talking of Slackware, do you contribute upstream? Any changes you’d like to see up there?
RL: The short answer is no. Slackware really doesn’t appreciate so called forks in its design philosophy so even if offered I highly doubt that there would be any level of acceptance. However, we make the changes that we apply to the system available in our FTP repository.
JP: Not really. I sometimes contact Patrick Volkerding [Slackware maintainer] when I need information about something I don’t understand in Slackware or to get some news about him. I also ask for his opinion when I am about to decide for a structural change in Zenwalk. I want Zenwalk to remain Slackware compatible, although the fork is really huge now. The only contribution to Slackware was Zenwalk’s Xorg 7.X system that Pat plans to use as a base to build his own version.
At the moment, Pat is working to update the base toolchain (glibc, gcc, etc). When he has finished this on Slackware’s side, we will have to rebuild nearly everything in Zenwalk on this new environment. Apart from this awaited modernization of the toolchain, I wouldn’t change anything in Slackware as that’s not really important for Zenwalk. We are independent now and the only important condition is to maintain application compatibility between the two projects.
MS: Any new distribution that you think would make a good base, if you were to start afresh today? Any particular reasons?
RL: There is at least to my knowledge nothing new in what I call the absolute base in a linux distro. 99% percent are based on Debian, Redhat/Fedora, Gentoo and Slackware. The exception being Linux from Scratch (http://www.linuxfromscratch.org/). I don’t think I would make any different choice today then I made almost nine years ago.
JP: Easy question. To start a new project I would not use anything else than Slackware. At least Linux From Scratch (http://www.packtpub.com/article/Linux_From_Scratch) would be an option, or maybe Zenwalk itself ;).
MS: What’s the lowest hardware configuration that people have managed to run Vector on? What would you suggest as the minimum config for a usable system?
RL: It depends on what version of Vector you are talking about. Our very early versions would run on an i486 machine with 32 MB RAM although X, the Graphical User Interface (GUI) would be pretty slow. Todays 5.x versions have run on Pentium 166’s with 128 megs of RAM. To have a pleasant experience we suggest at least a Pentium 2 with 128 megs of RAM. The X GUI is the system hog. If you want to run a console based system a Pentium 100 with 24 MB of RAM would probably work.
JP: Zenwalk can be run on a Pentium 2 processor, assuming that you have enough RAM to support X window applications. 256MB is enough to drive such an old box with acceptible usability. The minimum recommended configuration for true responsiveness is a Pentium III system with 512MB RAM.
MS: What other software are essential? I mean components like Window Managers, multimedia players, office applications, etc. Which are the ones that you’ve included and how have they helped you with your purpose?
RL: We try to give our users the basics from most computing categories. The Window Manager we liked the most up till recently was IceWM in combination with the roxfiler system, which allowed for a very light weight X system with much of the same functionality that say Windows 98 users were used to. We have recently jumped on the Xfce 4 bandwagon as its the perfect desktop for lower spec computers but still offers many of the configuration options that only GNOME and KDE users were able to get. The browser market has always been a problem for old computers. Mozilla, Opera and Firefox are RAM eaters, but we offer dillo as an alternate and it does a reasonable job. Office chores are handled by Abiword, which is a great program for low spec machines. Xmms has been our mutimedia player along with Mplayer and GMplayer.
JP: The Window Manager and file browser are essential and mandatory parts of the desktop system. We use a customized version of XFCE along with the Thunar file manager. We provide one mainstream application for each task with the Zenwalk desktop. Quoting my friend Claus Futtrup, our Zenwalk columnist, as late as December 2005 the most critical applications for a desktop user were : No 1 : Email client, rated critical by 62% of users, No 2 : Productivity, rated critical by 51%, and No 3 : Web browser, rated critical by 50%. Apart from the applications, one very important aspect is “Desktop integration“. All applications should use the same widgets, same color theme, same icons, etc. This is important because icons and windows layout must be consistent to keep the usability as smooth as possible, especially widgets layout and icons. We achieve this by providing exclusively GTK+2 (http://en.wikipedia.org/wiki/GTK+) based applications.
MS: I’d appreciate if you could list or briefly explain some of the key issues of assembling a distro that’s capable of running on slower hardware. Do you strip kernels, or use the stock ones?
RL: The key is to keep things as simple as possible. The less background processes you have running the more memory is required for executing programs. We use a very vanilla kernel with as much modularized as possible to keep its resident size to a minimum. Compile code optimized for i586 that seems the best for compatibility and speed on a wide range of hardware. Pay attention to the init process since you want as much control as possible over what does and does not get loaded and pass this on to the user.
JP: Let me first clarify that Zenwalk is not designed for use on old hardware (for example there is no ISA (Industry Standard Architecture) bus support in Zenwalk). Zenwalk is designed to provide the optimal responsiveness that you can expect from a GNU/Linux operating system. The entire system is tuned towards this target. The kernel is configured in a very uncommon way as would be in an embedded system with preemptive processus and IO schedulers, installed libraries are kept to a minimum. We also use only one graphical toolkit for this particular reason, GTK+2. We avoid using bloated subsystems and prefer simple low level systems like udev or inotify for devices polling – we developed our own alternative automount system. Using Xfce, which is a feature-rich yet light desktop environment with its Thunar file manager also helps to improve the responsiveness. There are many other enhancements, but I can’t sum three years of research here in a few lines 🙂
MS: How long has it been since you’ve been rolling out the distros? Why do you think people still use them, despite hardware becoming cheaper?
RL: Its been eight or nine years now. I think its the simplicity and speed that keeps them coming back for more. We have also developed a substantial online user community that is second to none in being a friendly place that new users can join the Linux ranks without fear.
JP: The project started three years ago. Our user base really began to grow significantly one year ago. At that time the project was mature enough to compete with major GNU/Linux distributions. I really believe that our user base is growing because people find something unique in Zenwalk. For example, in as little as 20 minutes utilizing a very easy setup, the users obtain a true modern working environment ready to use with only the best application for each need.
Thus, Zenwalk is usually considered as one of the fastest GNU/Linux systems available. People can run it with blazingly good performance on modern, and also semi-modern computers.