Linux im RAM: TinyCore am Beispiel Xorg-Server remastern

Vergangene Woche habe ich begonnen TinyCore etwas genauer unter die Lupe zu nehmen und die kleine Linuxdistribution auf einen USB-Stick installiert, von dem aus schließlich alles in den RAM meines Thinkpad 600 kopiert werden konnte. Noch nicht alles war perfekt. Der voreingestellte XVesa-Treiber versperrte mir den Blick auf den Desktop mit einem grünlich-blauen Schleier. Ich habe zwar noch eine Weile im Internet recherchiert, konnte aber keine Lösung zu dem XVesa-Problem finden.

Es wurde also Zeit TinyCore zu remastern, was in der Fachsprache dieser Linuxdistribution nichts anderes bedeutet als zusätzliche Softwarepakete zu installieren, überflüssige zu deinstallieren und die Stellschraube an der oder anderen Config-Datei zu drehen. TC bietet hier verschiedene Lösungsmöglichkeiten an:

  1. Die Zu-Fuß-Methode auf der Kommandozeile
  2. qremaster
  3. Ezremaster

Alle drei Methoden haben Vor-und Nachteile. Die Zu-Fuß-Methode setzt voraus, dass man sich wohl auf der Konsole fühlt, qremaster ist ein Shellskript, welches den Vorgang stark vereinfacht und Ezremaster ist ein grafisches Frontend, welches den gesamten Vorgang noch besser visualisiert und möglicherweise am intuitivsten ist.

TinyCore mit Hilfe von Ezremaster erweitern

  1. Pfad zum TinyCore-Abbild und zum temporären Verzeichnis

    Im ersten Schritt wählt man das Verzeichnis, indem sich entweder das multicore.iso, tinycore.iso, microcore.iso oder eine gemountete CD befindet. Die ISO-Dateien als Loop Device zu mounten funktioniert auch. Für mich war das /mnt/sr0 in Virtualbox. Für den Vorgang des Remasterns ist ein temporäres Verzeichnis notwendig, welches standardmäßig /tmp/ezremaster ist. Wer sehr viele Extensions, also neue Pakete, installieren möchte, sollte darüber nachdenken das Verzeichnis ggf. außerhalb von /tmp anzulegen, vor allem wenn RAM knapp ist.

  2. Boot-Codes und Backup

    Als nächstes lässt sich festlegen, mit welchen Boot Codes TinyCore gestartet werden soll. Für mich musste ich hier keine Einstellungen vornehmen. Wer aber z.B. Probleme mit der Auflösung hat, kann hier einen entsprechenden Parameter wie vga=791 für 1024×768 übergeben. Die sogenannte Backupdatei bietet die Möglichkeit gesicherte Einstellungen aus einer anderen TC-Installation in das neue Abbild zu übernehmen.

  3. Extensions installieren

    Der dritte Schritt ist das Installieren der zusätzlichen Software. Damit mein Thinkpad 600 wieder ein klares Bild liefert, habe ich mich für Xorg-7.6 entschieden, wozu ich mich zuerst mit dem Repositorium von TinyCore verbinden musste. Mit einem Klick auf „Connect to App Repo“ ist dieses Thema abgehakt. Danach hat man folgende Möglichkeiten laut TinyCore Wiki.

    • Add App Outside initrd on boot / Add App Outside initrd. Diese Optionen werden die Erweiterungen im ISO-Image unter /tce/optional installieren. Wählt man Outside initrd apps on boot werden die Extensions zusätzlich in der Datei /tce/optional/onboot.lst aufgeführt, so dass sie automatisch beim Booten in den Arbeitsspeicher geladen werden. Die Methode Erweiterungen außerhalb der initial ramdisk zu installieren hat den Vorteil, dass weniger RAM notwendig ist um die Programme auszuführen. Die CD oder der USB-Stick darf dann aber nicht entfernt werden. Des Weiteren gibt es noch die Möglichkeit „copy2fs.flg“ zu setzen, was dazu führt, dass die Erweiterung beim Booten schon in den RAM kopiert werden und das Installationsmedium danach entfernt werden kann. Das führt aber wieder zu mehr Speicherverbrauch.
    • Add App inside initrd on boot / Add App inside initrd. Diese Option installiert die Erweiterungen in die Initial-RAM-Disk (tinycore.gz) unter /opt/tce/optional. Wenn man „Inside initrd on boot“ ausgewählt hat, werden die Namen der Extensions in die Datei /opt/tce/optional/onboot.lst geschrieben, so dass sie direkt beim Booten in den RAM kopiert werden und die CD/USB-Stick danach entfernt werden kann. Eine gute Methode, wenn man genügend Arbeitsspeicher zur Verfügung hat.
    • Add App Extract TCZ to initrd. Bei dieser Methode wird jede Extension beim Remasterprozess gemountet und in die extrahierte initrd installiert. Das soll eine bessere Performance als die „inside initrd“ Option liefern bei gleichzeitig aber etwas größerem Speicherverbrauch, da nun die Extensions nicht mehr als komprimierte TCZ-Dateien vorliegen.

    Ich habe mich für „Add App inside initrd on boot“ entschieden, da ich später alle Anwendungen im RAM laufen lassen und den USB-Stick entfernen möchte.

  4. Remaster-Prozess: Anfang

    Ab hier beginnt das eigentliche Remastern. Wer den Vorgang im Terminal beobachten möchte, wählt einfach die Checkbox aus. Der Vorgang kann, je nach dem wie viele Erweiterungen installiert werden sollen, eine Weile dauern.

  5. Remaster-Prozess: Finale

    Im letzten Schritt wird schließlich eine neue ISO-Datei erstellt, die sich danach erneut auf eine CD schreiben oder in Virtualbox mounten lässt. Bevor das aber geschieht, kann man ab jetzt noch verschiedene Konfigurationsdateien ändern und Veränderungen am Dateisystem selbst vornehmen. Wie in Schritt 3. schon erklärt, befinden sich die Extensions später in /opt/tce/optional. Hat man den Standardpfad für die temporären Dateien beibehalten, findet man die Erweiterungen vor dem Erstellen der ISO-Datei unter /tmp/ezremaster/extract/opt/tce/optional und kann überprüfen, ob zuvor alles glatt gelaufen ist.

    Im Verzeichnis /tmp/ezremaster/image/cde/optional befinden sich die Erweiterungen für die MultiCore-Version. Falls man in der neu erstellten ISO-Version auf die Tools zum Remastern verzichten kann, ist hier der richtige Ort um sie zu entfernen.

    Wenn man wieder alles auf einen USB-Stick schreiben möchte, muss man nur die neue Datei tinycore.gz in /tmp/ezremaster/image/boot/ auswählen und wie im alten Beitrag geschrieben weiter verfahren.

Das Ergebnis

Der X-Server wird automatisch mit Xorg eingerichtet. Insgesamt belegt das System ca. 100 MB im RAM und ist naturgemäß äußerst schnell. Der Speicherverbrauch ist aber noch zu hoch, da ich die zusätzlichen Extensions der MultiCore-Version noch nicht entfernt habe. Hier muss ich also in Zukunft noch ein wenig Hand anlegen. Positiv ist auch, dass meine ASUS WL-107G WLAN Karte automatisch erkannt wurde und mir TinyCores Wifi-Programm nun schon den Access Point anzeigt.

Als nächstes werde ich noch Dropbear als SSH-Server und einen Browser installieren und dann….mal schaun. 😉

2 Kommentare zu Linux im RAM: TinyCore am Beispiel Xorg-Server remastern

Schreibe einen Kommentar

Du kannst diese HTML tags benutzen

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>