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 1024x768 ü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. 😉

5 Replies to “Linux im RAM: TinyCore am Beispiel Xorg-Server remastern”

  1. Vielen Dank für die tolle Beschreibung! Beim lesen habe ich mir die Frage gestellt, ob es nicht auch möglich wäre, tiny core mit Virtualbox zu installieren, die Installation so anzupassen, wie man sie haben möchte und dann aus dieser Virtualbox Installation wieder ein iso zu packen? Das wäre doch das Einfachste oder? Weißt du ob das geht?

  2. Hallo,
    Danke für Ihre klare Beschreibung des Remaster-prozess von TinyCore. Es ist sehr behilflich. Trotzdem habe ich eine Frage mit welcher Sie mir vielleicht weiter helfen können.
    Ich möchte ein PC ohne Festplatte haben den ich von ein CD-ROM starten kann. Ich brauche nur ein up-to-date Webbrowser und vielleicht einige einfache Programmen. TinyCore scheint mir dafür sehr geeignet.
    Ich habe Version 7.2 heruntergeladen und aus dem Repository Firefox installiert. Das war Version 45. Mit firefox_getLatest.tcz konnte die Version aktualisiert worden (50.1). Nachdem ich das auf eine (zeitliche) Festplatte gemacht habe, möchte ich von diese Installation ein iso-Datei machen mit EZ-remaster. Dabei muss ich in Ihrem Schritt 3 die Extension aus dem Repo wählen, wobei nur firefox-ESR und firefox_getLatest zur Verfügung stehen. Hierbei wird die alte Version (45) in den ISO gepackt und nicht die bereits installierte up-to-date Version.
    Die Frage ist, können installierte Programmen gewählt worden um in den ISO gepackt zu worden.
    Ich hoffe Sie können mir hiermit etwas weiter helfen.
    Im Voraus vielen Dank.

  3. Hallo,
    vielen Dank für Ihren Kommentar. Sie könnten versuchen die neue Firefox-Version in ein neues *.tcz-Paket zu verpacken und dann versuchen es als Erweiterung auf ihr angepasstes TinyCore zu installieren. Für konkrete Fragen zu dieser Thematik empfehle ich aber das offizielle Forum. http://forum.tinycorelinux.net/
    Ich würde vermutlich firefox_getlatest installieren und in Kauf nehmen, bei jedem Neustart Firefox erneut aus dem Internet zu installieren. Das kommt immer auf den Anwendungsfall an. Firefox erhält häufig Sicherheitsupdates, deswegen macht es nicht so viel Sinn die Version 50.1 auf die remasterte CD zu packen, da diese nach einer Weile sowieso wieder veraltet ist und da TinyCore keine Sicherheitsupdates wie z.B. Debian anbietet, bleibt einem immer nur die neueste Version zu installieren.
    Ich müsste selbst nachschaun wie man bereits installierte Software „remastert“, aber ich bin ziemlich sicher, dass das funktioniert. Im Forum wird man Ihnen sicher besser weiterhelfen können.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.