It’s easy to grow increasingly cynical the more you follow “innovation” in operating systems and software. New releases often turn out to be nothing more than reinventing, or repackaging, the wheel, with new icons and steeper system requirements. Yet every now and then persistence pays off and that lengthy download or poorly written web site delivers something truly amazing and faith in the future of computing is, albeit temporarily, restored. I experienced such a sensation a couple of months ago when I downloaded the CD-ROM based, Linux distribution known as Knoppix.
Without touching the hard drive, Knoppix can boot practically any PC into Linux complete with multiple GUI environments, a ton of applications, and utilities while grabbing an IP address from a DHCP server. With some modern machines booting Knoppix can sometimes be faster than booting from the installed OS.
Yet it’s the little things that Knoppix does that make it stand out. It initializes PCMCIA network cards before other network functions are initialized, unlike less polished distributions such as Red Hat 8. Colored text highlights exactly what hardware is being initialized during boot up in a high resolution text screen. The software bundled with Knoppix includes many defaults overlooked by many “desktop” distributions including a graphical samba browser, a large selection of games and a wide array of other Linux goodies.
Simply put Knoppix is everything that’s great about Linux. It works with an impressive array of hardware. It challenges conventional notions of what’s possible with software. And, best of all, it’s free.
The fact that this is the largely the work of one man is an encouraging sign that Linux’s often chaotic open-source approach may yet make an impact on the PC desktop. I had a virtual chat with the man behind this phenomenon, Klaus Knopper to see what Knoppix is all about.
First, why don’t you tell us a bit about yourself?
I’m Klaus Knopper, born in and living in Germany since 1968. I have a diploma in electrical engineering, and I have been a self-employed IT-consultant since 1998. See my web site at http://www.knopper.net/knopper/ for more information.
How would you define Knoppix?
Knoppix is a bootable CD with a collection of GNU/Linux software, automatic hardware detection, and support for many graphics cards, sound cards, SCSI and USB devices and other peripherals. Knoppix can be used as a Linux demo, educational CD, rescue system, or adapted and used as a platform for commercial software product demos. It is not necessary to install anything on a hard disk. Due to on-the-fly decompression, the CD can have up to 2 GB of executable software installed on it.
How did it get started?
Knoppix was started about 3 years ago as an experiment for personal use (learning how el torito boot works, and how to get access to a whole CD from a minimal ramdisk system). My friends from the LinuxTag association (http:) convinced me to make it an open project, and provided mailing lists and a forum for this purpose.
Currently, there are about 3000 downloads per day, and there are quite a few project forks in different languages maintained by independent groups.
What are some of the Knoppix project forks?
An arbitrary-OS-Installer, File&Webserver on CD, a Japanese and a Spanish version, and a mini-CD are some that I could identify as based on Knoppix.
If you do a search for “Knoppix” on google, you will most likely find more of them. Some projects don’t notify me that they are doing something based on Knoppix, which is OK, but this way I have no definite list. I know that a LTSP fork is using a Knoppix version, and some user groups have developed their own versions.
How many people currently work on Knoppix?
I work on it alone with occasional help from people on the mailing lists, mostly in the form of translations or patches for shell scripts.
How does Knoppix work?
Knoppix tries to automate the steps that are normally done manually during an installation or configuration. It tries to automatically detect hardware, loads the necessary kernel modules, generates device symlinks and configuration files and then starts a graphical desktop, all without interaction and without writing anything to harddisk, working entirely in RAM.
Ideally, you should get a working KDE desktop without any interaction within 3 minutes or so, counting from the boot screen.
What was the biggest obstacle in making Knoppix?
The absence of open standards in modern hardware, and upcoming of proprietary/incompatible peripherals and failure of some hardware vendors to send specifications or source code to the kernel and XFree developers.
It could really be easy to support a very wide range of hardware if there were standards, for example definite graphics cards hardware/software APIs. Also, some modems are not really modems, you’ve probably heard of that before.
Some hardware cannot be autodetected or worse, reports wrong information, so in some cases the “best guess” of configuration has to be used. I get a lot of mail reporting problematic cases, and in those cases where a solution is provided, I incorporate the workarounds into the hardware detection for the next release.
So far, Knoppix boots fine on about 95% of all tested desktop PCs, and roughly 75% of notebooks (some of them have exotic graphics or sound/pcmcia chipsets, sometimes you have to use boot options to get them working).
After trying Knoppix on a dozen or so machines, I’ve noticed that the sound card configuration isn’t nearly as bulletproof as the video or networking, is this a problematic area, or was I just unlucky?
Some boards contain “cheap” chipsets that come in so many different versions and without vendor-side specifications, that the kernel developers simply have no chance of implementing a working kernel module for them. Same problem for the so-called “winmodems”.
I’m not using ALSA yet, because, as far as my tests go, the standard Linux drivers are way more stable. I would rather have no sound than a complete system freeze because of a badly supported chipset.
What custom packages did you build to make Knoppix?
The Knoppix hardware detection scripts and tables, configuration scripts, utilities (for example the knoppix-terminalserver that allows booting remotely from a PC already running Knoppix) were all written by me.
Since Knoppix is based on the Debian distribution, are there any plans of integrating Knoppix into Debian itself?
Some Knoppix-specific packages (like cloop) are already downloadable from the Debian mirrors. Whether or not parts of the hardware detection will be integrated into Debian depends on the plans of the Debian team.
What is the ultimate goal of Knoppix?
Keeping up-to-date with hard/software development and provide a stable working platform on CD.
It is not my goal to create another Distribution in concurrence to others, though you can already install KNOPPIX on hard disk using a script (which turns it back into a normal Debian installation).
What compression technology does Knoppix use?
Basically gzip. The cloop-device (compressing loopback, a filesystem-independent block decompression kernel module) uses zlib. Some experiments with bzip2 lead to slightly smaller size, but cause unacceptable slow decompression. For gzip, the overall reading speed from CD is even faster than using an uncompressed stream, most likely because of less head movements.
How are you able to have Knoppix recognize all the drives without a preconfigured FSTAB?
In the current version, I use fdisk -l to parse the disks listed in /proc/partitions, which unfortunately doesn’t work if the drive isn’t partitioned correctly.
I’m working on a more reliable version that tries to find out the actual filesystem type used by file -s followed by a read-only test-mounting of each recognized partition. Also, Partitions will be automatically rescanned in one of the next releases when you plug in a USB memory stick or similar changeable storage media.
It seems you release an update every couple of weeks, yet the version number doesn’t change, why is that?
I found no reason to change the version number when just “minor” changes like software updates or occasional new smaller features are made. More important (especially for the changelog) is the build date, which represents the “snapshot date” for the Debian packages included.
I’m usually releasing a new major version at LinuxTag every year. Minor version number updates are also possible, but only if something changes significantly (maybe for inclusion of KDE 3.1).
Given the phenomenal success rate in detecting hardware have any of the distributions approached you about helping them with hardware detection?
How does the Knoppix boot process differ from a conventional hard drive based Linux install?
A Ramdisk is used as root file system. The first part consists in actually identifying the CD-Rom (loading SCSI drivers) where the CD is located, and mounting the compressed loopback file KNOPPIX/KNOPPIX. Then a script is run for identifying all supported hardware components, generating links in /dev and config files. After that, the boot process does not differ much from a harddisk-installed version.
Can you explain the Terminal Server/PXE aspect of Knoppix, and what your goal is with this project?
The goal is to use one computer as server for a whole classroom of client PCs that can boot remotely from that server without the hassle of configuring a lot of services manually (DHCP, TFTP, NFS, BIND, SQUID, IP-Masquerading are configured semi-automatically).
You could use this for teaching GNU/Linux applications, demonstrations or simply an ad-hoc internet cafe installation.
Do you have any plans to extend Knoppix to use DVD or Mt Rainer?
Not yet. Most users have only a CD burner (at maximum), and I can’t maintain different versions of the CD in parallel.
Based on your experience developing Knoppix, what parts of Linux need improvement?
The support of proprietary and non-documented hardware (winmodems, onboard soundchips, exotic graphics cards…) is naturally bad, but there is not much that the kernel developers can do about this, other than sending complaints to the vendors who don’t give away sufficient technical specifications. The Linux kernel offers a wide range of workarounds for strange hardware though, which is very practical for Knoppix, especially concerning the “cheatcodes” for making it work on otherwise problematic computers.
From the GNU side of GNU/Linux, it would be nice if developers could agree more on which library versions are stable or at least tested enough to be the base for their software packages. Sometimes I have to include 3-4 versions of the same library in order to avoid conflicts. Of course this also results from the fact that large parts of the software included on Knoppix are relatively new and need library versions that are undergoing heavy development.
Given that KDE 3.1 is supposedly only a couple of weeks away, at the most, how soon can we look for it to be included in Knoppix?
Stability is a priority. So, as soon as I have first-hand reports of KDE3.1 as a stable working platform, it will be included in the public Beta. I don’t know when exactly this will happen, but I’m really looking forward to some of the new KDE3.1 features, such as the inclusion of the Ägypten project () for making kmail and other KDE components capable of more comfortable SSL+Gnupg encryption and digital signing features, enhancements to konqueror and maybe availability of some even more user-friendly programs for CD-burning and multimedia applications.
Maybe I will release an intermediate version with KDE 3.1 for internal tests to a few developers on the debian-knoppix mailinglist before the download version is being published.
I also hope that GNOME2 will catch up in the Debian distribution. So far, I need to include some gnome2 libs for newer applications, but still have to use gnome 1.4 as desktop option, because the gnome2 versions were not working right at the time (well, maybe it’s just me, I just never got gnome2 to work anywhere… Any help, especially working configuration files for /home/knoppix are appreciated.).
When asked about installing KNOPPIX on the hard drive, you originally suggested people could just copy the CD, but no guarantees, now there is a hard drive install script, how much of an install will there finally be?
/usr/local/bin/knx-hdinstall (written by Christian Perle). It generates a “normal” Debian installation from a running Knoppix CD on your hard disk. It is in a very early state, and just included for convenience. I was not planning on releasing another hard disk-installed Linux Distribution, as mentioned before. So, there is no “Click here to install” button, because it would look like a recommendation. The script seems to work fine, though it does currently not allow multiple boot partitions in the master boot record.
By default all the user accounts are locked down…
That’s right, for security considerations. If you use Knoppix on a network, there should be no backdoors or accounts with “default passwords” that could accidentally get you into trouble when starting sshd or any other services. Therefore, there is no valid password for any account by default. You are either already logged in on startup, or you can’t login at all.
…is there someway to unlock the root account and turn KNOPPIX into a normal user environment?
Just type “passwd root” on the text consoles, where root is logged in. Besides, the logged in desktop user “knoppix” is one exception that can switch to the root account without a password using sudo, so you can use the rescuing tools and configure system services without having to work as root in your X-Window session. You can also use this feature to set up a password for Knoppix or root, if you really wish to be able to login via SSH from the network.
If you install Knoppix to harddisk using Christian Perle’s knx-hdinstall script, this scheme is (like most other Knoppix extensions) changed back to the Debian defaults, and you have to choose a password for knoppix and root during installation.
If you use Knoppix in Terminalserver mode on the other hand, there is an option that should make it impossible to get root on the clients, which are booting via PXE, simply by disabling all setuid programs and letting the text consoles only run under the knoppix user’s account. This should be a good setting for Internet cafes or classrooms.
With companies like SUSE, projects like Kroupware and a number of high profile developers, such as yourself, the German Linux scene seems pretty active. What is the state of Linux in Germany?
There are a lot of migrations towards GNU/Linux in companies, schools and also governmental institutes, last but not least because of the added value that the Free and OpenSource software licenses give to the recipients of the software. You can hire a vendor of your choice for software adaptation and customization, you can copy, modify and sell the software in unlimited numbers, plus you are the legal “owner” of the software, as opposed to having only a limited right-of-use for proprietary software. These facts have lead to GNU/Linux being widely accepted, also in mission-critical environments with appropriate support by trusted vendors. Also, for document exchange, it is vital to use open standards, to make sure you will still be able to read an archived document 10 years from now.
So, apart from many active developers who just happen to live in Germany and other European countries, there is also a lot of commercial interest in the development of GNU/Linux based software here, which may be an additional motivation for some programmers to contribute or sell services based on Free Software.
About the Interviewer:
Alexander Antoniades lives in New York City and works as freelance technology consultant, using every last piece of computer knowledge he’s acquired over the past two decades to make ends meet.
KNOPPIX is excellent but why did you downgrade it from GNOME2 to GNOME1.4?
from the changelog:
– Downgrade von Gnome auf stabile 1.4-Version
stability, it’s all about stability, like he said
First of all: Great interview. Sounds like I have to get me one of dem dar KNOPIXX (sounds like a biscuit to me ^_^)
And then for the small nitpick:
Part I, II, III and V (should be IV)
I just downloaded something called DemoLinux, and it worked very similar to how KNOPPIX is described here… (My first time using linux. Not too bad.) Does anyone know what the differences between the two are, and if KNOPPIX is a lot better maybe I should be checking that out instead?
Mit, from distrowatch.com, they have an excellent interview with Klaus Knopper (http://www.distrowatch.com/interview-knoppix.php):
” The idea of a complete OS running from a bootable CD is not a new one. Apple used to supply such a disk with its OS prior to MacOS X and Linux has had DemoLinux, SuSE Live-Eval and CoolLinux, just to name a few. What made you create another one and what differentiates Knoppix from other similar products?
I wanted to learn how bootable CDs work and once a base system was running, I added stuff that I needed for my personal use, like hardware auto-detection and automatic start-up of a pre-configured desktop. When you are teaching computer classes, the PCs for students are not always installed in the way you need it. So, having a bootable CD with me with a complete installation, made a lot of things easier. Also, considering the fact that notebooks can get stolen or broken easily, carrying a bootable CD around is way less of an effort.
Knoppix was not planned to be released as another Linux distribution, and I still consider it being more a personal collection of tools that fit my needs rather than a “product”, though it can be (and is being) used as base for many other projects now. Hence the name “Knopper’s *nix”. My friends from LinuxTag e.V. convinced me to make the project open to the public, and provided mailing lists, a forum and an upstream location.
The other bootable CD projects you mentioned are all fine work and perfectly fit the purpose they are designed for. I have good contacts with DemoLinux, and occasionally the two projects may benefit from each other’s work.
So being asked about the differences to other products, I don’t really know how to answer this. Each one has its specialities. Knoppix may have a good hardware detection (resulting from a lot of email with reports and workarounds for difficult hardware from many people), but (yet) lacks features like hooks to partly-harddisk-installed directories (which DemoLinux has) or extended configuration options or non-free software-components (and proprietary kernel modules) that may be present on other vendors’ CDs. The downloadable version of Knoppix should be “freely re-distributable for non-commercial and commercial purpose”. That’s why some software is not included on Knoppix, which may be present on other CDs. ”
Thats it !
I haven’t seen demolinux myself yet, but i do use knoppix and from what i’ve heard…it’s the best out there. So just give it a try..
It got me so interested that I went to linuxiso.org and I am downloading Knoppix
Knoppix is really useful as a quick, easy way to install Debian. I am very happy with it, but had just a few very minor problems with the script that installs knoppix onto a hard drive.
I tried installing onto a drive with a bunch of partitions, and it overwrote the bootloader with its own lilo, which didn’t work. Instead of a menu, I just got an endless stream of “L 02 02 02 02 ….” So, I booted of the knoppix CD and installed grub by hand, and that worked fine.
The other little catch was that it used ext2 by default (I just assumed it would make a better choice, seeing that the kernel is configured to support ext3, xfs, reiserfs, etc). I only realized when I had a power outage and fsck complained; then I manually converted to ext3, and all is well.
Many people like using knoppix to show people Linux, but to me, Knoppix is simply the ultimate in rescue discs. The second I get my self in trouble fiddling around in the etc/ directory, knoppix is there for me, with all the tools I need. I can even connect to the internet on my adsl line and use mozilla to google for possible solutions.
I highly recommend burning your own copy of Knoppix “just in case.
Knoppix is absolutely excellent as a CD-rom distribution. 2 gigs worth of Linux software that will boot up on just about anything and allow some productivity. In its class it is truly excellent; not only the best CD Rom Linux but the best CD-Rom OS.
I think the idea of using it instead of an installed Linux on an installable machine isn’t a great idea as the tools aren’t really configured properly for long term management.
Maybe i’m just not very smart but the iso image to burn the cd is 713mb um I don’t think that will fit on a 700mb cd-r.
Maybe I’m just missing something?
Yes. 700 MB is 716,800,000 bytes. So it will fit.
Not according to my calculations: 700MB = 734,003,200 bytes (700*1024*1024).
Thanks, I figured I had to be just being stupid. =). Time to go play around with it.
I’ve been using KNOPPIX for about a month now. A friend of mine in Texas (USA) told me about it, so I downloaded the ISO image. I use an iMax (OS X 10.2.2) as my main desktop os at home, but I also have three Linux computers and a FreeBSD machine running on my network. Anyway, I’ve started passing-out KNOPPIX CD’s to friends and aquaintances, instead of Mandrake or RedHat. I keep the ISO image of KNOPPIX on my iMac desktop, and burn-up a few CD-R’s when I start running low. I think this make one heck of an intro into Linux!
Yes, you are of course right. The 716,800 are KBs (I added the 000s manually after my calculator’s result .
Sorry about my spelling and grammar, it’s late and I’m tired. 🙁
To install Knoppix to ext3 (or reiserfs). I copied the script to / and edited it for everything that says ext2 to ext3. Add “-j” to the mke2fs command and when the install finishes verify that the root partition is ext3 in /etc/fstab. I didn’t look up every instance of “ext2” in the script when I tried using reiserfs (didn’t work because of it) but I’m sure it would work. Also, double check that lilo is set up correctly. I installed to my second hard drive and had to edit the /etc/lilo.conf and rerun lilo to get it to write to my first hard drive’s MBR.
Note: mkreiserfs asks for a Y/n reply when it’s about to format. During the install it will print some messages and pause. To continue you could just hit enter. I typed “y” and then hit enter to be sure.
Disclaimer: Do this at your own risk. Exactly as the script says it’s still under development and I cannot take responsibility for typos, acts of God, etc…
On the plus side, I’m writing this from the Knoppix CD I installed to an ext3 partition on my second hard drive. 😀
I just downloaded, installed, and am using it now. Knoppix is excellent, detected all my hardware (except my scanner, not a big deal) and works perfectly. Includes a nice set of applications. Really impressed.
Now I can carry around a linux distro in my backpack wherever I go =).
I use Debian on the server, but I utterly failed to
install it on my K7S5A based home machine. First try
(2.2.x kernel) there wasn’t any /dev/mouse or similar.
After installing anew with an 2.4.x kernel, the monitor
went to sleep when starting X windows, and it was not
possible to wake it up without a hard reset.
Some improved hardware detection is badly needed for
Some boards contain “cheap” chipsets that come in so many different versions and without vendor-side specifications, that the kernel developers simply have no chance of implementing a working kernel module for them.
I have a standar Sound Blaster Live! PCI, and couldn’t made it work with Knoppix, and it works fine with other distros.
If only I could get this feature to work, I’d give Knoppix an A+. To save session configurations (and thus not have to reset fonts, KPPP settings, Mozilla bookmarks,
etc., with each new Knoppix session) we are instructed to do the following:
1) Make a floppy, using the Knoppix utility expressly made for the purpose.
When completed, the floppy will contain two files:
knoppix.sh and configs.tbz
2) Insert floppy at bootup and type ‘knoppix floppyconfig’ (a cheatcode)
at the prompt, then press ‘enter’ to begin boot process
3) Knoppix will read the floppy, execute the script (knoppix.sh) which
extracts the archived files (configs.tbz), and write them to the ramdisk.
All goes according to plan, including a text message that the script has been executed, and the archived files extracted. But when the X-Window session begins, nothing is saved, and I’m back to default settings. I wish I knew why. Everything else about Knoppix works fine, but I can’t save settings, and that’s a bummer.
Knoppix makes linux painless. I have impressed many people by giving them a copy. On all the machines that I have seen it boot on, not one of them failed to have a working video, sound, and network driver. I installed it on the harddrive of an older machine at home. I find myself using Debian more and more throughout the day. Knoppix is slick.
I have some suggestions.
Don’t require the suer to press enter to boot, makea graphical boot splash like in SuSE Live and include a KDE with ncie icons and a nice theme. Futhermoe please categorize items in the menu, it needs a lot of worka nd some apps ahve no icons. Moreover include configuration tools from Mandrake and Redhat rebranded. I really need to at least set my refresh rate higher.
OTHERWISE GREAT PRODUCT, fastest boot ever froma cd disitribution. While SuSE LIVE 8.1 is IMO better once you reach the KDE GUI, it is nowhere as fsat to get there. I have to go through liek 8 configuration screens on it. But, i do ahve more control, however I would rather it jsut worked well from the beggining and tha allowed em to change stuff in the end.
I burn knoppix CD’s to give away at our linux LUG meetings too. (http://clue.denver.co.us)
Makes a great intro for newbies.
Have used KNOPPIX as a rescue disk for a sick Win2K laptop system. Windoze would not boot, but KNOPPIX could boot, mount the HDD and cp desparate end-loosers vital (not backed up) data files to an NT server share!
I have also used it to figure out optimal settings for unkown hardware with great success.
I’ve run both DemoLinux and Knoppix and the main difference, when running, is that DemoLinux allows you a way to add persistance and still keep the system bootable from CD. DemoLinux can add 2 files to an existing filesystem with one for swap and one for both /home and /etc. This lets you play with the bootable CD and keep your configurations and files between boot sessions. Knoppix is all in memory, all the time. And you lose most of your data between boots. You can save your config and desktop files to floppy but that’s pretty limited compared to DemoLinux’s 9MB and 25MB /home filesystem in a file.
Also, Knoppix is more uptodate since it’s using 2.4.18 kernel and DemoLinux is 2.2.x so Knoppix will work better with the latest hardware ( USB, etc ).
I probably missed something but those are the things that came to mind.
Discovered Knoppix yesterday and I looooove it!!!
I’m **AMAZED** that none of the big Linux distros has approached Klaus , asking for his help in the hardware detection area. Knoppix **ROCKS** when it comes to hardware detection, and ALL of the big Linux distros would really benefit if they used Klaus’ hardware-detection code.
I have the latest versions of RedHat and Mandrake, and NEITHER detected my hard-drive. I chuck Knoppix in the CD drive, and **KAZAAM !** EVERYTHING detected, no problems!
***COME ON ***, RedHat, Mandrake …. here’s a package (Knoppix) that runs rings around anything else when it comes to hardware detection. So **what are you doing???** You should be grabbing this piece of gold NOW!!!
You can BET that M$ would be in like a “rat up a drainpipe” for code like this!
Knoppix automatically detects if there’s an existing Linux swap file/partition and uses it. You’re right about saving config files though.
Knoppix= really an Operating System, a full Debian Distro,
it has 900 software packages, runs great fromcdrom, its fast,
especially when you run knoppix desktop=wmaker. You can also configure your default settings unto a floppy, called floppyconfig and then boot with all your saved settings.
Its secure, then there is not much to hack (who wants to hack an cdr?). To me its my first great Linux Os. even runs my mp3, audio cds, mail, internet, java, Gimp and irc chat. I think its almost perfect!