Dumbo mit cleverem initramfs-Kernel nutzen

Dumbo hat sich in letzter Zeit immer mehr zu eine Art „must have“-PlugIn für die Dreamboxen entwickelt. Das liegt vor allem an der leichten Installation und Bedienung der Erweiterung. Mit dem „cleveren“ initramfs-Kernel wird das USB-Handling und somit die Benutzung von Dumbo noch mehr vereinfacht.

Was ist Dumbo?

Erstmal eine kleine Einführung an alle, die Dumbo noch nicht kennen. Dumbo ist eine Art vereinfachtes Multiboot und hat nur eine einzige Aufgabe: Die Auslagerung eines einzigen Images auf ein externes Medium, wie einen USB-Stick bei den neueren Dreamboxen oder eine CF-Karte bei der DM7025.

Die Installation und Einrichtung ist denkbar einfach. Man muss Dumbo lediglich installieren, ist ein USB-Stick eingesteckt wird dieser automatisch erkannt und für die Benutzung von Dumbo vorbereitet. Außerdem erstellt Dumbo automatisch auch ein SWAP-File und bindet dieses ein. Die genaue Installation ist im Gemini-Wiki Schritt für Schritt beschrieben.

Nach einer erfolgreichen Installation und Konfiguration startet Dumbo beim Booten das Image automatisch aus dem eingerichteten Medium. Man hat anschießend einen deutlich größeren Speicher zur Verfügung und kann problemlos eine Vielzahl an PlugIns, Skins und was es sonst noch so gibt installieren. Daher kann man die Benutzung von Dumbo nur empfehlen. Spätestens, wenn HbbTV von Dream zusammen mit der DM7020 HD veröffentlicht wird und man dieses auch auf der eigenen DM8000 oder DM800 se benutzen möchte, wird man um eine Vergrößerung des Flash-Speichers nicht mehr herumkommen.

Die bisherige Problematik bei Dumbo (und Multiboot)

Bei aller Einfachheit der Einrichtung und Benutzung von Dumbo gab es bisher immer ein Problem: Steckt man den USB-Stick, auf welchen Dumbo das Image ausgelagert hat, um oder steckt einen weiteren Stick dazu, kann es passieren, dass dieser woanders landet und von Dumbo nicht mehr wiedergefunden wird.

Alle externen Medien, wie auch USB- und eSATA-Festplatten bzw. -Sticks, landen, wie man es von Linux kennt, immer in /dev/sdXY. Dabei werden X und Y der Reihenfolge der Geräte und Partitionen vergeben. Vereinfacht gesagt gab es im BIOS bzw. im Kernel der Dreamboxen bisher nur die Möglichkeit, diesen Pfad zum booten von externen Medien zu nutzen. Steckt man nun einen weiteren USB-Stick an oder den bisherigen, um kann es passieren, dass sich diese Variablen vertauschen und dem USB-Stick mit dem Dumbo-Image nicht mehr /dev/sdb1 sondern /dev/sdc1 zugewiesen wird.

Die Lösung: Jumpin’Jack Flash, ein initramfs-Kernel

Um diese Probleme zu vermeiden, gibt es die Möglichkeit über Labels zu booten. Dies wurde bisher vom in den Dreamboxen genutzten Linux-Kernel nicht unterstützt, doch Gutemine hat einen Kernel-Patch gebastelt.

Nach der Installation von „Jumpin’Jack Flash“ wird statt des bisherigen root=/dev/* auch root=LABEL=* zum Booten unterstützt. Damit kann dem Boot-Medium bspw. das Label „DUMBO“ zugewiesen und anschließend über root=LABEL=DUMBO davon gebootet werden  — unabhängig davon, wo es unter /dev/* liegt (genauer gesagt wird nur Geräten ein Label hinzugefügt, anschließend muss noch die Partition mit rootpart=X angegeben werden).

Der entscheidende Vorteil ist nun, dass man mit dem USB-Stick alles anstellen kann, was man möchte. Ob man diesen umsteckt oder neue USB-Sticks einsteckt, muss man sich beim Booten keine Gedanken mehr machen, ob dieser gefunden wird.

Doch das ist nicht der einzige Vorteil. Durch die Zuweisung von Labels wird auch das Multibooten deutlich einfacher. Für Multiboot wird es so sicherlich deutlich einfacher, die verschiedenen Images zu finden bzw. davon zu booten, wenn entsprechende Labels für jede Partition vergeben werden. Doch was genau uns da erwartet, hat Gutemine noch nicht verraten — da müssen wir noch abwarten und uns überraschen lassen.

Wichtige Hinweise und Voraussetzungen

Der initramfs-Patch funktioniert derzeit nur auf einem aktuellen CVS-Image, wie dem experimentellen Image von DMM. Wer ein anderes Image mit bereits gepatchtem Kernel nutzt, wie es z. B. beim iCVS der Fall ist, würde mit einer Installation von Jumpin’Jack Flash das Image kaputt machen und könnte nicht mehr davon booten.

Außerdem muss auch die neuste Version von Dumbo v0.22 installiert sein. Es muss sichergestellt sein, dass alle Updates und der neuste Secondstage-Loader installiert wurden. Bei der DM8000 und DM500 HD ist dies der Secondstage-Loader #83, bei der DM800 se ist es #82.

Jumpin’Jack Flash lässt sich nicht deinstallieren und wurde von Gutemine nur zum Testen herausgegeben. Daher ist sehr empfehlenswert, mit dFlash ein Backup-Image zu erstellen, um ggf. wieder auf den alten Stand ohne den Kernel-Patch zurückkommen zu können,  ohne alles komplett neu flashen zu müssen. Ein Kernel-Patch stellt immer ein Risiko dar und kann, vor allem wenn er als experimentell bezeichnet wird, das Image instabil machen.

Doch bei all den Warnungen: Wer ein Backup macht, kann es gerne ausprobieren — Gutemine ist auf der Suche nach Testern. Hat man alles beachtet (aktuelles, nicht verändertes CVS-Image im Flash sowie den neusten Secondstage-Loader), sollte eigentlich nichts schief gehen; es gibt erste positive Berichte. Die Installationsschritte sehen in etwa so aus (Danke an Bschaar!):

  1. Ein CVS-Image vom Flash booten (am besten das experimentelle Image von DMM)
  2. Alle verfügbaren Updates installieren (und anschließendes Neustarten nicht vergessen)
  3. Jumpin’Jack Flash installieren
  4. Ggf. Dumbo installieren bzw. auf die neuste Version aktualisieren
  5. In den Dumbo-Einstellungen „Flashkernel“ aktivieren
  6. Image neu auf das Dumbo-Device auspacken

Wurden alle Schritte ausgeführt, sollte Dumbo ab sofort automatisch immer den richtigen USB-Stick zum Booten nutzen, egal wie man diesen umsteckt oder andere Sticks dazu steckt. Wir können gespannt sein, wie Gutemine initramfs für das Multiboot-PlugIn nutzen wird und was uns da noch alles bevorsteht. Vielleicht schafft es dieser Kernel-Patch auch irgendwann einmal ins CVS.

Weitere Infos zu Jumpin’Jack Flash sowie alle nötigen Pakete und Support gibt es im IhaD-Board. Da das ganze noch hochgradig experimentell ist, würde sich Gutemine sicherlich freuen, wenn jeder seine Erfahrungen mit der Installation und Benutzung in den Thread schreibt.

Die aktuelle Version von Dumbo findet sich übrigens hier.

Ähnliche Beiträge:

10 Gedanken zu „Dumbo mit cleverem initramfs-Kernel nutzen“

  1. Das Problem ist aber das viel zu wenige Leute mittesten, um es möglichst rasch fertig zu machen.

    Also liebe Dreambox Besitzer tragt was bei und TESTET initramfs !

    LG
    gutemine

Schreibe einen Kommentar

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