In the world of minimalist GNU/Linux distributions, we introduce you to CDlinux, which originated in the People’s Republic of China, in 1999. Four years later, in 2003, the first public release, version 0.4.2, came out. The latest version 0.9.5, which was released on December 02, 2009, is a mere 62 MB.
CDlinux, or Compact Distro Linux, was primarily intended for systems administrators as a systems rescue tool. But it can also be used as a bare minimum portable desktop OS and as a customisable OS base. The default desktop environment is Xfce (currently 4.6.1) with the Thunar file manager, thus ensuring CDlinux cuts out the fat. The whole distro loads on the RAM, so the access is rapid. The official edition’s RAM requirement is only 64 MB. CDlinux is capable of booting from CD/DVD and HDD. It also supports USB and IEEE1394 interfaces for booting. Continue reading to know more about CDlinux
According to the head developer, Ben Zhao:
The original purpose of CDlinux was to be used as an emergency/rescue tool for systems administrators. But thanks to the versatility of Linux, it can also be customised for other users. It was used in schools by the Yellow Sheep River project (yellowsheepriver.com) several years ago, and now I am helping the Beijing International School (biss.com.cn) to set up a version for kids. I have also helped others set up CDlinux for applications like a firewall, NAS, etc.”
Currently, there are two core developers of CDlinux, Ben Zhao and Penta Cai. I discovered CDlinux as an unmaintained and ‘dead’ distro in linux.org. But when I visited the official website, I came to know that though it was not very popular, it certainly wasn’t ‘dead’ and is still being developed. After using the 0.6.2 version of CDlinux (the latest at that time), which was about 57.2 MB in size, I was impressed. Far from being dead, this distro was very up-to-date and under regular scheduled development. After getting in touch (through e-mail) with the author of CDlinux, Ben Zhao, the targets and future plans of CDlinux became clear. After using CDlinux 0.6.2 for a brief period, I found that CDlinux lacked many graphical applications for everyday desktop use, though there was nothing that the command line couldn’t handle.
When I asked Zhao about the missing applications, like word processors and image editors, he made it very clear what CDlinux is about and what its aims are:
“It’s a pity that a word processing application is not included in the official release. But OpenOffice is too big. KOffice has too many dependencies, and the smaller ones are just not stable enough. Try to open a complex .doc, and you’ll get a lot of crashes. And the i18n support is far from usable. AbiWord, Gnumeric, and the GIMP are already in the repository, along with many other applications like aMule, ClamAV (an anti-virus), Mplayer, Transmission, Wine, etc. We’ll find a way to make them available with the next release. There are still some other packages with licensing problems, like Mplayer codecs (for various audio/video formats), libdvdcss (to play encrypted DVDs), Skype, Flash plug-ins, firmware for various hardware, and some ‘Wined’ Windows applications. Regarding those packages, I don’t want to ship them with the official CDlinux, because we want CDlinux to be clean! Maybe in the future, we’ll help to create a community release that contains these packages. Many GUI tools for CD/DVD burning, wireless networking, installation, saving settings, etc, are planned for the 0.7 release.”
The focus of CDlinux is to be a good administrative tool, with only stable, necessary and free applications and excellent i18n support.
While the community edition was always on the radar, it finally got launched on October 20, 2008, featuring a lot of proprietary codecs, and a lot more applications. Today, CDlinux has three parallel editions:
- Commandline Only, uses busybox and a lot command line tools.
- A superset of Mini, featuring Xfce, and a bare minimum set of application. This only contains free softwares.
- Made from the Standard edition by adding more graphical application, and is more appropriate for the home everyday users. This also contains many non-free components.
Except using it as a portable distro, for testing purpose I used CDlinux in an AMD Athlon64 X2 4400+ processor with RS690G chipset (ATI Radeon 1250x integrated graphics), 2GB ram another Intel Pentium D with ATI Radeon 200x integrated graphics and 512MB ram, and two more Intel systems (one Core and another Pentium)
We would be talking about CDlinux with the version 0.9.3 in reference. The newer releases are maintenance release and contains only minor changes. The author recommends to keep the version of CDlinux updated which you are running.
We will talk about the editions here in brief:
In a glimpse this edition is an official release of CDlinux and contains a patched version of Xfce 184.108.40.206 desktop environment a patched Linux-220.127.116.11, with Firefox3.5.2, pidgin, slypheed (mail client), ePdfViewer, GpicView image viewer. The older 0.6.2 release (standard) featured xine with free codecs, which went missing from 0.9.2 release. The 0.9.2 release contained TestDisk, and a new CDlinux HDD and USB installer, which was new in 0.9.2. Addition of TestDisk made CDlinux a better rescue tool. A new CDlinux USB/HDD installed was added, but is still not matured.
To start, download the image of the latest CDLinux, burn it in a CD (RW) and get started. Enter the CD into the CD drive, make sure that the system first boots the CD drive. Then select the language to boot CDLinux from the bootloader menu and press enter. You will see the CDLinux logo bootsplash screen for some seconds. This bootsplash was not present in the previous stable release (0.6.2), which used text prompt. After this the desktop loads in a breeze. It auto-detects my default 1280×1024 desktop resolution and also asks for manual setting. The desktop shows the auto-mounted partitions, which in my case successfully detected all the disks. The Xfce menu bar in the bottom contains the quick launch buttons, show desktop buttons, the Xfce sound mixer, time, logoff button and the xfce menu button with the CDLinux logo. The 0.9.3 uses Xfce 4.6.1 which has a cooler look than the older one, with a new cursor and icon theme. I can enter all the partitions and access the files. The user drives of my Fedora partition were protected and cannot be entered. The Firefox3.5 comes with the compact menu plugin installed which made the menus compact into in button on top left. It also has the flash block plugin, though the Standard edition doesn’t have flash support, this plugin is of immense use with the Community Edition (which has many nonfree components). Because CDlinux loads in RAM the slow IDE HDD was not a factor anymore. The experience was very smooth without a single glitch or any slowdown. I have a habit to open a lot of tabs by middle clicking on the links, and which slows down the system with my default fedora10 (KDE and Xfce), CDlinux allowed me to do this happily. Except browsing, Pidgin is there to connect you to chat accounts and to freenode. Mail client Slypheed is also present. The internet experience with CDlinux was very good and i never felt logging into Fedora again. Xfburn was introduced in the standard edition 0.9.3. In the System section the new addition which i first noted was the Test Disk data rescue and disk repair application. You can use this application to recover deleted files, corrupted partition tables, manipulate bootsector and a lot more etc. Other than Thunar the default file manager of Xfce, CDLinux provides patched and tuned version of Midnight Commander which Mr. Ben Zhao recommends. In Accessories section you can find character map, the Galculator (a GTK2 based calculator). To type in, and edit plain text the well known mousepad is there. Press the print screen button and you will become aware of another application. The Xfce’s mousepad and Xarchiver is always there. The 0.9.3 version introduces clipman the clip board utility. And at last the rxvt terminal program to enter the commandline. I tried enabling desktop effects from Xfce control pannel -> windowmanager tweaks -> composting . It worked fine without any visible performance degrade, except only when enabling transparency for moving windows, went choppy. The CPU frequency scaling, a new update to this edition, adjusts the CPU clock for different load. Change as per your need from settings -> CPU powersaving settings.
The 0.6.2 CDlinux release contained no graphical HDD/USB installer, and it has to be installed manually by modifying an existing or installing a bootloader. In the 0.9.2 version found a graphical installer which is still under development, so i decided to start at once. The graphical installer is capable to install CDLinux in USB drive of in the Microsoft Windows C: partition (first). The installation of CDLinux is non-destructive and does not formats or removes anything off the drive. It just copies the CDLinux files from the CD in the windows partition and then install GRUB4DOS bootloader. Though this attempt failed for me. If the user knows how to configure bootloader then it can be easily installed manually.
The commandline uses bash as shell, a patched busybox for core utilities and lots of other programs, like fdisk, parted, syslinux, grub, testdisk, midnight commander, vi text editor, wget, and more. And oh! You also can find the ‘chntpw’ program with which you can reset Microsoft Windows account passwords and manipulate registry values. You need to ‘sudo’ to run a command as root, or run them in the superuser mode terminal.
The Community Edition
The community edition of CDlinux has all the applications which we mentioned above, and in addition it has a lot more extra packages containing applications for everyday desktop use.
If you boot into CDlinux Community Edition which is currently appx 200MB in size you will see absolutely no difference except in the menu which now has a lot more application. This edition contains some extra packages like: wine (v1.0.1) (Without OpenGL), Java Runtime, SMplayer, GIMP and some bundled applications. Instead of burning CDlinux into a CD, i extracted the image into a USB drive and made it bootable with syslinux. The booting time was too much, this might be because it was copying the packages into RAM, but you can tell the OS not to load the modules into RAM instead mount them in loop mode with the CDL_LOOP kernel parameter. After it boots in you will get the same smooth performance as the standard edition once you reach the desktop. The community edition contains the proprietary codecs and stuffs as told earlier. I started with the multimedia section, which has become the deciding factor of using an OS for general desktop use. I found Livestation 2.7.0 for livetv and radio broadcast, which replaced Gmlive from v0.9.3, two frontends of mplayer the Mplayer GUI and Smplayer, and a burner: Xfburn. Smplayer and Mplayer (mplayer) was able to play flv,wmv,mp4, and avi files encoded with with dx50, xvid, H264, and div3 video codecs. Smplayer is the default to play audio. Mp3 support was present by default. The audio and video experience was pretty good as the support of non-free as codecs was out of the box. The Graphics menu disclosed GpicView as in standard edition and also for scanning Xsane and the great GIMP which i believe will cover all needs of image manipulation. This makes the graphics section much more complete and minimal than the other sections. The Internet menu reviled a lot of application including Firefox3.5.1, Pidgin and Slypheed other additions are Skype2.0, Filezilla, aMule etc. The redundant Opera in v0.9.2 was removed in 0.9.3. Firefox has embedded java, flash and other media (windows, real, quicktime) support and now i can load embedded flash media. Enter ‘about: plugins’ in the address bar in Firefox3.5 to see them all. Zoho is used as the office suite, but GNumeric, a spreadsheet application is also included. So you need to get connected, though it did’t bother me because for formatting purposes, if i miss OpenOffice.org i use plain text or HTML. The 0.9.5 maintenance release includes Abiword. The 0.9.3 version has a new addition KchmViewer , a compiled HTML viewer. Printer support lacked in standard edition. The community edition comes with CUPS and now printers can be configured. Now you can configure wireless network with the help of wicd (not is Standard Edition).
The strange part is this edition comes with Avast antivirus home edition, though you need to register with avast.com and get a free of cost personal use serial number to activate it. With TestDisk from the standard edition the community edition also comes with the popular Partimage and Gparted partition managers making the partition man’s life easy. Wine is bundled with this edition, but it is not compiled with OpenGL support which i came to know when trying to start an game which needed OpenGL. Though Wine can be used to launch normal windows application. And ofcource it has a Games section which contains minesweeper, card games, and DosBox. DosBox is not a game but a really useful DOS emulator, but it generally comes into games category because of it’s vast use to run the classic games like alladin, prince of persia, cash invaders, mario, wolfenstein 3d, Doom and a ton of great oldies.
Now we have gcc (v3.4.6), as it now (v0.9.3) supports compiling the official Linux kernel and also additional modules and drivers.
Check out a full list of application of CDlinux Community Edition here: cdlinux.info/wiki/doku.php/releases/0.9.2/packages
The main feature of CDlinux is providing an Operating System with the latest Linux kernel, drivers and a bare-minimum set of application which are updated and stable. CDLinux provides a base of the operating system on which you can add building blocks in order to make a complete one which exactly matches one’s needs. Unlike others like Puppy Linux and Slitaz CDlinux currectly do not have any ‘remaster’ tool. To add customized packages to CDLinux it needs to make/download the squashfs .md images of the applications and placing them in the ‘local’ dirctory of the CDlinux directory hierarchy to be autodected by CDlinux. This is just like the puppy .sfs squashfs packages packages. Even other desktop environments other than Xfce can be used on the top of the Mini edition. Because CDlinux doesnot have any repository till now .md packages are not available easily and one has to make or hack from the Community Edition. Though this might not be much customizable for general users, it definitely very interesting for the geeks. As CDlinux approaches 1.0 release we can expect CDlinux repositories become available with .md packages.
CDlinux provides some boot parameters which are very easy and extremely useful. Check out cdlinux.info/wiki/doku.php/doc/faq/cdl_options for details on boot parameters.
You will find a shell script inside the CDlinux iso image which can be used to repack CDlinux after any modification.
Usability, Simplicity and Performance
After using some of minimalist distros and also using some mainstream distros i feel that CDLinux is very much usable and very stable. With the Xfce desktop environment CDLinux becomes very light on system. Because CDLinux is copied to RAM the response time is very fast. The operations are without a hitch and very smooth. Even after enabling the desktop effects the performance remains almost the same. I really loved using internet with CDlinux. Everything is auto-mounted all the partitions are detected automatically. The official version is 67.5MB and can be used as a LiveCD or a miniCD. It can also be installed in a USB drive. Because the official version already comes with firefox3 and pidgin, the internet needs are fulfilled here.
In the negative side although the Community Edition provides a lot applications, but the size of it, is very large (200MB) if compared with other live distros with the same or more features. CDLinux benefits from the simplicity of Xfce and is very easy on eyes with a clean look. It feels better to work in CDLinux because there are no clutter of tons of applications. I have used CDlinux for quite some time and till now, i have never faced no slowdown or hitch neither it has crashed or freezed. I used PuppyLinux as a portable distro because it lets me save sessions and files and had a ton of stuff. After using CDlinux i was forced to change the mini distro from Puppy to CDlinux by its performance and simplicity. (Though still also enjoy using Puppy and it is still in my liveCD and USB)
This is the place where CDlinux goes down. As per Mr. Ben Zhao there are documentations and support for CDlinux mostly in Chinese so it is of no use while it is not translated for the non-Chinese people. You will get a very few documentations for CDlinux customization. An old documentation reflecting the 0.4 release of CDlinux can be found in http://www.cdlinux.info/archive/0.4/howto.html , providing a few useful information. Additional .md packages except those provided in the community edition are not available and one has to make it to use it. There is no dedicated forum or an IRC channel. After searching for long hours and days I found no reviews for CDlinux anywhere in the internet except a very few which only tells the existence of such an OS. Also the name CDlinux is ambiguous to the GNU+Linux distros which can be booted from CD and you get wrong search results. In the positive side you can see some updates to the CDlinux official website which now contains a Frequently Asked Questions (FAQ) section (see links at end) containing valuable information about installation, kernel parameters and more. The news section is always updated with the latest release news with the additions and changes to the OS and release notes. As per Mr. Zhao new documentations are being written. Currently no repositories are set up for CDlinux , but developers are searching for sponsors. I hope to see much more support and documentations as this reaches the 1.0 release.
Gazing into the crystal ball
When I asked Zao what his favourite feature of CDlinux was, this was what he said:
Yes, CDlinux is stable and up to date, and CDlinux is compact. The features and libs/apps of CDlinux are carefully selected. We only ship stable and use-able applications, no flashy ones. CDlinux is clean. In fact, we are very proud of CDlinux, there is too much to talk, like it can be run in memory, which is a feature of CDlinux since it’s birth. I think the best feature of CDlinux is its i18n support. CDlinux supports i18n for all major lang/locale (over 100). Although for size consideration, l10n support are limited, users can easily extend CDlinux to support l10n for their own lang/locale. Many applications are fine tuned/patched, e.g. If you use Midnight Commander(my favorite file manager), you’ll find the version in CDlinux is the best.
Although CDlinux development started on 1999, and the development almost halted at the 0.4 release, now CDlinux is developing fast as per a schedule. A development schedule upto the 1.0 release was presented by Mr. Zhao at November 2008, and till now it has precisely followed the release time and features. The next release is scheduled on October 2009 which will stabilize 0.9 and bring the 1.0 release of CDlinux in public. In future a better HDD/USB installer and some GUI configuration tools are expected, i will expect a GUI customization tool, a minimal but offline office suite. Documentations in English and a CDlinux squashfs package repository are on the way. This distro has a lot expectations and so is worth keeping an eye on this.
Links and References
- Official Website Links
- I would like to thank Mr. Ben Zhao very much for making time to reply to the emails, and ofcource for making CDlinux.
First Publish Information : This article was first published on Linux For You (LFY), November 2009 Issue, under Creative Commons Licence.
Author: Arjun Pakrashi
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.