<title>KNOPPIX - Linux starten ohne Installation</title>
<author>
<firstname>Klaus</firstname>
<surname>Knopper</surname>
</author>
<copyright>
<year>2003</year>
<holder>KNOPPER.NET</holder>
</copyright>
<abstract>
<para>KNOPPIX (Knopper's Unix System) ist eine komplett von CD lauff臧ige
Zusammenstellung von GNU/Linux-Software mit automatischer Hardwareerkennung
und Untersttzung fr viele Grafikkarten, Soundkarten, SCSI-Ger舩e und
sonstige Peripherie.
KNOPPIX kann als Linux-Demo, Schulungs-CD, Rescue-System oder als
Plattform fr kommerzielle Software-Produktdemos angepasst und eingesetzt
werden. Es ist keinerlei Installation auf Festplatte notwendig. Auf der
CD knen durch transparente Dekompression bis zu 2 Gigabyte an lauff臧iger
Software installiert sein.</para>
</abstract>
</articleinfo>
<section><title>Zusammenfassung</title>
<para>KNOPPIX (Knopper's Unix System) ist eine komplett von CD lauff臧ige
Zusammenstellung von GNU/Linux-Software mit automatischer Hardwareerkennung
und Untersttzung fr viele Grafikkarten, Soundkarten, SCSI-Ger舩e und
sonstige Peripherie.
KNOPPIX kann als Linux-Demo, Schulungs-CD, Rescue-System oder als
Plattform fr kommerzielle Software-Produktdemos angepasst und eingesetzt
werden. Es ist keinerlei Installation auf Festplatte notwendig. Auf der
CD knen durch transparente Dekompression bis zu 2 Gigabyte an lauff臧iger
Software installiert sein.</para>
<para>Dieser Vortrag ist auch im PDF-Format erh舁tlich. <ulink url="knoppix-vortrag-2003-paper.pdf">[Druckversion]</ulink> <ulink url="knoppix-vortrag-2003-screen.pdf">[Bildschirmpr舖entation]</ulink></para>
<listitem><para><ulink url="http://www.kde.org/">KDE 3.x</ulink> als Standard-Desktop</para></listitem>
<listitem><para><ulink url="http://www.xmms.org/">X Multimedia System</ulink> und <ulink url="http://www.xinehq.de/">xine</ulink>als Audio und Video-Player</para></listitem>
<listitem><para>Internet-Zugangs-Software fr Analogmodem, ISDN, DSL und LAN,</para></listitem>
<listitem><para>Datenrettungs- und Netzwerkanalysetools.</para></listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<para>KNOPPIX ist ein vollst舅dig von CD laufendes, auf der <ulink url="http://www.debian.org/">Debian</ulink>-Distribution basierendes GNU/Linux System mit automatischer und nicht-interaktiver Hardwareerkennung.</para>
<para>Da die CD st舅dig erweitert wird, ist die Verwendung von Debian in Bezug auf einfache Updates und Ersetzen/Entfernen von Paketen ein gro゚er Vorteil.</para>
<para>Die Software-Ausstattung auf der CD soll ein komfortables Arbeiten mit einem mobilen System auf "beliebigen" (i*86-kompatiblen) Rechnern ermlichen, daher drfen auch die graphische Benutzeroberfl臘he (mehrere Varianten davon) und Office-Pakete, Multimedia-Software fr Pr舖entationen sowie LaTeX nicht fehlen.</para>
<para>Neben im Auftrag zusammengestellten CDs bieten etliche Mirrors die Download-Version von KNOPPIX kostenlos an, alternativ ist der Versand auf Bestellung durch diverse, unabh舅gige CD-Versender unter <ulink url="http://www.knoppix.de/">http://www.knoppix.de/</ulink>
mlich.</para>
<para>Ziel: CD einlegen, <emphasis>nichts</emphasis> tun, 3 Minuten sp舩er mit dem fertigen konfigurierten Desktop-System arbeiten.<inlinemediaobject><imageobject><imagedata fileref="Bildschirmphoto3.png" format="PNG"/></imageobject></inlinemediaobject></para>
<para>Diesem Ziel steht eine gro゚e und t臠lich grer werdende Menge an zu allen Standards immer inkompatibler werdender Hardware entgegen, fr die teilweise nicht einmal Spezifikationen von Hersteller offengelegt sind, so dass sie von den Kernel-Entwicklern auch nicht mittelfristig untersttzt werden kann.</para>
<para>Dennoch sollen im Normalfall <emphasis>keine</emphasis> Fragen bezglich spezifischer Hardware beim Hochfahren des Systems an den Anwender gestellt werden, um ein unbeaufsichtigtes Booten des Systems bis zur graphischen Oberfl臘he zu ermlichen, und dennoch sollen nach Mlichkeit alle angeschlossenen Ger舩e erkannt und benutzt werden knen.</para>
</section>
<section>
<title>KNOPPIX Lizenzfragen</title>
<itemizedlist>
<listitem><para>CD Zusammenstellung: <ulink url="http://www.gnu.de/">GNU GENERAL PUBLIC LICENSE</ulink></para></listitem>
<listitem><para>Individuelle Programmpakete: Vorwiegend GPL und andere Freie Software-Lizenzen, aber auch andere Lizenzen, sofern sie eine "freie Verteilbarkeit sowohl fr nicht-kommerzielle als auch kommerzielle Zwecke" erlauben.</para></listitem>
</itemizedlist>
<para>Der grte Teil der Software auf der KNOPPIX-CD sowie die Zusammenstellung selbst unterliegt der GNU GENERAL PUBLIC LICENSE.
Diese gibt den Empf舅gern einer Software das Recht</para>
<itemizedlist>
<listitem><para>die Software, mit Hilfe der Quelltexte, zu analysieren und zu modifizieren,</para></listitem>
<listitem><para>die Software im Original oder in einer modifizierten Version zu kopieren und weiterzugeben oder zu verkaufen,</para></listitem>
</itemizedlist>
<para>vorausgesetzt, die Empf舅ger der Software erhalten wieder die gleichen Rechte.</para>
<para>Nicht jedes Softwarepaket auf der KNOPPIX-CD unterliegt der GPL, und es drfen durchaus auch weitere Softwarekomponenten auf der CD untergebracht werden, deren individuelle Lizenzen keine Weitergabe oder Modifikation erlauben. Dies ist zul舖sig, solange die Empf舅ger der Software darauf hingewiesen werden und die Mlichkeit haben, nicht-freie Komponenten vor einer Kopie oder Weitergabe wieder zu entfernen.</para>
<para>Einige der auf der Download-Version der KNOPPIX-CD installierten Pakete sind nicht im Quelltext verfgbar bzw. unterliegen propriet舐en Lizenzen, die jedoch eine Kopie und Weitergabe, kostenlos oder gegen Entgelt, explizit erlauben. Beispiele hierfr sind die JAVA-Runtime-Engine und Acrobat Reader 4.</para>
<para>Ein gro゚es Problem sind jedoch die in verschiedenen L舅dern geltenden Restriktionen bezglich Verteil- und Anwendbarkeit von Software. Vor allem DMCA, Exportbeschr舅kungen und nicht zuletzt Softwarepatente <ulink url="http://www.eurolinux.org/">(die demn臘hst auch in Europa eingefhrt werden sollen)</ulink> verhindern oft, dass ein Programm auf der CD verteilt werden darf, obwohl die Autoren dies wnschen und die Genehmigung hierfr bereits schriftlich (z.B. durch die Angabe der GPL als Lizenz) erteilt haben.</para>
</section>
</section>
<section>
<title>Technik</title>
<itemizedlist>
<listitem><para>Standard fr bootbare CD-ROMs mit einem Index-Katalog fr Boot-Images,</para></listitem>
<listitem><para>Bootmodi mssen von (E)IDE/ATAPI oder dem SCSI-Bios untersttzt werden,</para></listitem>
<listitem><para>Erlaubt sind ausschlie゚lich: 1,2, 1,44, 2,88 MB Disketten Images oder "Harddisk Emulation" per BIOS-Zugriff (wird nicht im <emphasis>protected mode</emphasis> vom Linux-Kernel untersttzt), dies fhrt zu Platzeinschr舅kungen beim Initialbootsystem!</para></listitem>
<listitem><para>sucht nach CD-ROM oder Harddisk-Partition mit komprimiertem Image (KNOPPIX),</para></listitem>
<listitem><para>bindet CD (oder Partition) mit KNOPPIX-Dateisystem ein,</para></listitem>
<listitem><para>findet und aktiviert existierende SWAP-Partitionen (oder Swapdateien auf DOS-Partitionen, knoppix.swp),</para></listitem>
<listitem><para>erzeugt eine dynamische RAM-Disk (schreibbar) fr <filename>/home</filename> und <filename>/var</filename>,</para></listitem>
<listitem><para>bergibt die Kontrolle an <filename>init</filename>.</para></listitem>
</itemizedlist>
<para>Die Aufgabe der el torito Bootfloppy besteht darin, das CD-Rom Laufwerk, in dem die KNOPPIX-CD liegt, zun臘hst wieder zu "finden", denn nach Laden des Kernels "vergisst" das BIOS, von welchem Laufwerk ursprnglich gebootet wurde. Hierzu mssen ggf. SCSI-Module der bekanntesten Controller geladen werden, um auch auf SCSI-CD-Roms zugreifen zu knen. Da der Platz fr Kernel-Module sehr knapp ist, mssen fr das Erkennen von Firewire- oder USB-CD-Rom Laufwerken die SCSI-Module mit den entsprechenden USB/Firewire-Modulen ausgetauscht werden.</para>
<para>Wurde das CD-Ger舩 erfolgreich identifiziert, wird die SCSI-Emulation fr alle IDE-CD-Roms und Brenner aktiviert (fast alle CD-Brenn- und -ausleseprogramme sind fr SCSI-Ger舩e geschrieben) und die CD wird eingebunden.</para>
<para>ワber <emphasis>cloop</emphasis> wird das komprimierte KNOPPIX-Dateisystem aktiviert, erst ab diesem Zeitpunkt stehen ca. 1,8 GB an Software, alle Kernel-Module und Systembibliotheken zur Verfgung.</para>
<para><emphasis>cloop</emphasis> ist ein auf Blocklayer-Ebene arbeitendes, fr das virtuelle Dateisystem transparentes Kernel-Modul, das ursprnglich von Paul 'Rusty' Russel entwickelt wurde, und von Klaus Knopper weiterentwickelt und auf Kernel 2.4 portiert wurde. Durch die Block-Kompression passt ein recht vollst舅dig vorinstalliertes Debian GNU/Linux inklusive OpenOffice auf einen Standard-Rohling (650MB oder 700MB). Das laufende System "sieht" die als Datei auf der CD befindlichen, komprimierten Daten wie eine Festplattenpartition mit der unkomprimierten Gre. Wird auf eine Datei im komprimierten Bereich zugegriffen, so werden nur die gerade benigten Teile der Datei dekomprimiert, und durch den dynamischen Block-Cache von Linux so lange im Speicher gehalten, bis dieser wieder von anderen Anwendungen benigt wird. Bei einer Kompression auf durchschnittlich 38% der Originalgre ist dadurch auf einer einzigen CD Platz fr bis zu 2 Gigabyte vorinstallierter Software.</para>
<para>Aufgrund der Flle von installierten Programmen, deren Installationspakete teilweise aufeinander aufbauen, ist es allerdings schwer mlich, s舂tliche Programme auf korrekte Funktion zu testen. Daher kommt es hin und wieder vor, dass einzelne Programme nicht auf Anhieb funktionieren, da die schreibbaren Bereiche auf der Ramdisk, <filename>/etc</filename>, <filename>/var</filename> und <filename>/home</filename>, nicht fr alle Anwendungen ausreichend sind.</para>
<para>Vor allem die Konfigurationsdateien in <filename>/etc</filename> sind zun臘hst symbolische Links auf Dateien auf der CD, und mssen vor dem Neuschreiben in der Ramdisk entfernt werden.</para>
<para>Das Master-System ist natrlich auf Festplatte installiert, um
Modifikationen durchfhren zu knen.</para>
<para>Das Startup-Skript <filename>/etc/init.d/knoppix-autoconfig</filename>, welches unmittelbar nach dem Start von <filename>init</filename> ausgefhrt wird,</para>
<itemizedlist>
<listitem><para>startet das PCMCIA Subsystem, falls ein entsprechender Controller erkannt wird,</para></listitem>
<listitem><para>startet PCI- und Firewire/USB-Hotplug, falls entsprechende Chipsets gefunden wurden,</para></listitem>
<listitem><para>startet Hardwareerkennung und Autokonfiguration (<filename>hwsetup</filename>),</para></listitem>
<listitem><para>liest automatisch generierte Konfigurationsdateien ein und modifiziert das RAM-System ggf. aufgrund eigener Einstellungen (<filename>knoppix.sh</filename>) oder angegebener Bootoptionen,</para></listitem>
<listitem><para>startet den X-Server, erzeugt Desktop-Icons und Links fr KDE oder andere Desktops, je nach Bootoption und verfgbarem Hauptspeicher (<filename>xsession</filename>).</para></listitem>
</itemizedlist>
<para>Weiterhin erfolgt ein Partition-Scan, um eine auf das System angepasste Dateisystem-Konfigurationsdatei <emphasis>/etc/fstab</emphasis> aufzubauen und, falls vorhanden, vorinitialisierte Swap-Partitionen mitbenutzen zu knen. Damit unzureichendes RAM auch bei nicht vorhandener Swappartition durch Bereiche auf der Festplatte (optional) erg舅zt werden kann, werden alle DOS/FAT32-Partitionen nach einer Swapdatei fr KNOPPIX durchsucht, und bei Erfolg wird diese als Swapbereich genutzt.</para>
</section>
<section>
<title>Fortgeschrittene Anwendung</title>
<section>
<title>Bootoptionen und eigene Konfigurationen</title>
<para>Einige Ger舩e lassen sich nicht automatisch erkennen. Fr diese werden
die "h舫figst funktionierenden" Einstellungen verwendet, was nicht in jedem
Fall optimale Ergebnisse bringt oder berhaupt funktioniert.
Einige Probleme lassen sich von der <emphasis>Bootkommandozeile</emphasis>
aus len (z.B. Angabe eines passenden X-Server Moduls), andere knen
nur nachtr臠lich manuell konfiguriert werden (z.B. Druckereinstellungen).
Fr diese Einstellungen sind im "KNOPPIX"-Men in KDE entsprechende GUIs
untergebracht.</para>
<para>Einige Chips舩ze knen beim Laden von Kernel-Modulen Probleme verursachen,
z.B. identifizieren sich einige Grafikkarten f舁schlicherweise als
SCSI-Controller, oder im BIOS sind Werte fr verschiedene Komponenten
falsch eingestellt. Hier knen diverse Bootoptionen hilfreich sein (noscsi, noapic,
nopcmcia, nousb, nofirewire, noagp, nosound, noswap), die in den
Bootskripten ausgewertet werden und das Laden entsprechender Module oder
Dienste verhindern.</para>
<para>Der gewnschte Windowmanager wird auch hier festgelegt: Ohne Bootoption
wird <emphasis>kde</emphasis> verwendet, andere Mlichkeiten (mit der
<listitem><para>Nach der Installation mit <filename>knx-hdinstall</filename> wird aus KNOPPIX wieder ein "normales" Debian, das zun臘hst vom Anwender konfiguriert werden muss.</para></listitem>
<listitem><para>Die Download-Version von KNOPPIX ist als fentlich verfgbarer
Betatest fr erfahrenere Linux-Anwender gedacht, als Technology Preview
fr die neuste und nicht immer schon perfekt laufende Software, die es fr GNU/Linux
Systeme unter Debian gibt. Anf舅ger sind hier oft berfordert, und kennen sich
mitunter auch nicht ausreichend mit ihren Rechnersystemen aus, um selbst die
Installation und Konfiguration eines Betriebssystems durchzufhren.</para></listitem>
<listitem><para>Bei einer kostenlosen Download-Version hat der Anwender natrlich keinen
Anspruch auf kostenlose Installationshilfen und Support. Dies w舐e auch aufgrund
der zeitlichen Beanspruchung der Entwickler auch gar nicht mlich.</para></listitem>
<listitem><para><filename>knx-hdinstall</filename> funktioniert nach dem
"alles oder nichts"-Prinzip:
Es kann nur ein Abbild des von CD laufenden Systems erzeugt werden, jedoch
eine detaillierte Paketauswahl der Software ist nicht mlich. Eine sp舩ere Aktualisierung
des Systems ist zwar ber die (kommandozeilenorientierten) Standard-Debian Tools mlich,
aber ein "Update" eines einmal installierten Systems nur mit Hilfe einer neuen Knoppix-CD
ist fr Anf舅ger kaum durchfhrbar ohne eine vollst舅dige Neuinstallation.</para></listitem>
<listitem><para>Durch das Neupartitionieren der Festplatte kann es leicht zu Datenverlusten
an bestehenden Systemen kommen. Auch ist es mlich, dass bedingt durch Softwarefehler
auch bei korrekter Installation das "alte" Betriebssystem nicht mehr zum Booten zu
berreden ist.</para></listitem>
<listitem><para><filename>knx-hdinstall</filename> ist als schnelle Installationsmlichkeit
fr fortgeschrittene Debian-Anwender konzipiert, um beispielsweise bei einer Schulung ohne
Aufwand die Rechner mit einem GNU/Linux-System installieren zu knen. Ansonsten fhrt die
Festplatteninstallation leider oft zu einer gro゚en Entt舫schung der Linux-Erstinstallierer,
weil das System nach der Installation nicht mehr so "rund" zu laufen scheint, wie es auf
der CD noch aussah.</para></listitem>
</itemizedlist>
<para>Wenn Sie KNOPPIX als Linux-Neuling nur zum "Reinschnuppern" in GNU/Linux eingesetzt haben,
und das System gef舁lt Ihnen, versuchen Sie bitte NICHT sofort, es auf Platte zu installieren!</para>
<para><emphasis>Tipp: Kaufen Sie sich stattdessen im n臘hsten Computerladen eine Linux-Distribution
Ihrer Wahl, mit ausfhrlichem Handbuch und Herstellersupport, und installieren Sie diese (oder
bitten Sie jemand darum, der wei゚, wie man das richtig macht).</emphasis></para>
<para>Sie zahlen bei Freier Software brigens generell nicht nach dem klassischen Modell fr die "Nutzung
der Software", sondern fr den Support des Herstellers und dessen Dienstleistungen fr Sie. Viele
umfangreiche Softwarepakete finden Sie zwar "kostenlos" im Internet, jedoch nimmt Ihnen der Hersteller
einer Distribution die Arbeit ab, diese Software fr Ihr System anzupassen und so zu modifizieren,
dass sie auf Anhieb (zumindest meistens) richtig funktioniert.</para>
<para>Wenn Sie bestimmte Programme, die Sie von KNOPPIX her kennen, einsetzen mhten,
sollten Sie sich erkundigen, ob das jeweilige Programm auch in einer aktuellen Version
auf der von Ihnen gew臧lten Distribution zur Verfgung steht.</para>
</section>
</section>
<section>
<title>Ausblick</title>
<section>
<title>Platzprobleme</title>
<para>Ein gro゚es Problem bei der Weiterentwicklung von KNOPPIX stellt der steigende Platzbedarf fr Anwendungen dar,
insbesondere GNOME-Anwendungen (Version 1.4 / 2.0 / 2.2 / ...) sind aufgrund einer kaum berschaubaren Menge
von Bibliotheks-Abh舅gigkeiten immer schwerer integrierbar. Der naheliegende Gedanke, auf DVD "umzusteigen",
steht dem erkl舐ten Ziel, eine gro゚e Menge unteschiedlicher, auch 舁terer, Rechnersysteme zu untersttzen,
entgegen. Auch w舐e der Download eines DVD-Image trotz DSL und Highspeed-Netzen ein nicht unerheblicher
Zeit- und Kostenfaktor fr viele Anwender, abgesehen davon, dass nicht jeder Computeranwender stolzer
Besitzer eines DVD-Brenners ist.</para>
</section>
<section>
<title>Koordination der Entwickler, Quelltexte</title>
<para>Ein Repository soll erstellt werden, aus dem interessierte Entwickler auf
schnellerem Weg die Quelltexte fr KNOPPIX-Komponenten erhalten knen. Auf der
<emphasis>debian-knoppix</emphasis> Mailingliste werden neue Features
vorgeschlagen, technische Machbarkeit untersucht und Lungen diskutiert.
In den <emphasis>Foren</emphasis> knen Betatester und Anwender Hilfe zu bekannten
Problemen finden und sich auch aktiv an der Weiterentwicklung beteiligen.</para>
</section>
<section>
<title>Autobuild-System</title>
<para>Interessant ist die Frage, ob es mlich ist, die Mastering-Prozedur mit Paketauswahl und
Len von Abh舅gigkeiten so weit zu automatisieren, dass ein neues Image
mit einer perslichen Paketauswal per GUI (z.B. Webformular) zusammengestellt werden,
und gleich als ISO-Datei generiert werden kann. Der Bedarf an speziell zusammengestellten
KNOPPIX-CDs w舐e so einfacher zu bedienen, ohne dass eine mitunter sehr langwierige Prozedur
durchlaufen werden muss. Noch ist fr eine vollst舅dige Automatisierung aber keine technische