MediaBoot Script

Aus Gemini-Wiki
Wechseln zu: Navigation, Suche
Deutsch.png - in Deutsch English.png - in English

Das Media-Boot Skript von emanuel installiert ein Image auf ein Speichermedium wie z.B. USB, CF, SD oder SSD, inklusive dem GP3 Feed.

Nach dem Ausführen des Skriptes wird das Speichermedium in drei Partitionen (boot, swap und root) aufgeteilt. Anschliessend wird das Image (als tar.bz2 Archiv) runter geladen und auf das Speichermedium entpackt.

Nach einen automatischen Neustart bootet die Dreambox vom Speichermedium und bietet genug Speicherplatz für eure Vorhaben. Interessant z.B. für die DM800se mit etwas knappen Flashspeicher ;)

Das Media-Boot Skript liegt in zwei Versionen vor. Ihr könnt euch zwischen folgenden OE 2.0 basierenden Images entscheiden.

  • media-boot (DMM exp. OE 2.0)
  • merlin-media-boot (Merlin 3 OE 2.0)

Inhaltsverzeichnis

Voraussetzungen:

  • DM500HD mit einem USB Mod. Ohne USB Mod. funktioniert es auch wie hier beschrieben, aber das sichern/wiederherstellen von Images dauert erheblich länger.
  • DM800se, DM8000HD oder DM7020HD.
  • Ein Image mit aktuellem Second Stage-Loader im Flashspeicher.
  • Eine funktionierende Internetverbindung.
  • Bios der Dreambox muss korrekt eingestellt sein.
  • Ein Speichermedium grösser 1GB.
  • Bootlog erstellen, wenn das booten nicht startet.
  • Das Speichermedium muss in FAT32 formatiert sein.
  • Anderes Speichermedium benutzen, wenn das booten nicht klappt. Vor allem USB Sticks sind da manchmal problematisch.
  • Media-Boot funktioniert mit einem eingesteckten Speichermedium. Probleme gibt es nur, beim Anstecken von weiteren Speichermedien. Dadurch verschieben sich die Gerätenamen und das Booten ist nicht mehr möglich. Das Problem kann nur durch einen Bootlog und dem editieren der autoexec_*.bat behoben werden.
  • Abschnitt Tipps & Tricks anschauen

Bios Einstellen

Bios - DM 8000 HD PVR
Bios - DM 800 HD se

Die Einstellungen des Bios müssen angepasst werden, damit man von einem angesteckten Medium via FAT booten kann.
Der folgende Abschnitt zeigt die nötigen Anpassungen, für die einzelnen, unterstützten Dreamboxen.

Die USB Unterstützung muss bei allen Boxen aktiviert werden.

Ambox notice.png Verbindung zum Bios herstellen
Das Bios der Box erreicht man auf dem gleichen Weg, wie wenn ein Image via Webbrowser geflasht wird.
Nur muss man mit telnet ip_der_dreambox auf das Bios zugreifen. Dann können die benötigten Einstellungen angepasst werden. Weitere Informationen zum BIOS Zugriff, findet ihr im Wiki Artikel Dreambox Bios.
Ambox notice.png Boot Source auswählen
Habt ihr Probleme mit dem Ändern der Boot Source zwischen Flash / CF / USB, dann benutzt die Page Up oder Page Down Tasten bzw. die Bild ↑ oder Bild ↓ Taste, wenn der Cursor an der entsprechenden Stelle steht. Mac Benutzer, können folgende Kombination benutzen Fn+Shift+↑/↓.

Das folgende Bild zeigt, wie solche Tasten aussehen können ;)

Dumbo Plugin keys example.png

DM 500 HD

Primary boot source: usb [/autoexec_dm500hd.bat]
 
Secondary boot source: flash
 
Enable USB support: [ENABLED]

DM 800HD se

Primary boot source: usb [/autoexec_dm800se.bat]
 
Secondary boot source: flash
 
Enable USB support: [ENABLED]

DM 7020HD

Primary boot source: usb [/autoexec_dm7020hd.bat]
 
Secondary boot source: flash
 
Enable USB support: [ENABLED]

DM 8000HD PVR

Primary boot source: usb [/autoexec_dm8000.bat]
 
Secondary boot source: flash
 
Enable USB support: [ENABLED]

Media-Boot einrichten

Holt euch das gewünschte Skript vom Media-Boot Thread entpackt es und kopiert es anschliessend via FTP auf die Dreambox in das Verzeichnis /home/root.

Stellt sicher, dass das Skript die korrekten Dateirechte besitzt, ansonsten kann es nicht ausgeführt werden. Benutzt dazu folgenden Befehl, wenn ihr via Telnet oder SSH eingeloggt seid. Achtung, der folgende Befehl bezieht sich auch das Skript für ein DMM exp. Image. Benutzt ihr das Skript für Merlin, müsst ihr media-boot immer mit dem Namen merlin-media-boot ersetzen!

chmod 755 media-boot

Media-Boot Skript

Informationen

Informationen über Media-Boot könnt ihr wie folgt abrufen.

root@dm800se:~# ./media-boot --help
 
media-boot: is a script to install dreambox image (OE2) on extern device >= 1GB
 
NOTE:   this script is only for advanced users!
        Make sure the selected device is not your harddisk!!
 
Usage: media-boot -i /dev/sd<a-z>
        install image on selected device /dev/sd<a-z>
 
Usage: media-boot -d
        shows avaible devices on box
 
root@dm800se:~#

Auflisten der verfügbaren Speichermedien

Mit dem folgenden Befehl, könnt ihr die verfügbaren Speichermedien anzeigen. Im folgenden Beispiel (Ausgabe verkürzt) wird eine Festplatte und ein USB Stick mit 8GB gefunden. Der Name des Speichermediums ist wichtig, wenn ihr im nächsten Schritt das Media-Boot Skript startet. Im diesem Beispiel hat der USB Stick den Gerätenamen /dev/sdb.

root@dm800se:~# ./media-boot -d
 
media-boot: found following devices on box:
 
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks  Id System
/dev/sda1               1       60801   488384028+ 83 Linux
 
Disk /dev/sdb: 8006 MB, 8006926336 bytes
84 heads, 6 sectors/track, 31028 cylinders
Units = cylinders of 504 * 512 = 258048 bytes
 
   Device Boot      Start         End      Blocks  Id System
/dev/sdb1               5       31025     7817216   b Win95 FAT32

Media-Boot ausführen

Ambox notice.png Booten von CF/SD-Karte auf der DM8000HD

Vor dem Ausführen von media-boot, muss zwingend folgender Befehl via Kommandozeile ausgeführt werden.

export EXTRA_DEV_ON_BOOT=sdx
sdx muss natürlich mit dem Gerätenamen übereinstimmen, von der CF- oder SD Karte.

Media-Boot wird mit folgendem Befehl gestartet. Benutzt aber bitte den korrekten Gerätenamen, nicht dass ihr aus Versehen eure Festplatte erwischt. Seid bitte geduldig, das initialisieren, runter laden und entpacken des Images dauert eine Weile.

root@dm800se:~# ./media-boot -i /dev/sdb
 
media-boot: installing on device: /dev/sdb
media-boot: stoping automount reboot to get back
media-boot: stoping udev
.
.
.

Nach automatischen Neustart der Box, sollte das Image vom Speichermedium gestartet und bereit sein. Kontrollieren könnt ihr den verfügbaren Speicherplatz mit folgendem Befehl.

df -h

Chkbootmedia installieren

Nachdem die Dreambox erfolgreich vom Speichermedium gestartet ist, muss noch das Paket (chkbootmedia_x.xx_all.ipk) installiert werden. Dieses stellt sicher, das durch Kernelupdates die autoexec_*.bat nicht überschrieben wird. Ansonsten ist ein booten vom Speichermedium nicht mehr möglich.

Holt das Paket von hier und kopiert es via FTP auf die Dreambox in das /tmp Verzeichnis. Installiert das Paket mit folgendem Befehl.

opkg install /tmp/chkbootmedia*

Image sichern / wiederherstellen

Ein Backup erstellen oder wiederherstellen könnt ihr mit folgenden Befehlen. Das Beispiel bezieht sich wieder auf den Gerätenamen /dev/sdb. Den Gerätenamen könnt ihr auch mit dem Befehl fdisk -l herausfinden.

Image sichern

Läuft das Image vom Speichermedium, dann könnt ihr es mit dem dd Befehl sichern. Der Sicherungsort in diesem Beispiel ist die Festplatte und der Dateiname des Backups lautet mein_backup.img. Die Grösse des Backups ist übrigens gleich gross wie das benutzte Speichermedium. Das Sichern dauert eine Weile, seid bitte geduldig und wartet, bis die Kommandozeile wieder bereit ist für neue Befehlseingaben.

dd if=/dev/sdb of=/media/hdd/mein_backup.img

Image wiederherstellen

Startet die Dreambox vom Flashspeicher und benutzt folgenden Befehl für die Wiederherstellung. Stellt sicher, das der Gerätename korrekt ist. Benutzt hier auch wieder den Befehl fdisk -l und zwar gewissenhaft!

Beim Wiederherstellen muss darauf geachtet werden, dass die Grösse der Speichermediums gleich gross (oder grösser ist), wie die der Backupdatei (*.img). Das Wiederherstellen dauert eine Weile, seid bitte geduldig und wartet, bis die Kommandozeile wieder bereit ist für neue Befehlseingaben.

dd if=/media/hdd/mein_backup.img of=/dev/sdb

DM8000HD mit SATA SSD Speichermedium

SSD Power

Media-Boot kann das Image auch auf einem SATA SSD Speichermedium einrichten. Vorteil ist, dass das Image sehr schnell von diesem Medium booten kann. Als Speichermedium kann z.B. der DeLOCK SATA 2GB Flash Modul (vertikal) verwendet werden. Das Speichermedium passt (in der Höhe) perfekt in die DM 8000HD PVR und kann mit dem mitgelieferten Stromkabel ohne Probleme an die Spannungsversorgung der Dreambox angeschlossen werden.

Das BIOS der Dreambox muss auch für das SATA SDD Gerät angepasst werden. Aber nicht wie es oben im Artikel beschrieben ist. Booten kann die Dreambox nur von einem SATA Gerät, wenn die Kernel Command Line eingeschaltet und korrekt angepasst worden ist. Beachtet bitte, dass das booten vom Flashspeicher nur funktioniert, wenn die Kernel Command Line wieder deaktiviert wird. Ansonsten bootet immer nur das Image auf dem SSD Speichermedium.

Wichtig ist auch zu wissen, dass die Dreambox eigentlich nicht direkt von SATA booten kann, sondern nur von USB. In dieser Variante bootet der Flashkernel und anschliessend wird durch die aufgezwungene Kernel command line die Rootpartition vom SSD Speichermedium geladen. Deshalb ist es sehr wichtig, dass ihr im Flash wie auch auf dem SSD Speichermedium die selben Images verwendet. Und natürlich muss bei einem Kernelupdate immer sichergestellt sein, dass das Image auf SSD wie auch das Image im Flash aktualisiert werden.

SATA SSD Medium anschliessen

SSD - 8K alte Revision
SSD - 8K neue Revision

Benutzt beim Anschliessen des SSD Speichermediums die beiden Bilder.

BIOS anpassen

Folgender Abschnitt zeigt die BIOS Einstellungen für Dreamboxen. Im BIOS aktiviert man die Change Command Line (enabled) und passt die Kernel Command Linie wie es nachfolgend beschrieben ist an. Bei root=/dev/sdX3 muss für das X der korrekte Buchstabe eingetragen werden. Benutzt dazu das media-boot Skript oder den Befehl fdisk -l, um den Gerätenamen des SSD Speichermediums herauszufinden.

Change Command Line      [ENABLED ]
 
Kernel Command Line      [console=ttyS0,115200 rootdelay=10 root=/dev/sdX3 rootfstype=ext4 rw]

Media-Boot einrichten

Startet das Media-Boot Skript wie oben im Artikel beschrieben. Das Paket Chkbootmedia muss übrigens nicht installiert werden, da die autoexec_.bat in diesem Fall nicht gelesen wird.

Tipps & Tricks

GP3.2 Plugin Installieren

Das Skript bietet die Möglichkeit das GP3.2 Plugin, GP3 Addons oder GP3-Skins zu installieren. Somit sind das BluePanel und die Wunschplugins, Skins nach erfolgreichem Booten sofort verfügbar. Voraussetzung ist ein OE 2.0 basierendes Image im Flashspeicher.

Editiert das Skript und sucht folgende Zeilen:

EXTRA=""
 
#EXTRA="geminiplugin geminidreamnetcast geminijukebox geminirezapp geminiweather gemininetcastwebif geminirssreader"

Die gewünschten Pakete, müsst ihr beim Eintrag EXTRA="" zwischen die Anführungszeichen einfügen. Der Eintrag, um das GP3.2 Plugin, NFS Server und die Gemini Jukebox zu installieren würde wie folgt ausschauen.

EXTRA="geminiplugin gemininfs geminijukebox"

Wenn ihr die Paketnamen nicht kennt, dann könnt ihr bei einem eingerichteten Image mit GP3 Plugin die Namen wie folgt ermitteln. Führt aber vorher den Befehl opkg update aus. Der erste Befehl zeigt alle GP3 Pakete, der zweite die GP3 Skins.

opkg list *gemini* 
opkg list *gp-skin*
Ambox notice.png Wenn ihr das Merlin Script benutzt, müsst ihr anschliessend das Quickbutton Plugin mit dem Befehl
opkg remove enigma2-plugin-extensions-quickbutton entfernen.

Supportthread

Braucht ihr Hilfe zu Media-Boot, dann folgt bitte folgendem Link ;)

Media-Boot