DISTRIBUTION dCore von Stefan Müller

ie leichtgewichtige Distribution dCore Für die x86-Architektur existiert dCore derzeit dung .sce. Darin sind alle zur Erweiterung ge- basiert auf TinyCore und greift auf den (November 2015) in den - bzw. - hörigen Dateien enthalten. Auf dem System vor- D Softwarebestand von Ubuntu zu. Nach basierten Ausprägungen Jessie und Wheezy be- handene Erweiterungen werden durch den Befehl einer allgemeinen Einführung wird hier eine ziehungsweise Trusty, Utopic, Vivid und Wily mit sce-load gemountet, der auch alle Dateien als schrittweise Anleitung für eine Testinstallati- den entsprechenden Kernel-Versionen. Nach gut symbolische Links ins Wurzeldateisystem kopiert. on auf einem USB-Stick gegeben. zweijähriger Entwicklung ist dCore den Kinder- Somit stehen sie im normalen Pfad zur Verfügung. schuhen entwachsen und bietet eine höchst in- Nötigenfalls werden auch Startskripte ausgeführt. Einführung teressante Plattform für fortgeschrittene - Danach kann die importierte Applikation normal Distributionen, welche im RAM laufen (vgl. An- Benutzer. gestartet werden. hang „InitRD“), gibt es unter Linux in stattlicher Zahl. Zu den bekanntesten Vertretern dieser Zunft Informationen Erweiterungen importieren zählen sowie die Live-Versionen von di- Die Installationsdateien [1] befinden sich etwas Zuerst müssen die Erweiterungen importiert wer- versen Distributionen. Daneben gibt es eine gan- versteckt im Download-Bereich der Website von den. Der Befehl sce-import aktualisiert die Pa- ze Schar speziell leichtgewichtiger Distributionen, TinyCore [2]. Im TinyCore-Wiki existiert ein se- ketverzeichnisse und durchsucht sie nach pas- wie Puppy Linux oder TinyCore Linux. Der jüngs- parater Bereich für dCore [3]. Daneben wird das senden Namen. Man wählt das gewünschte Pa- te Spross in dieser Familie hört auf den Namen dCore-Forum [4] sehr aktiv genutzt. ket aus einer Trefferliste, worauf es samt Abhän- dCore und stammt ebenfalls aus dem Hause Ti- gigkeiten heruntergeladen und in eine sce-Datei nyCore. Modularität umgewandelt wird. dCore lädt den Linux-Kern sowie eine InitRD, wel- Der Name ist ein Zusammenzug aus Debian und che das Wurzeldateisystem umfasst. Diese bei- Um Plattenspeicher zu sparen, lässt sich die Grö- TinyCore und deutet auf das neue Konzept hin. den Dateien sind zusammen weniger als 15 MB ße von Erweiterungen reduzieren, indem sie von Dabei wird das gesamte Grundsystem von dCo- groß und stellen ein minimales Linux-System mit anderen abhängig gemacht werden. Das Flag re von TinyCore übernommen und somit dem Almquist- (Ash) und Busybox zur Verfügung. -d zu sce-import erlaubt die Auswahl von vor- Benutzer eine minimalistische Linux-Umgebung Zusätzliche Software-Pakete werden in Form von ausgesetzten Abhängigkeiten. Einerseits werden zur Verfügung gestellt, welche er nach eigenen sogenannten Erweiterungen importiert und kön- deren Dateien beim Import ignoriert. Andererseits Wünschen modular ausbauen kann. Wo TinyCore nen nach Bedarf geladen werden. So kann sich wird beim Laden der Erweiterung sichergestellt, jedoch eigene Paketquellen verwendet, greift dCo- der Benutzer sein System nach eigenen Wün- dass alle Abhängigkeiten vorrangig geladen wer- re hingegen auf die Bestände von Debian oder schen zusammenstellen. den. Ubuntu zurück. Dadurch steht dem Benutzer ein außerordentlich schlankes Grundsystem mit einer Erweiterungen Erweiterungslisten überwältigenden Auswahl an aktueller Software Erweiterungen sind SquashFS-Dateien, d. h. in Sollen mehrere Erweiterungen stets zusammen zur Verfügung. eine Datei gepackte Dateisysteme, mit Dateien- geladen werden, bietet es sich an, sie zu einer ein-

© freiesMagazin CC-BY-SA 4.0 Ausgabe 02/20161 DISTRIBUTION

zigen Erweiterung zu kombinieren. Mit dem Flag -l liest sce-import die Paketnamen aus einer Textdatei und erzeugt daraus eine Erweiterung.

Erweiterungen laden Neben dem manuellen Laden können Erweite- rungen auch beim Systemstart automatisch ge- laden werden, was für systemnahe Software wie zum Beispiel Wireless-Unterstützung oder -Manager beziehungsweise Desktop- Umgebungen sinnvoll ist. Andererseits lassen sich Programme auch bei Bedarf („on demand“) laden, was besonders in graphischen Umgebun- gen den Bedienungskomfort erhöht.

Persistenz Das Grundsystem und auch alle Erweiterungen bestehen aus ausschließlich lesbaren Dateisys- temen. Deshalb braucht es einen speziellen Me- chanismus, um persistente Veränderungen bspw. an Konfigurationsdateien vorzunehmen. Im Ge- gensatz zu vielen anderen Live-Systemen setzt dCore mit LXDE. Das geöffnete Startmenü zeigt Rubriken für geladene Erweiterungen. Rechts im dCore, wie auch TinyCore, nicht auf Overlay- Panel sichtbar: NetworkManager, OwnCloud, Tastaturlayout, sowie Starter für Bereitschafts- und Dateisysteme (vgl. Anhang „Persistenz“). Ruhezustand sowie Herunterfahren.

In der einfachsten Installationsvariante wer- gemacht werden. Die Originalversion wird beim Skripte werden im Verlauf des Systemstarts aus- den alle Benutzerdaten – und dazu zählen Systemstart durch die in mydata.tgz gespeicher- geführt und können individuell angepasst werden. auch individuelle Systemeinstellungen – ins te überschrieben. Archiv /opt/mydata.tgz gepackt. Die Datei Beispielinstallation /opt/.filetool.lst regelt, welche Dateien dar- Neben dem Home-Verzeichnis wird in der Grund- Um ein Gefühl für die Funktionsweise von dCo- in aufgenommen werden. einstellung auch /opt/ persistent gemacht. Es re zu erhalten, wird hier eine LXDE Desktop- enthält die internen Konfigurationsdateien für dCo- Umgebung mit aktuellen Versionen von Libre- Konfigurationsdateien beispielsweise unter /etc/ re. Dazu zählen Listen mit Paketquellen sowie die Office und samt deutschsprachiger Loka- können durch Eintrag in diese Datei persistent Dateien bootlocal und bootsync. Diese Shell- lisierung installiert. Diese Applikationen werden

© freiesMagazin CC-BY-SA 4.0 Ausgabe 02/20162 DISTRIBUTION aus dem Software-Bestand von Ubuntu Trusty Im Ordner boot/ erstellt man anschließend die weiteren grundlegenden Kommandozeilenwerk- stammen. Datei extlinux.conf wie im folgenden Lis- zeugen durch BusyBox bereitgestellt wird. Die ting extlinux.conf angegeben. Hierzu wird die bildet mit InitRD das Wurzeldateisystem und liegt USB-Stick vorbereiten UUID der Partition benötigt, welche sich mittels vollständig im RAM. Der einzige Benutzer heißt tc Man nehme einen leeren USB-Stick mit einer dem Befehl sudo blkid /dev/sdXn herausfin- und kann mittels sudo Root-Berechtigung erlan- Ext-formatierten Partition /dev/sdXn, welche den lässt. gen. boot-bar ist. Auf dieser erstellt man mit Root- Berechtigung einen Ordner namens boot/. DEFAULT menu.c32 Besonders viel bietet das System noch nicht. PROMPT 0 Während des Startvorgangs wurden jedoch di- LABEL dCore Falls kein Boot-Loader vorhanden ist, schreibt verse Skripte ausgeführt, welche u. a. die Boot- KERNEL vmlinuz-trusty man einen solchen von einer bestehenden Linux- INITRD dCore-trusty.gz Parameter „tce“, „opt“ und „home“ dahingehend Installation aus auf den Stick (bevorzugt Extlinux), interpretierten, dass die entsprechenden Ordner APPEND waitusb=10 tce=UUID= y welchen man über die Paketverwaltung installiert. auf der angegebenen Partition angelegt werden home=UUID= opt=UUID= tz="CETy -1CEST,M3.5.0,M10.5.0/3" sollten. Mit den folgenden Befehlen installiert man als Root den Boot-Loader samt benötigtem Hilfsmo- Listing 1: extlinux.conf Im Verzeichnis /tce/ werden die Erwei- dul und passendem „master boot record“ auf dem terungen abgespeichert. Von der dCore- Stick. Weiter werden der Linux-Kern sowie die Für Extlinux von Version kleiner als 3.70 Installation aus ist dieses Verzeichnis unter InitRD heruntergeladen und überprüft. müssen die Dateinamen im Format DOS-8.3 /etc/sysconfig/tcedir verlinkt. angegeben werden, d. h. als vmlinu~1 # mount /dev/sdXn/ /mnt/ bzw. dcore-~1.gz. Je nach Reakti- „Side-loading“ von Erweiterungen # mkdir /mnt/boot/ onsfreudigkeit des USB-Sticks kann Hat man eine funktionierende Ethernet- # extlinux --install /mnt/boot/ die Sekundenzahl des Boot-Parameters Schnittstelle zur Verfügung kann man nun gleich # cp /usr/lib/syslinux/menu.c32 /mnt/boot/ waitusb auch verkürzt werden. # dd if=/usr/lib/extlinux/mbr.bin of=/dev/sdX loslegen und Erweiterungen installieren. Andern- # cd /mnt/boot/ falls müssen zuerst geeignete Erweiterungen Erster Start geladen werden, um die kabellose Netzwerk- # repo="http://tinycorelinux.net/dCore/x86/y release/dCore-trusty" Vor dem ersten Start versichere man schnittstelle zu betreiben. # for file in dCore-trusty.gz vmlinuz-trusty ; do sich, dass keine andere Installation die # wget $repo/$file Swap-Partition der Festplatte für den Hierfür muss das System zunächst heruntergefah- # wget $repo/$file.md5.txt Ruhezustand benützt, denn diese Da- ren werden, damit die passenden Dateien auf den # cat $file.md5.txt >> md5.txt ten könnten überschrieben werden! USB-Stick gebracht werden können. Die folgen- # done den Befehle müssen genauso wie die ursprüngli- # md5sum -c md5.txt Das System bootet in eine Almquist- che Installation mit Root-Rechten ausgeführt wer- # rm md5.txt Shell (Ash), welche zusammen mit den den.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 02/20163 DISTRIBUTION

# mount /dev/sdXn/ /mnt/ graphics-3.16.6-tinycore wird von Nach einem Neustart zeigt sich ein graphischer # cd /mnt/tce/sce/ dCore zur Verfügung gestellt, die ande- Desktop mit dem minimalistischen Fensterma- # repo="http://tinycorelinux.net/dCore/x86/y ren von Ubuntu. nager FLWM. Dessen Menü ist über einen release/dCore-trusty" Rechtsklick auf den Desktop zugänglich. Diese # for file in wireless-3.16.6-tinycore wireless ;y Der Befehl sce-import fragt nach dem Umgebung ist sehr minimalistisch und wird hier do Anfang des Paketnamens, worauf ei- nicht weiter betrachtet. Stattdessen soll die et- # for ext in sce sce.list sce.md5.txt ; do ne Auswahlliste aller passenden Pakete was leistungsfähigere Desktop-Umgebung LXDE # wget $repo/sce/$file.$ext präsentiert wird. Nach der Auswahl wer- installiert werden. # done den alle Abhängigkeiten aufgelöst. Die # cat $file.sce.md5.txt >> md5.txt Pakete werden heruntergeladen und LXDE # done # md5sum -c md5.txt zu einer Erweiterung mit Dateiendung Mittels Rechtsklick auf den Desktop kehrt man zur # rm md5.txt .sce in /etc/sysconfig/tcedir zu- Kommandozeile zurück („Exit to Prompt “). Dort sammengefasst. importiert man das Paket und ersetzt in der Datei /etc/sysconfig/tcedir/sceboot.lst Die erste Erweiterung liefert alle verfügbaren Trei- Für den Start des graphischen Desktops, muss den Eintrag „flwm“ durch „lxde“. ber inklusive Firmware, die zweite Werkzeuge für die Boot-Loader-Konfiguration angepasst werden. den Umgang mit kabellosen Netzwerken. Zusätz- Zu diesem Zweck wird mittels sce-import nano In /mnt/sdXn/boot/extlinux.conf verän- lich stünde auch NdisWrapper zur Verfügung, falls der Editor Nano importiert. Alternativ steht die dert man den den Boot-Parameter zu „desk- keine Linux-Treiber für die Netzwerkkarte existie- BusyBox-Version von Vi zur Verfügung. top=startlxde“. Der Befehl startx lässt daraufhin ren sollten. eine funkelnagelneue LXDE-Arbeitsfläche er- Diese Erweiterung wird mittels sce-load nano scheinen. Wireless geladen. Danach kann mittels sudo nano Beim zweiten Start wird mit dem Befehl sudo /mnt/sdXn/boot/extlinux.conf der Boot- Tastaturbelegung wifi.sh eine Auswahlliste der erkannten WLAN- Code „desktop=flwm“ zum Eintrag „append“ hin- LXDE stellt ein eigenes Verwaltungsprogramm Netzwerke angezeigt, worauf eventuell benötigte zugefügt werden. Da wir uns erst später um für die Tastaturbelegung zur Verfügung. Mittels Passwörter abgefragt werden. Diese werden in Internationalisierung kümmern werden, muss mit Rechtsklick auf die LXDE-Leiste fügt man „Key- der Datei ~/Wifi.db abgelegt und später von der US-amerikanischen Tastaturbelegung gear- board Layout Handler“ als neues Panel-Applet dort automatisch abgerufen. beitet werden – insbesondere sind die Tasten für hinzu. Y und Z vertauscht. X11-Desktop Mit Rechtsklick auf das Flaggensymbol können Um eine einfache X11-Umgebung aufzuzie- Die drei importierten Erweiterungen müssen daraufhin die Einstellungen angepasst werden. hen werden folgende Erweiterungen benötigt: beim Booten automatisch geladen werden. Bevor eine neue Belegung hinzugefügt werden graphics-3.16.6-tinycore, xorg-all und flwm. Hierzu werden sie aufgelistet in der Datei kann, muss die Option „Keep system layouts“ de- Sie werden einzeln importiert. Die Erweiterung /etc/sysconfig/tcedir/sceboot.lst. aktiviert werden.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 02/20164 DISTRIBUTION

Applikationen terstützt diverse Fenstermanager, darunter Open- ~/.config//lxde-rc.xml die Zeile Applikationen bestehen typischerweise aus einem box. Da LXDE wiederum auf Openbox aufsetzt, „<file>/usr/share/lxde/openbox/menu.xml“ Grund- sowie ergänzenden Paketen beispielswei- lässt es sich mit etwas Handarbeit passend ein- durch die vier Zeilen des folgenden Listings er- se für die Internationalisierung. Diese werden zu richten. setzt werden. Am schnellsten findet man diese einer einzigen Erweiterung zusammengefasst, so- Zeile durch Suche nach „<file>“. dass sie zusammen geladen werden. LXDE & Openbox Zunächst ist es notwendig in der Konfigurationsda- /usr/local/tce.openbox.xml ondemand.xml Hierzu erstellt man zum Beispiel eine Liste na- tei /mnt/sdXn/boot/extlinux.conf den Boot- system-tools.xml mens libreoffice.liste: Parameter „desktop=openbox“ abzuändern. Da- menu.xml mit wird die angesprochene Unterstützung durch libreoffice dCore aktiviert. libreoffice-help-de Listing 3: lxde-rc.xml libreoffice-l10n-de Um trotzdem LXDE zu starten, wird in der Datei Danach wählt man im Openbox-Menü „Reconfigu- Listing 2: libreoffice.liste ~/.xinitrc die Zeile re Openbox “, worauf das „on demand“-Menü mit dem Eintrag „libreoffice“ erscheint. Damit kann Mittels sce-import -l libreoffice.liste $DESKTOP 2>/tmp/wm_errors & diese Erweiterung geladen und gestartet werden. werden die zugehörigen Pakete zusammenge- sucht und zu einer Erweiterung gebündelt. Die geändert zu: Um das Openbox-Menü stets zugänglich zu hal- Liste kann danach gelöscht werden, denn sie ten, lohnt es sich, an einem Rand des Desktops wurde in den Ordner tce/ übernommen. startlxde 2>/tmp/wm_errors &

Mittels sce-load libreoffice wird die Erweite- Nach einem Neustart, welcher mit „System Tools rung geladen und steht danach im Startmenü von → Exit “ eingeleitet wird, hat sich scheinbar nichts LXDE zur Verfügung. geändert. Nach wie vor strahlt einem ein LXDE- Desktop entgegen, und von einem Ondemand- On demand Menü ist nichts zu sehen. Hierfür ist es zuerst ein- Eine rein graphische Art Applikationen zu mal notwendig, das Openbox-Menü anzeigen zu starten, bietet der sogenannte „on demand“- lassen. Im Abschnitt „Advanced“ von „Preferences Mechanismus. Mittels ondemand libreoffice → Desktop Preferences“ kann man die Anzeige wird ein Startskript angelegt, welches mit einem des Fenstermanagermenüs bei Rechtsklick auf Menüeintrag verbunden ist. den Desktop erlauben. Das Openbox-Menü muss extra aktiviert werden, Leider wird LXDE jedoch nicht direkt unterstützt, In der Standardeinstellung enthält dieses Me- damit es bei Rechtsklick auf den Desktop weshalb das entsprechende Menü fehlt. dCore un- nü nichts Neues. Weiter muss in der Datei angezeigt wird.

© freiesMagazin CC-BY-SA 4.0 Ausgabe 02/20165 DISTRIBUTION ein Pixel frei zu halten, sodass dort stets ein Individuelle Startskripte Einschätzung Rechtsklick auf den Desktop möglich ist. Diese Möchte man zum Beispiel den Browser Firefox Nach Aussage von Hauptentwickler Jason Wil- Einstellung kann im Bereich „Margins“ des Open- nutzen, so ist man auf eine funktionierende Netz- liams ist dCore „a fast moving target “. Mittlerweile box Konfigurationsmanagers getätigt werden. werkverbindung angewiesen. Angenommen, man bewegt es sich jedoch in recht ruhigen Schritten verwendet WLAN, so muss zuerst diese Verbin- voran, sodass es als stabil bezeichnet werden dung aufgebaut werden, bevor Firefox genutzt darf. Neben dCore wird auch TinyCore aktiv wei- werden kann. Somit müssen zwei Erweiterungen ter entwickelt; gegenwärtig ist Version 6.4 aktuell geladen und gestartet werden, was von Hand mit (Stand November 2015). der Zeit mühselig erscheint. Mit dem „on demand“- Mechanismus lässt sich dies elegant vereinfa- dCore bietet ein außerordentlich stabiles, leicht- chen. gewichtiges System, welches nach eigenen Wün- schen zusammengestellt und eingerichtet werden Zunächst erstellt man die Liste firefox.liste kann. Der Kompromiss zwischen Geschwindig- und erstellt anschließend daraus mittels der Ein- keit und Komfort fällt sehr positiv ins Gewicht. Im Das Openbox-Menü zeigt den „korrekten“ gabe sce-import -l firefox.liste eine Er- Gegensatz zu den großen Distributionen laufen Exit-Befehl, welcher für dCore benötigt wird. weiterung. nur diejenigen Programme, welche man wirklich Insbesondere werden dabei auch die benötigt, und im Gegensatz zu anderen leicht- firefox gewichtigen Distributionen hat man Zugriff auf persistenten Dateien gespeichert. firefox-locale-de dasselbe Angebot an Applikationen wie bei einer Listing 4: firefox.liste großen Distribution.

Mit dem Befehl ondemand firefox wird un- Upgrade ter /etc/sysconfig/tcedir/ondemand/ das Das dCore-Basissystem besteht zur Hauptsache Skript „firefox“ angelegt. Dessen Inhalt wird ange- aus dem Linux-Kern sowie den Startskripten. Die passt wie im Listing firefox angegeben, um vor verschiedenen Versionen unterscheiden sich prak- dem Start des Browsers die WLAN-Verbindung tisch nicht in der Installation, und ein nachträgli- aufzubauen. ches Upgrade von Kernel und InitRD ist problem- los. Beim Software-Stand stehen einem jedoch #!/bin/sh aktuellere Applikationen zur Verfügung. sce-load wireless-3.16.6-tinycore sce-load wireless So gesehen gibt es keinen Grund, die Beispiel- cliorx sudo wifi.sh Vom Untermenü „Ondemand“ aus können ondemand -e firefox.sce installation auf Ubuntu Trusty ruhen zu lassen. Erweiterungen geladen werden, damit sie Es sei dem geneigten Leser als Übungsaufgabe nachher im LXDE-Startmenü verfügbar sind. Listing 5: firefox überlassen, selber Hand anzulegen. Nach erfolg-

© freiesMagazin CC-BY-SA 4.0 Ausgabe 02/20166 DISTRIBUTION tem Austausch von Kernel und InitRD werden die Software-Stand einer aktuellen Ubuntu-Version geht auf Kosten des Kitts, welcher die Einheiten Applikationen mit sce-update aktualisiert. erreichen, ohne dass man ein derart schwerge- mit den Sockel verbindet. Konkret geht es um wichtiges System installieren müsste. die Start- und Installationsskripte, welche teilwei- dCore eignet sich sehr gut zur Installation auf äl- se angepasst werden müssen, bevor sie auf den teren Maschinen. Es ist eine wahre Freude zu dCore mit Window-Manager dCore-eigenen Repositorien verfügbar sind. Dies sehen, wie flüssig die Arbeit auch auf „ehrenwer- Bei der hier vorgestellten Installation handelt es betrifft jedoch längst nicht alle Applikationen, so- ten“ Geräten vonstatten geht. Für den alltäglichen sich um die „Luxusversion“ eines leichtgewich- dass sich der Aufwand für Entwickler und Com- Gebrauch wird man die Installation auf einer Fest- tigen Systems. Anstatt LXDE können selbstver- munity in Grenzen hält. platte vornehmen. Das Vorgehen ist identisch mit ständlich einfachere Window-Manager eingesetzt dem hier vorgestellten und ist im Wiki [3] ausführ- werden, um das System zu entschlacken und zu Weitere Informationsquellen lich beschrieben. optimieren. Die Readme-Seiten [6] zur Installation geben kon- krete Zusatzhinweise. dCore mit LXDE Dabei gilt es zu beachten, dass der „on Der hier behandelte LXDE-Desktop zeigt, was demand“-Mechanismus nur für die folgenden Das Wiki [3] enthält weitere Beispielinstallation man diesbezüglich erwarten kann. Da es sich Window-Manager eingerichtet ist: , FL- sowie ausführliche Informationen zur Arbeit mit um eine Beispielinstallation handelt, wurden etli- WM, Hackedbox, Icewm, Jwm-snapshot, Jwm und Erweiterungen. che Punkte weggelassen, welche u. a. im dCore- Openbox. Diese Einschränkung stammt von Ti- Wiki [3] detailliert besprochen werden: nyCore, von welchem dCore diese Funktionalität Für direkte Anfragen eignet sich das dCore- übernimmt. Forum [4] besonders gut. Man kann mit einer  Bereitschafts- oder Ruhezustand umgehenden Antwort der beteiligten Entwickler  NetworkManager zur komfortableren Verwal- Standard ist FLWM [5] mit Wbar als Panel, zu wel- rechnen. tung der Netzwerkverbindungen chem nötigenfalls ein Dock hinzugefügt werden  Angepasste Konfiguration des LXDE-Desktops muss. Als technische Referenz eignet sich das Core- (insbesondere ein Exit-Button anstatt desjeni- Book [7] besonders für die mannigfaltigen Boot- gen von LXDE, welcher nicht funktioniert) Einschränkung Codes. Zwar bezieht es sich auf TinyCore, des-  Verwendung weiterer Paketquellen inkl. PPAs Das Grundkonzept, einer minimalen Basisinstalla- sen Basisinstallation jedoch quasi baugleich mit  Java und Flash im Browser tion Zugriff auf die riesigen Bestände der Ubuntu- derjenigen von dCore ist.  OwnCloud-Synchronisation beziehungsweise Debian-Quellen zu geben, ent- koppelt die Software vom jeweiligen Grundsys- Anhang Eine solche Installation entspricht ungefähr ei- tem. Anstatt eines vorkonfigurierten Wolkenkrat- InitRD ner aktuellen -Installation. Im Gegenteil zers mit Betonsockel baut man sich sein eigenes Die meisten „regulären“ Distributionen verwenden zu einer solchen lässt sie aber auch ein betag- Mobil-Home, indem man einzelne Wohneinheiten eine initiale RAM-Disk (InitRD), um dem Linux- tes Netbook noch respektable Sprünge vollführen. auf einen Laster auflädt. Wie gesehen gewinnt Kern in der Startphase zusätzliche Treibermodule Dank der Modularität von dCore lässt sich der man dabei an Flexibilität. Die Modularität jedoch zur Verfügung zu stellen. Damit kann auch ein ge-

© freiesMagazin CC-BY-SA 4.0 Ausgabe 02/20167 DISTRIBUTION nerischer Kern das Wurzeldateisystem beispiels- geschieht. Deshalb wird das Grundsystem mini- /home/ und /opt/ persistent gemacht. Letzteres weise auch von LVM, RAID oder verschlüsselten mal gehalten, was sich zum Beispiel darin zeigt, enthält insbesondere alle importierten Erweiterun- Partitionen laden. dass oftmals Busybox anstelle der GNU Coreutils gen, weshalb beide Verzeichnisse recht umfang- zum Einsatz kommt. Die InitRD von dCore ist ca. reich sein können. Die InitRD umfasst ein gepacktes Dateisystem, 10 MB groß. welches vom Kern im RAM entpackt und ein- Da das Ver- und Entpacken eines -Archivs hängt wird. Daraufhin wird der darin enthaltene Persistenz recht zeitaufwändig ist, wird man beide Verzeich- Init-Prozess gestartet. Üblicherweise hängt die- Ein Live-System kann mit verschiedenen Metho- nisse gerne von einem herkömmlichen Dateisys- ser ein beschreibbares Wurzeldateisystem von den um ein persistentes Dateisystem ergänzt tem einbinden wie in der besprochenen Beispiel- einem Datenträger ein, und lässt sich durch den werden. Der gebräuchlichste Weg verwendet ein installation. eigentlichen Init-Prozess ablösen. beschreibbares Overlay-Dateisystem [8]. Ein sol- LINKS ches kann transparent über das Wurzeldateisys- [1] http://tinycorelinux.net/dCore/x86/release/ Ein System, das im RAM läuft, verlässt die In- tem gelegt werden. Geänderte oder gelöschte Da- [2] http://tinycorelinux.net/downloads.html itRD jedoch nicht und belässt das Wurzeldateisys- teien werden punktuell überdeckt, sodass im Ge- [3] http://wiki.tinycorelinux.net/dcore:welcome tem im RAM. Damit gewinnt man Geschwindig- samten der Eindruck eines beschreibbaren Wur- [4] http://forum.tinycorelinux.net/index.php/ keit, weil die vielen Systemdateien nicht einzeln zeldateisystems entsteht. board,66.0.html von einem Datenträger geladen werden müssen. [5] https://en.wikipedia.org/wiki/FLWM Andererseits können die Dateien nicht verändert dCore beschreitet einen anderen Weg. Da alle [6] http://tinycorelinux.net/dCore/x86/READ werden, weil die InitRD grundsätzlich nur lesbar Dateien in einem RAM-Dateisystem liegen, kön- ME/ ist. nen sie im Betrieb direkt verändert werden. Um [7] http://distro.ibiblio.org/tinycorelinux/corebook. Dateien oder Ordner persistent zu machen, lis- pdf Letzteres bringt zunächst die Einschränkungen tet der Benutzer ihren Namen (ohne führenden [8] https://en.wikipedia.org/wiki/Category:Union_ mit sich, dass Konfigurationsdateien, zum Beispiel Schrägstrich!) in der Datei /opt/.filetool.lst. file_systems unter /etc/ nicht dauerhaft verändert werden Beim Herunterfahren werden diese Dateien ins Ar- /opt/mydata.tgz können. Prinzipiell sind solche Systeme dadurch chiv gepackt – sofern vor dem Autoreninformation sozusagen „unkaputtbar“, weil das Grundsystem eigentlichen Shutdown-Kommando das Skript nach jedem Neustart wieder in den Ursprungs- backup.sh aufgerufen wird. Beim grafischen Ab- Stefan Müller verwendet gerne zustand zurückkehrt. Methoden um trotzdem Da- meldedialog ist das der Fall, auf der Kommando- Linux-Installationen auf Tablet PCs. teien dauerhaft im System zu speichern werden zeile muss das Skript jedoch manuell aufgerufen Beruflich versucht er jungen Men- unten diskutiert. werden. schen die Freiheit in der (Informatik- )Welt näher zu bringen. Zuletzt muss noch erwähnt werden, dass die Grö- Beim Hochfahren werden die Dateien wieder ins ße der InitRD natürlich gering gehalten werden RAM-Dateisystem geschrieben und stehen so sollte, damit das Entpacken in annehmbarer Zeit zur Verfügung. In der Grundeinstellung werden Teilen Kommentieren

© freiesMagazin CC-BY-SA 4.0 Ausgabe 02/20168