Klaus talks about some new features in the latest Knoppix
Knoppix 8.1
The latest Knoppix comes with a new I/O scheduler, and the new hybrid ISO image format allows you to boot from either a DVD or USB stick. Klaus talks about the changes with the latest edition of Knoppix, and offers a glimpse at some of the problems he faces when producing a new Knoppix version.
Editor's Note: Our own Professor Knopper has another life as the creator and maintainer of the popular Knoppix Live Linux distro. With its large collection of troubleshooting and diagnostic tools, Knoppix is a trusted companion for system administrators and other IT professionals, but Knoppix also comes with a vast collection of desktop tools, which means it is fully functional as an everyday Linux system on a live disk. In this article, Klaus offers some thoughts and tips on the new Knoppix 8.1, which is included on this month's DVD.
After months of preparation, the English language version of Knoppix 8.1 is finally available [1]. Due to the increasing complexity of applications and dependencies, as well as the strategic decisions of software developers, every year it gets more difficult to make everything work together smoothly. All the changes and redesigns in recent Debian releases mean I now spend more time on testing and workarounds than I do on development and programming. (For an example of the kinds of problems I face, see the box entitled "Labor-Intensive Workarounds for Small Bugs.")
Knoppix 8.1 (Figure 1) contains 4,100 software packages (including libraries and supporting shared data), which results in around 4,500 executable files. Only a small fraction of these programs appear in the desktop menus; many of the latest and greatest tools for data rescue or advanced networking are only found at the command line.
Labor-Intensive Fixes for Small Bugs
Especially annoying are programs that used to work perfectly in older versions but terminate with error messages or show unexpected behavior with updates. Just keeping the old version is not always a good solution, because the new version is often created to address security problems or software incompatibilities.
Often the only solution is to use the new version but to spend some time developing a workaround. For example, TeXmacs (Figure 2) is a graphical editor for the TeX typesetting system that lets you include live sessions of mathematical software, such as the popular Maxima computer algebra system. Internally, TeXmacs checks for the availability of a Maxima plugin by calling Maxima with a version
option. In the latest version of Maxima, that version
option produces an empty result, so TeXmacs thinks Maxima is not working and disables the live algebraic session option. As a workaround, I added some code in the Maxima front-end command to output Maxima's version number (like in the old version), so TeXmacs is now happily creating Maxima sessions in documents again. As you can imagine, it is very difficult to even find such problems, not to mention repairing them in software you aren't too familiar with. Regression tests that involve interaction with each and every installed program are not feasible.
The base system is installed inside a cloop-compressed image called KNOPPIX
inside the KNOPPIX
folder, and additional programs for 3D construction and video editing appear in the KNOPPIX1
add-on file. Splitting the contents is necessary because the FAT32 filesystem, as well as the traditional ISO 9660 filesystem used in DVDs, only support file sizes smaller than 4GB.
Although it is compressed to around 4.2GB, the total amount of data installed on Knoppix 8.1 is 11GB. The data is transparently decompressed by the cloop kernel module.
Knoppix uses its own, script-based startup system and only starts services needed for operation, so the memory footprint is around 150MB after booting into the graphical user interface.
Although the kernel is auto-selected as 32- or 64-bit on startup, installed programs are 32-bit, so all 32- and 64-bit Intel/AMD platforms are supported. Thus Knoppix can still be used on old computers with few CPU and memory resources.
Because the distributed ISO image is now in ISO hybrid format, it is no longer necessary to burn Knoppix to a DVD first; you can write it directly to a USB flash disk using dd
or cp
on Linux or using imaging tools like Win32 Disk Imager in Windows.
If you feel like experimenting, you can also create your own ISO hybrid image. (See the box entitled "Hybrid Image for DVD and Flash Disk.")
Hybrid Image for DVD and Flash Disk
If you wish to create your own new hybrid ISO image, make sure you are using the development snapshot 1.4.9 from the xorriso project page [2].
The new hybrid image format adds a partition table for booting from flash to the ISO image [3]. Knoppix 8.1 includes some optimizations related to the hybrid generation procedure – to make the image more compatible with BIOS systems and UEFI firmware. I used an additional GUID partitioning scheme in version 8.0, but this approach turned out to confuse other operating systems after automatic expansion of the last partition.
The development snapshot for xorriso is not capable of creating a pure DOS/MBR-based partition table, and the partition containing the EFI boot files is now outside of the first ISO partition. If you would like to remaster the ISO image file, the command should be similar to Listing 1, where $SRC
is the directory with a copy of the first Knoppix partition's content, efi.img
is an image of the second, and REISERFS.IMG
an image of the third (empty) partition, copied from the original downloaded file (not the flash-knoppix
-generated version). /usr/lib/ISOLINUX/isohdpfx.bin
is a hybrid MBR template included in the syslinux package.
Thanks to Thomas Schmitt from the xorriso project for all the useful tips!
Listing 1
Creating a Hybrid Image
Rebootless Auto-Resize of Data Partition on Flash
Knoppix traditionally uses an additional partition with a native Linux filesystem in order to overlay one's own changes and installations on top of the read-only system data mounted from the compressed KNOPPIX*
files. With the flash-knoppix tool, this partition can be sized by the user as needed. However, when booting from a USB flash disk that was installed by the image method directly from the ISO file, the last partition is only 4MB in size at first sight in order to save space in the distributed image. The initial ramdisk of Knoppix now contains code to expand this last partition on-the-fly up to the last available unused sector on the medium. Other distros, like Raspbian on Raspberry Pi, can do this as well, but when even just one partition is mounted from disk while repartitioning, the kernel won't accept the new partition table until a reboot occurs. For this reason, the Knoppix initial script unmounts and rescans the disk after repartitioning and before attempting to resize the filesystem – from the ramdisk that contains all necessary tools. This way, no reboot is needed and the user doesn't have to change the boot order sequence again in order to use the overlay partition.
The resizedata
function is, of course, only called after a few safety checks – if it's running from a Knoppix-image-installed USB flash disk, enough empty space must be available after the last partition, and the current filesystem must be labeled KNOPPIX-DATA
. If any of these is not the case, the data partition will be ignored, and the system will continue running with only a ramdisk overlay.
New I/O Scheduler
One of the most interesting features of the newer Linux kernels is the introduction of multi-queue schedulers, which allow parallelizing of read/write requests depending on selectable strategies. This feature is most useful for devices with low latency, as well as rotational disks with high seek latency. The Budget Fair Queueing (BFQ) scheduler has been introduced in the mainststream kernel for multi-queue mode only. Previous Knoppix versions had BFQ included as a nonstandard kernel patch, so this is a most welcome change for Knoppix that eliminates the need for an additional patch. BFQ attempts to distribute I/O bandwidth based on a "budget" for each newly started task, so the system should feel faster interactively, and programs should load quicker, even under massive parallel disk usage. Of course, BFQ can't circumvent physical bandwidth limits.
Where's Firefox?
One very controversial design decision of the Mozilla developer team is the removal of direct support for ALSA – the standard Linux sound system – in Firefox. Firefox now requires PulseAudio, but not only as a library, which is, of course, present in Knoppix, but as a sound server system running on the computer. Knoppix does not use PulseAudio in server mode because it can indefinitely block sound output for other programs, which is not acceptable for accessibility tools, such as speech assistance systems. Also, no other sound-enabled program requires a PulseAudio server – only Firefox. For this reason, Firefox, starting from version 52, remains silent and displays a confusing message telling the user to install additional software when entering YouTube and other sound-enabled websites. This problem is not just in Knoppix but in all Linux distros that refrain from starting an additional sound server. According to Mozilla [4], the removed ALSA sound support in the official Firefox releases will never be fixed.
An apparent workaround is using a different web browser for sites that require sound. In order to avoid too many questions about "sound not working," I replaced the Firefox icon with Chromium (the open source variant of Chrome) in the LXDE quick-start bar. But Firefox is still present as an alternative under the Internet desktop menu.
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
-
Canonical Releases Ubuntu 24.04
After a brief pause because of the XZ vulnerability, Ubuntu 24.04 is now available for install.
-
Linux Servers Targeted by Akira Ransomware
A group of bad actors who have already extorted $42 million have their sights set on the Linux platform.
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.
-
XZ Gets the All-Clear
The back door xz vulnerability has been officially reverted for Fedora 40 and versions 38 and 39 were never affected.
-
Canonical Collaborates with Qualcomm on New Venture
This new joint effort is geared toward bringing Ubuntu and Ubuntu Core to Qualcomm-powered devices.
-
Kodi 21.0 Open-Source Entertainment Hub Released
After a year of development, the award-winning Kodi cross-platform, media center software is now available with many new additions and improvements.
-
Linux Usage Increases in Two Key Areas
If market share is your thing, you'll be happy to know that Linux is on the rise in two areas that, if they keep climbing, could have serious meaning for Linux's future.
-
Vulnerability Discovered in xz Libraries
An urgent alert for Fedora 40 has been posted and users should pay attention.
-
Canonical Bumps LTS Support to 12 years
If you're worried that your Ubuntu LTS release won't be supported long enough to last, Canonical has a surprise for you in the form of 12 years of security coverage.
-
Fedora 40 Beta Released Soon
With the official release of Fedora 40 coming in April, it's almost time to download the beta and see what's new.