Evolution of a Passion Project

Distro Walk – Knoppix

Article from Issue 247/2021

Knoppix, a portable operating system and rescue disk, continues to evolve.

For over 20 years, Knoppix has been the premier portable operating system and rescue disk for Linux users. Although its packages are drawn from the Debian repositories, and contributors add to its hardware support, the bulk of the work on the distribution is done by German electrical engineer Klaus Knopper (Figure 1), an independent consultant and instructor at the Kaiserslautern University of Applied Sciences. Over the years, Knoppix's hardware support has increased, features have been added and dropped, and its original purposes have been joined by ADRIANE (Audio Desktop Reference Implementation and Networking Environment), a desktop designed for the sight impaired with input from Klaus's wife, Adriane Knopper (Figure 2). All of which shows how this passion project is evolving with the times and is as important as ever.

Figure 1: Klaus Knopper, Knoppix's core developer.
Figure 2: Adriane Knopper, the inspiration for ADRIANE, Knoppix's desktop for the blind.

"When I started studying electrical engineering in the late '80s," Klaus Knopper says, "my plan was to build electric cars and solar power plants. Apparently, this vision was just a little too early, so my interests turned more towards networking software and the possibilities that appeared with the Internet." At the time, free software was how Unix-like systems were taught, with exercises done with the GNU shell and compiler collection, using the GNU/Linux, BSD, and Hurd kernels. Knopper was among the students who founded a Unix working group, which eventually went on to organize the LinuxTag expo.

A few years later, Knopper encountered the Linuxcare Rescue CD, an 18MB business-card-sized CD with the Linux kernel and a command-line rescue tool. Knopper recalls, "I thought that a full CD-sized operating system with all the applications I use frequently, including a graphical desktop, data forensics, and TeX and other favorites would be extremely practical for travelling without a computer, using publicly available computers while still being able to use my personal software collection without installation."

A Knoppix prototype debuted at the Atlanta Linux Showcase in 2000. After talking about his efforts, Knopper gave out several dozen CDs plus, a few weeks later, feedback about hardware detection. "At that point," he says, "I decided that Knoppix should be a publicly available project for further development, because I could not possibly test on every available computer hardware constellation on my own. Detecting hardware correctly, and creating appropriate configuration for optimal support without any questions asked interactively is probably the biggest technical challenge."

Today, Knoppix is downloaded 7,000 to 20,000 times per day from Knopper's own website [1]. Although Knopper does not have statistics from mirrors, he notes that some Internet providers recommend downloading a Knoppix DVD just for measuring real bandwidth.

Hardware Detection

From the start, Knoppix's main challenge has been hardware support (Figure 3). However, support has become easier thanks to packages like the Linux kernel and udev, which have built-in detection for many types of hardware. "Writing scripts that probe a few thousand setup options is no longer necessary," Knopper says. "One challenge left is finding the correct chipset to use in dual-chipset graphics on some boards. Depending on vendor and BIOS setup, only one of the tandem chipset parts works reliably, so there is only a 50/50 chance for finding the working setup for these automatically. As an example, from my experience, with the frequently installed Intel+NVidia combination, the Intel part works better out of the box, but in some cases booting with knoppix64 xmodule=nouveau is required to select the NVidia art instead."

Figure 3: Knoppix's hardware detection is both quick and extensive, although it sometimes needs the help of boot options.

Knopper continues, "for only partly Linux-supported hardware, fallbacks to generic drivers are included. But these only come into action if the native drivers exist cleanly. Sometimes you have the case that an older Knoppix version works well on a specific graphics card using the vesa or framebuffer drive while a newer version which has a new experimental driver won't, but can still be booted with the option knoppix xmodule=vesa to enforce the simplest driver."

Streamlined Features

In the past, some users have installed Knoppix as their main operating system, but Knopper warns that it is not a typical distro with frequent upgrades and multi-user setups. Nor does it work well with UEFI or upgrades. Because of these problems, the hard disk installer was removed in Knoppix 9. Instead, Knopper advises working from a flash drive, with the /home directory on a separate filesystem, so that upgrades do not cause problems. The exception is the update-security script, which according to Knopper can safely replace most packages.

Another feature dropped from Knoppix is systemd. In fact, Knoppix was one of the first major distributions to remove systemd. "I try to keep the startup procedure as simple as possible, driven by shell scripts and only starting tasks in parallel when I'm confident this will work without conflicts," Knopper says. "Systemd has made a Linux system very complex with dependencies at places where you would not expect them logically. You may have noticed that some Linux installations wait for a minute or two before successfully shutting down, just because there are leftover dependencies between network and services after a program removal, so the system has to wait until a timeout is reached when programs or libraries don't send the expected answers. This won't happen on Knoppix because processes are just shut down cleanly without waiting for system services to signal that they are ready for this now."

Knopper adds, "Actually, for justice, I also dropped SysVinit and replaced it by the simpler BusyBox internal init and shell scripts which replace the shutdown, reboot, and poweroff commands by safe procedures. Removing systemd as well as (most of) SysVinit also removed a lot of dependencies which would otherwise have pulled in many libraries and services that are not actually needed to run Knoppix. To fulfill the dependency requirements in some Debian packages without messing with the package format, I added these as virtual dependencies, so you will find a package no-systemd installed on Knoppix which also avoids accidentally reinstalling systemd and possibly killing the boot system."


One indication of how personal a project Knoppix remains is the inclusion of ADRIANE, a desktop designed for the blind (Figure 4). ADRIANE was developed with Knopper's sight-impaired wife Adriane in mind, "so she can use a Linux system which she can control completely by herself without needing any proprietary software or surprises by incompatible updates or pop-up license requests, for using the Internet. The way which the audible desktop menu works and the easy-to-remember speech functions [are] her design. [It] tries to reflect the way a blind person starts learning to use a computer on their own with no or few sighted help."

Figure 4: Knoppix's ADRIANE is a desktop environment for the blind, working through sound and keyboard shortcuts.

Knopper further explains, "ADRIANE is not another add-on for graphical desktops but works with what's commonly perceivable without vision: speech and text. For beginners who don't know the whole lot of keyboard shortcuts which graphical screen readers need, [there's] the simple talking menu which is controlled entirely by arrow keys, Escape, and Caps Lock as 'Talking control' keys. When configured with autostarting ADRIANE, the first thing you hear when starting the computer is 'Enter for help, arrow down for next menu', which tells you what you can do and how to get more information about the audible desktop usage. The JavaScript-capable text browser ELinks allows you to access and work with most websites easily, and email using the Mutt mail client (which I also use personally because it can handle extreme numbers of inbox mail smoothly) is also possible with only audio and (optionally) Braille devices."

Knopper adds, "ADRIANE (started with boot option adriane) is not an assistive technology per se; rather it is an alternative, non-vision-oriented desktop that uses assistive technologies like the SBL screenreader (with configurable profiles for different programs for speech and Braille), entirely made of Bash shell scripts with dialogs and accessible console-based programs. Knoppix can also use Orca on the graphical desktop, like many other distros (boot option knoppix orca), but that's not a direct part of ADRIANE."

Currently, with the help of ADRIANE, Knopper says you should be able to teach yourself to use a Linux system without vision. You can do things like access the Internet and email, use utilities like a calculator, take text notes, use an address book, and scan printed letters or books and then have the computer read them to you or save them as text files – normal work in an easy-to-use interface. The KARL keyboard learning program teaches you keyboard layout and functions by having the computer read the meaning of a pressed key to you, enabling people unfamiliar with computers to learn how to use a keyboard before using applications. Experts would most likely use the shell with the screen reader, which is also a menu item in ADRIANE.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More