[SIZE="4"]
[color="Red"]Wie man seine DBox über ein YADD booten kann[/color]
[/SIZE]
[color="White"]YADD[/color] steht für [color="white"]Y[/color]et [color="white"]A[/color]nother [color="white"]D[/color]box [color="white"]D[/color]istribution.
Es wird gezeigt wie man auf seiner DBox ein Image bootet welches nicht im Flashspeicher der Box ist, sondern im PC auf der Festplatte liegt.
Das hat den Vorteil, dass man mit viel geringerem Aufand Dateien ändern oder hinzufügen kann. Plugins können in unbeschränkter Anzahl und Größe eingebaut werden. Streamen geht ohne, dass man ein Verzeichnis mounten muss, man kann also direkt ins Image in einen beliebigen Ordner hineinstreamen.
Alle Konsolenbefehle sind in gelber Schrift hervorgehoben.
Bevor man beginnt sollte man sich sicherheitshalber ein Backup seines Images machen.
[color="White"](A) EINSTEIGERVERSION[/color]
Mit einem YADD, welches schon fertig zum Download bereit steht.
[SIZE="2"][color="White"](1)[/color][/SIZE]
[INDENT]Aktuelle YADDs welche neben [color="White"]Neutrino[/color] auch [color="white"]Enigma[/color] und [color="white"]LCars[/color] enthalten erhält man z.B. auf http://dietmarw.trale.de. Weiters benötigt man das Tool zum Entpacken, welches man ebenfalls auf dieser Seite findet.
Wenn man bereits einen Entpacker hat der [color="White"]*.bz2-Dateien[/color] entpacken kann (z.B. WinRAR), dann kann benötigt man dieses speziellen Tool zum Entpacken nicht mehr und kann bei Punkt [SIZE="2"][color="White"](4)[/color][/SIZE] weiter machen. Auf keinen Fall darf aber das in der [color="White"]*.bz2-Dateien[/color] enthaltene [color="White"]*.tar-Dateien[/color] entpackt werden, dadurch würde man die Symlinks zerstören.[/INDENT]
[SIZE="2"][color="White"](2)[/color][/SIZE]
[INDENT]Das entpackte Tool und das noch gepackte YADD kommen in ein Verzeichnis welches auf der DBox gemountet sein muss.[/INDENT]
[SIZE="2"][color="White"](3)[/color][/SIZE]
[INDENT]Ein Doppelklick auf [color="White"]unpack yadd.bat[/color] entpackt das YADD. Leider sind die Symlinks im YADD durch diese Art des entpackens zerstört worden (in der Regel ist das zumindest so). Daher kann man die Ordner [color="white"]yaddroot[/color] und [color="white"]tftpboot[/color] gleich wieder löschen.[/INDENT]
[SIZE="2"][color="White"](4)[/color][/SIZE]
[INDENT]Die neu entstandene Datei mit der Endung [color="White"]tar[/color] muss jetzt noch mal über Telnet entpackt werden (die Box kann nähmlich fehlerfrei entpacken). Dazu eröffnet man eine Telnet-Sitzung:
[color="Yellow"]telnet 192.168.0.2[/color] (IP der DBox)[/INDENT]
[SIZE="2"][color="White"](5)[/color][/SIZE]
[INDENT]In das Verzeichnis wechseln in dem die [color="White"]*.tar[/color] liegt und folgendes eingeben:
[color="Yellow"]tar -xf YADD.tar[/color] (hier den richtigen Namen einsetzen)[/INDENT]
[SIZE="2"][color="White"](6)[/color][/SIZE]
[INDENT]Nachdem man jetzt die beiden zuvor gelöschten Ordner nun wieder sauber entpackt im gemounteten Verzeichnis liegen hat, kann der [color="White"]DBox II - Boot-Manager[/color] gestartet werden. Dort einen Haken bei [color="white"]BootP / TFTP - Server starten[/color] und als Bootfile wählt man [color="white"]u-boot-yadd[/color] aus dem Ordner [color="white"]tftpboot[/color] und den Haken bei [color="white"]NFS-Server[/color] weg machen, allerdings nur wenn sich die beiden Ordner [color="white"]tftpboot[/color] und [color="white"]yaddroot[/color] bereits innerhalb eines NFS-Shares befinden. Ansonsten den Haken setzen und ein Verzichnes oberhalb der beiden Ordner angeben.[/INDENT]
[SIZE="2"][color="White"](7)[/color][/SIZE]
[INDENT]Dann auf [color="White"]Start ![/color] klicken (Warnung ignorieren, falls eine kommt) und die DBox neu starten. Wenn alles gut geht sollte die DBox vom YADD booten und hochfahren.
Vor dem nächsten Booten kann man dann z.B. ucodes und Senderlisten in das YADD hineinkopieren. Allerdings müssen dazu die Dateirechte von [color="white"]tftpboot[/color] und [color="white"]yaddroot[/color] angepasst werden, da die beiden Verzeichnisse momentan noch nicht beschreibbar sind.[/INDENT]
[color="White"][SIZE="5"]______________________________[/SIZE][/color]
[color="White"](B) FORTGESCHRITTENENVERSION[/color]
Ein YADD aus seinem aktuell auf der DBox laufenden Image anfertigen und davon booten.
[SIZE="2"][color="White"](1)[/color][/SIZE]
[INDENT]Im Verzeichnis welches auf die DBox gemountet wurde zwei neue Verzeichnis mit dem Namen [color="White"]root[/color] und [color="White"]var[/color] anlegen.
Bei mir wurde das Verzeichnis [color="white"]DBox2[/color] in das Verziechnis [color="white"]/var/autofs/filme[/color] gemountet. Also erstelle ich die neuen Verzeichnisse entweder über FTP in [color="white"]/var/autofs/filme[/color] oder direkt auf dem PC im Verzeichnis [color="white"]DBox2[/color] (bewirkt beides das selbe).[/INDENT]
[SIZE="2"][color="White"](2)[/color][/SIZE]
[INDENT]Die Eingabeaufforderung öffnen und eine Telnetverbindung mit der DBox herstellen:
[color="Yellow"]telnet 192.168.0.2[/color] (IP der DBox)[/INDENT]
[SIZE="2"][color="White"](3)[/color][/SIZE]
[INDENT]Nachsehen in welcher Partition des Flashspeichers der root- un der var-Bereich liegen:
[color="yellow"]cat /proc/mtd[/color]
Man erhält eine Ausgabe die etwa so aussieht:
dev: size erasesize name
mtd0: 00020000 00004000 "BR bootloader"
mtd1: 00520000 00020000 "root (squashfs)"
mtd2: 002a0000 00020000 "var (jffs2)"
mtd3: 00020000 00020000 "FLFS (U-Boot)"
mtd4: 007e0000 00020000 "Flash without bootloader"
mtd5: 00800000 00020000 "Complete Flash"
Der root-Bereich liegt demnach bei mir in der Partition mtd1 und der var-Bereich in mtd2.[/INDENT]
[SIZE="2"][color="White"](4)[/color][/SIZE]
[INDENT]Die beiden Bereiche in die zuvor erstellten Verzeichnisse mounten:
[color="yellow"]mount -t squashfs -o ro /dev/mtdblock/1 /var/autofs/filme/root
mount -t jffs2 -o rw /dev/mtdblock/2 /var/autofs/filme/var[/color][/INDENT]
[SIZE="2"][color="White"](5)[/color][/SIZE]
[INDENT]In den Ordner [color="white"]/var/autofs/filme[/color] wechseln:
[color="yellow"]cd /var/autofs/filme[/color][/INDENT]
[SIZE="2"][color="White"](6)[/color][/SIZE]
[INDENT]Die beiden Ordner [color="white"]root[/color] und [color="white"]var[/color] packen:
[color="yellow"]tar -cf root.tar root
tar -cf var.tar var[/color][/INDENT]
[SIZE="2"][color="White"](7)[/color][/SIZE]
[INDENT]Das Mounten rückgängig machen:
[color="Yellow"]umount root
umount var[/color][/INDENT]
[SIZE="2"][color="White"](8)[/color][/SIZE]
[INDENT]Den root- und var-Bereich auspacken:
[color="Yellow"]tar -xf root.tar
tar -xf var.tar[/color][/INDENT]
[SIZE="2"][color="White"](9)[/color][/SIZE]
[INDENT]Dateireichte von [color="white"]root[/color] und [color="white"]var[/color] anpassen damit die beiden Verzeichnisse beschreibbar werden. Und den gesamten Inhalt von [color="white"]var[/color] nach [color="white"]root/var[/color] kopieren.[/INDENT]
[SIZE="2"][color="White"](10)[/color][/SIZE]
[INDENT]Die Datei [color="white"]etc/fstab[/color] öffnen und alles löschen außer
proc /proc proc defaults 0 0
tmpfs /tmp ramfs defaults 0 0
sysfs /sys sysfs noauto 0 0
devpts /dev/pts devpts noauto 0 0
[/INDENT]
[SIZE="2"][color="White"](11)[/color][/SIZE]
[INDENT]Die Datei [color="white"]rcS.local[/color] (die Datei bitte suchen, kann an verschiedenen Plätzen sein) öffnen und falls vorhanden folgendes löschen
[/INDENT]
[SIZE="2"][color="White"](12)[/color][/SIZE]
[INDENT]Der gesamte Inhalt von [color="White"]root[/color] wird nun in einen Ordner namens [color="white"]yaddroot[/color] kopiert. Und im selben Verzeichnis wie [color="white"]yaddroot[/color] erstellt man einen Ordner namens [color="white"]tftpboot[/color]. In diesen Ordner kommen die beiden Dateien [color="white"]kernel-yadd[/color] und [color="white"]u-boot-yadd[/color]. Falls man keine Möglichkeit hat sich diese beiden Dateien selber zu kompilieren muss man sie aus einem fertigen YADD entnehmen, allerdings funktioniert das nur wenn es sich um ein YADD mit der selben Kernel-Version handelt. Beim Auftreiben dieser beiden Dateien kann ich leider nicht helfen, da hilft nur googeln, fragen und Glück haben.[/INDENT]
[SIZE="2"][color="White"](13)[/color][/SIZE]
[INDENT]Das YADD ist jetzt fertig und die DBox kann davon booten.
Hier bitte die Punkte [SIZE="2"][color="White"](6)[/color][/SIZE] und [SIZE="2"][color="White"](7)[/color][/SIZE] der vorherigen Anleitung beachten.[/INDENT]
[color="White"][SIZE="5"]______________________________[/SIZE][/color]
[color="White"](C) EXPERTENENVERSION[/color]
Ein YADD aus seinem aktuell kompilierten Image erstellen und mit Linux als Boot-Server die DBox booten.
[color="White"]Bei interesse folgt diese Version irgendwann![/color]