{"id":4747,"date":"2011-11-22T23:10:30","date_gmt":"2011-11-22T22:10:30","guid":{"rendered":"https:\/\/www.gambaru.de\/blog\/?p=4747"},"modified":"2019-10-16T14:45:11","modified_gmt":"2019-10-16T12:45:11","slug":"linux-im-ram-tinycore-am-beispiel-xorg-server-remastern","status":"publish","type":"post","link":"https:\/\/gambaru.de\/blog\/2011\/11\/22\/linux-im-ram-tinycore-am-beispiel-xorg-server-remastern\/","title":{"rendered":"Linux im RAM: TinyCore am Beispiel Xorg-Server remastern"},"content":{"rendered":"<p>Vergangene Woche habe ich begonnen TinyCore etwas genauer unter die Lupe zu nehmen und die kleine Linuxdistribution <a href=\"https:\/\/www.gambaru.de\/blog\/2011\/11\/16\/linux-im-ram-tinycore-auf-einem-usb-stick\/\">auf einen USB-Stick installiert<\/a>, von dem aus schlie\u00dflich 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\u00fcnlich-blauen Schleier. Ich habe zwar noch eine Weile im Internet recherchiert, konnte aber keine L\u00f6sung zu dem XVesa-Problem finden.<br \/>\nEs wurde also Zeit TinyCore zu remastern, was in der Fachsprache dieser Linuxdistribution nichts anderes bedeutet als zus\u00e4tzliche Softwarepakete zu installieren, \u00fcberfl\u00fcssige zu deinstallieren und die Stellschraube an der oder anderen Config-Datei zu drehen. TC bietet hier verschiedene L\u00f6sungsm\u00f6glichkeiten an:<\/p>\n<ol>\n<li>Die <a href=\"http:\/\/wiki.tinycorelinux.net\/wiki:remastering\">Zu-Fu\u00df-Methode<\/a> auf der Kommandozeile<\/li>\n<li><a href=\"http:\/\/wiki.tinycorelinux.net\/wiki:remastering_with_qremaster\">qremaster<\/a><\/li>\n<li><a href=\"http:\/\/wiki.tinycorelinux.net\/wiki:remastering_with_ezremaster\">Ezremaster<\/a><\/li>\n<\/ol>\n<p>Alle drei Methoden haben Vor-und Nachteile. Die Zu-Fu\u00df-Methode setzt voraus, dass man sich wohl auf der Konsole f\u00fchlt, qremaster ist ein Shellskript, welches den Vorgang stark vereinfacht und Ezremaster ist ein grafisches Frontend, welches den gesamten Vorgang noch besser visualisiert und m\u00f6glicherweise am intuitivsten ist.<\/p>\n<h2>TinyCore mit Hilfe von Ezremaster erweitern<\/h2>\n<ol>\n<li>\n<h3>Pfad zum TinyCore-Abbild und zum tempor\u00e4ren Verzeichnis<\/h3>\n<p><a href=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_11-1.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-4750 size-medium\" title=\"20111122_TinyCore_Ezremaster_1\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_11-1-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_11-1-300x225.jpg 300w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_11-1-768x576.jpg 768w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_11-1.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nIm ersten Schritt w\u00e4hlt 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\u00fcr mich war das <em>\/mnt\/sr0<\/em> in Virtualbox. F\u00fcr den Vorgang des Remasterns ist ein tempor\u00e4res Verzeichnis notwendig, welches standardm\u00e4\u00dfig <em>\/tmp\/ezremaster<\/em> ist. Wer sehr viele Extensions, also neue Pakete, installieren m\u00f6chte, sollte dar\u00fcber nachdenken das Verzeichnis ggf. au\u00dferhalb von \/tmp anzulegen, vor allem wenn RAM knapp ist.<\/li>\n<li>\n<h3>Boot-Codes und Backup<\/h3>\n<p><a href=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_21-1.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-4752 size-medium\" title=\"20111122_TinyCore_Ezremaster_2\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_21-1-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_21-1-300x225.jpg 300w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_21-1-768x576.jpg 768w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_21-1.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nAls n\u00e4chstes l\u00e4sst sich festlegen, mit welchen <a href=\"http:\/\/wiki.tinycorelinux.net\/wiki:boot_codes_explained\">Boot Codes<\/a> TinyCore gestartet werden soll. F\u00fcr mich musste ich hier keine Einstellungen vornehmen. Wer aber z.B. Probleme mit der Aufl\u00f6sung hat, kann hier einen entsprechenden Parameter wie <em>vga=791<\/em> f\u00fcr 1024x768 \u00fcbergeben. Die sogenannte Backupdatei bietet die M\u00f6glichkeit gesicherte Einstellungen aus einer anderen TC-Installation in das neue Abbild zu \u00fcbernehmen.<\/li>\n<li>\n<h3>Extensions installieren<\/h3>\n<p><a href=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_31-1.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-4753 size-medium\" title=\"20111122_TinyCore_Ezremaster_3\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_31-1-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_31-1-300x225.jpg 300w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_31-1-768x576.jpg 768w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_31-1.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nDer dritte Schritt ist das Installieren der zus\u00e4tzlichen Software. Damit mein Thinkpad 600 wieder ein klares Bild liefert, habe ich mich f\u00fcr <strong>Xorg-7.6<\/strong> 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\u00f6glichkeiten laut <a href=\"http:\/\/wiki.tinycorelinux.net\/wiki:remastering_with_ezremaster\">TinyCore Wiki<\/a>.<\/p>\n<ul>\n<li><strong>Add App Outside initrd on boot \/ Add App Outside initrd.<\/strong> Diese Optionen werden die Erweiterungen im ISO-Image unter <em>\/tce\/optional<\/em> installieren. W\u00e4hlt man <em>Outside initrd apps on boot<\/em> werden die Extensions zus\u00e4tzlich in der Datei <em>\/tce\/optional\/onboot.lst<\/em> aufgef\u00fchrt, so dass sie automatisch beim Booten in den Arbeitsspeicher geladen werden. Die Methode Erweiterungen au\u00dferhalb der initial ramdisk zu installieren hat den Vorteil, dass weniger RAM notwendig ist um die Programme auszuf\u00fchren. Die CD oder der USB-Stick darf dann aber nicht entfernt werden. Des Weiteren gibt es noch die M\u00f6glichkeit \"copy2fs.flg\" zu setzen, was dazu f\u00fchrt, dass die Erweiterung beim Booten schon in den RAM kopiert werden und das Installationsmedium danach entfernt werden kann. Das f\u00fchrt aber wieder zu mehr Speicherverbrauch.<\/li>\n<li><strong>Add App inside initrd on boot \/ Add App inside initrd.<\/strong> Diese Option installiert die Erweiterungen in die Initial-RAM-Disk (tinycore.gz) unter <em>\/opt\/tce\/optional<\/em>. Wenn man \"Inside initrd on boot\" ausgew\u00e4hlt hat, werden die Namen der Extensions in die Datei <em>\/opt\/tce\/optional\/onboot.lst<\/em> 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\u00fcgend Arbeitsspeicher zur Verf\u00fcgung hat.<\/li>\n<li><strong>Add App Extract TCZ to initrd.<\/strong> 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\u00f6\u00dferem Speicherverbrauch, da nun die Extensions nicht mehr als komprimierte TCZ-Dateien vorliegen.<\/li>\n<\/ul>\n<p>Ich habe mich f\u00fcr \"Add App inside initrd on boot\" entschieden, da ich sp\u00e4ter alle Anwendungen im RAM laufen lassen und den USB-Stick entfernen m\u00f6chte.<\/li>\n<li>\n<h3>Remaster-Prozess: Anfang<\/h3>\n<p><a href=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_41-1.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-4756 size-medium\" title=\"20111122_TinyCore_Ezremaster_4\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_41-1-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_41-1-300x225.jpg 300w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_41-1-768x576.jpg 768w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_41-1.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nAb hier beginnt das eigentliche Remastern. Wer den Vorgang im Terminal beobachten m\u00f6chte, w\u00e4hlt einfach die Checkbox aus. Der Vorgang kann, je nach dem wie viele Erweiterungen installiert werden sollen, eine Weile dauern.<\/li>\n<li>\n<h3>Remaster-Prozess: Finale<\/h3>\n<p><a href=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_51-1.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-4757 size-medium\" title=\"20111122_TinyCore_Ezremaster_5\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_51-1-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_51-1-300x225.jpg 300w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_51-1-768x576.jpg 768w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_Ezremaster_51-1.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nIm letzten Schritt wird schlie\u00dflich eine neue ISO-Datei erstellt, die sich danach erneut auf eine CD schreiben oder in Virtualbox mounten l\u00e4sst. Bevor das aber geschieht, kann man ab jetzt noch verschiedene Konfigurationsdateien \u00e4ndern und Ver\u00e4nderungen am Dateisystem selbst vornehmen. Wie in Schritt 3. schon erkl\u00e4rt, befinden sich die Extensions sp\u00e4ter in \/opt\/tce\/optional. Hat man den Standardpfad f\u00fcr die tempor\u00e4ren Dateien beibehalten, findet man die Erweiterungen vor dem Erstellen der ISO-Datei unter <em>\/tmp\/ezremaster\/extract\/opt\/tce\/optional<\/em> und kann \u00fcberpr\u00fcfen, ob zuvor alles glatt gelaufen ist.<br \/>\nIm Verzeichnis <em>\/tmp\/ezremaster\/image\/cde\/optional<\/em> befinden sich die Erweiterungen f\u00fcr 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.<br \/>\nWenn man wieder alles auf einen USB-Stick schreiben m\u00f6chte, muss man nur die neue Datei tinycore.gz in <em>\/tmp\/ezremaster\/image\/boot\/<\/em> ausw\u00e4hlen und wie <a href=\"https:\/\/www.gambaru.de\/blog\/2011\/11\/16\/linux-im-ram-tinycore-auf-einem-usb-stick\/\">im alten Beitrag<\/a> geschrieben weiter verfahren.<\/li>\n<\/ol>\n<h2>Das Ergebnis<\/h2>\n<p><a href=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_hal6001-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-4764 size-medium\" title=\"20111122_TinyCore_hal600\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_hal6001-1-300x225.png\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_hal6001-1-300x225.png 300w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_hal6001-1-768x576.png 768w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/11\/20111122_TinyCore_hal6001-1.png 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nDer X-Server wird automatisch mit Xorg eingerichtet. Insgesamt belegt das System ca. 100 MB im RAM und ist naturgem\u00e4\u00df \u00e4u\u00dferst schnell. Der Speicherverbrauch ist aber noch zu hoch, da ich die zus\u00e4tzlichen Extensions der MultiCore-Version noch nicht entfernt habe. Hier muss ich also in Zukunft noch ein wenig Hand anlegen. Positiv ist auch, dass meine <a href=\"https:\/\/www.gambaru.de\/blog\/2011\/09\/24\/hardware-fur-den-internetzugang-mit-freien-linuxtreibern\/\">ASUS WL-107G WLAN Karte<\/a> automatisch erkannt wurde und mir TinyCores Wifi-Programm nun schon den Access Point anzeigt.<br \/>\nAls n\u00e4chstes werde ich noch Dropbear als SSH-Server und einen Browser installieren und dann....mal schaun. \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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\u00dflich 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\u00fcnlich-blauen Schleier. Ich &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/gambaru.de\/blog\/2011\/11\/22\/linux-im-ram-tinycore-am-beispiel-xorg-server-remastern\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eLinux im RAM: TinyCore am Beispiel Xorg-Server remastern\u201c<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[87,195],"_links":{"self":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/4747"}],"collection":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/comments?post=4747"}],"version-history":[{"count":1,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/4747\/revisions"}],"predecessor-version":[{"id":10944,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/4747\/revisions\/10944"}],"wp:attachment":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/media?parent=4747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/categories?post=4747"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/tags?post=4747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}