Evolution of a Passion Project
Distro Walk – Knoppix
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.
"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."
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."
ADRIANE
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."
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
(incl. VAT)
Buy Linux Magazine
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.
News
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.