Bootloader

Aus DreamboxWIKI
Wechseln zu: Navigation, Suche


Dieser Artikel beruht auf dem englischen Original von elitedvb.net.

Der Bootloader

Überblick:

Bei der DM7020 gibt es im Bootrom einen „Loader“ der als „First-Stage“ (erste Stufe) bezeichnet wird. Dieser macht folgendes:

1. Als Erstes wartet er auf eine Antwort von DreamUp über den Seriellenanschluss.
2. Antwortet DreamUp nicht, sucht er im Nand-Flash nach einem gültigen „Second-Stage-Loader“. Ist dieser vorhanden wird er entpackt (per Gzip) und ausgeführt.
3. Wird keine „Second-Stage-Loader“ gefunden, versucht der Loader von einem „Recovery-CF-Image“ zu booten. Dieser Vorgang wird später beschrieben, Ihr werdet das aber nie gebrauchen :-).
4. Wenn das Booten per CF nicht klappt, dann gibt der Loader endlich auf.

Das bedeutet: Sollte der Second-Stage-Loader aus irgendeinem Grund defekt sein, dann braucht man lediglich einen Nullmodemkabel.
Die Zeiten des JTAG sind somit vorbei!

Power Modes (Die Schaltzustände der DM7020)


  • „Switched on“ - In diesem Zustand befindet sich die Box beim TV gucken oder MP3 hören etc.
  • „Standby“ - Wird der Einschaltknopf auf der Fernbedienung oder direkt an der Box einmal gedrück dann schaltet die Box in den „Standby“. Das LC-Display wird dunkel, die Stromzufuhr zum LNB wird abgeschaltet, aber der Rest der Box ist nach wie vor unter Spannung. Die Box lebt also noch, gut zu sehen wenn man per WebIF auf die Box „surft“.
  • „Deep-standby“ - Um die Box in den „Deep-standby“ zu schalten muss man den Einschaltknopf ein paar Sekunden gedrückt halten und dann „Herunterfahren“ auswählen (alternativ geht hier auch der Punkt5 aus dem Menü der Box). Jetzt fährt die Box komplett runter, das bedeutet das auch das Linux beendet wird und mögliche Einstellungen werden gespeichert. Einzig der FP (Frontpanel-Prozessor) ist jetzt noch aktiv und wartet auf ein Signal der Fernbedienung, der Tastatur oder durch den Einschaltknopf an der Box. Sollte ein Timer programmiert sein, dann sorgt der FP dafür das dieser ausgeführt wird.
  • „Off“ - Diesen Zustand erreicht man in dem man den Schalter auf der Rückseite der Box betätigt, dann ist wirklich alles komplett aus.

Booting...

Der Second-Stage-Loader ist wesentlich komplexer, er ist in der Lage von JFFS2, CompactFlash und TFTP zu booten und befindet sich in den ersten 128k des NAND-Flash-Rom. Im Normalfall bootet der Loader das Linux aus der JFFS2-Bootpartition, es ist jedoch möglich auch eine andere Quelle anzugeben. Es ist möglich den Loader so zu konfigurieren das er bei Betätigung einer Taste am „Frontpanel“ der Box eine anderes Bootmedium benutzt. Sollte die ausgewählte Quelle nicht verfügbar sein, dann sorgt die Fallbackfunktion im Loader dafür das normal über das Flash gebootet wird.

Flash Images

... sind nun nicht mehr so einfach wie vorher, das liegt daran das der NAND-Flash defekte Sektoren beinhalten kann und alles ein wenig komplexer geworden ist. Wir haben ein neues Format Namens „nfi“ eingeführt, das beinhaltet einen Header (wenn vorhanden auch eine Checksumme) und drei verschieden Partitionen (Second-Stage, Boot, Root). Das Image kann direkt per HTTP-Client oder per Browser geflasht werden. Mit einer neuen Version Universal_DreamUp wird das Flashen ebenfalls möglich sein. Das Flashen per Nullmodemkabel ist nun ein Teil der Vergangenheit, einfach den Bootprozess durch Drücken der unteren Taste an der Box unterbrechen, IP notieren und schon kann man bequem per Browser das Image flashen.
Solltet keine Netzwerk vorhanden sein oder der Second-Stage-Loader ist defekt, dann muss man allerdings doch auf das Nullmodemkabel zurückgreifen.

Ein neues Image flashen

Nachfolgend wird vorrausgesetzt das ein DHCP-Server im Netzwerk vorhanden ist (z.B.: DSL-Router mit DHCP-Funktion), sollte dies nicht der Fall sein dann kann im „Bootloader Serial Setup“ eine IP-Adresse vergeben werden. Dazu bitte eine Verbindung per Nullmodemkabel zur Box herstellen und Hyperterminal starten. Jetzt die Box hochfahren und direkt die „S“-Taste am PC drücken, dadurch gelangt man in das „Bootloader Serial Setup“ und hier kann nun die IP-Adresse für die Box vergeben werden.

  • Zuerst bitte die Box herunterfahren (Deep-Standby).
  • Die „Pfeil nach unten“-Taste drücken und gedrückt halten.
  • Nun die Dreambox einschalten, weiterhin die Taste festhalten.
  • Im LCD erscheint nun der Text "*** STOP ***". Sollte "/flash" erscheinen wurde die falsche Taste festgehalten.
  • Jetzt bitte die Taste los lassen, der Bootloader ist nun im „Wartemodus“.
  • Über dem Text "*** STOP ***" sollte nun eine IP-Adresse erscheinen. Sollte dort „dhcp“ stehen dann sucht die Box noch einen DHCP-Server, in diesem Fall bitte noch ein wenig warten. Sollte nach angemessener Wartezeit keine IP-Adresse erscheinen, dann bitte die Verkabelung und den DHCP-Server prüfen. Schafft dies alles keine Abhilfe bleibt nur noch der Weg über das „Bootloader Serial Setup“ (siehe oben).
  • Die IP-Adresse bitte in das Adressfeld des Browsers am PC eingeben „http://ip/“
  • Unten auf der Seite steht ein Link "firmware upgrade", diesen einmal Anklicken.
  • Auf der nächsten Seite besteht die Möglichkeit das zu flashende Image auszusuchen. Bitte darauf achten das die Endung des Image „.nfi“ ist. Andere Images können nicht geflashed werden.
  • Klicke "FLASH!" und warte. Es dauert ein bisschen bis das Image hochgeladen und geflashed wurde.
  • Zeigt der Fortschrittsbalken 100% schalte die Box aus und wieder ein. Das neue Image ist nun geflashed.

Prerun - Vor dem Start...

Prerun bedeutet das "/cf/autorun.bat" alles aller erstes ausgeführt, noch bevor irgendein anderes gestartet wird. Dies kann sehr hilfreich sein wenn man plant eine Image-Update-Software auf einer CF-Karte zu kopieren um somit ein Update ohne jegliche weitere Interaktion des Users zu erstellen.

Try Default Boot Sources

..bedeutet lediglich das im Fall der Fälle, wenn zum Beispiel die „autoexec.bat“ einen Fehler enthält, "/flash/zImage.elf" also „Default“ geladen wird.

Primary/secondary/Alternate boot sources

Die "Primary bootsource" wird als Erstes versucht zu booten (Ausnahme ist hier “prerun", welches noch vorher startet). Schlägt dies fehl, wird die "secondary boot source" angesprochen. (Dies ist nützlich um das Bootverhalten einer Dbox2 nachzuahmen: Erst versuche TFTP, danach den Flash. Um Probleme zu vermeiden wurde dies nicht als Standardwert gesetzt). Die alternative Bootquelle beim Booten der Box durch drücken einer der Tasten („Hoch“ oder „Runter“) an der Box ausgewählt werden. Dabei steht „Hoch“ für „alternative boot source 1“ und "Runter" für „alternative boot source 2“..

"Powerstate after AC loss" – Verhalten nach „Stromausfall“ (Steckerziehen)

Hier kann eingestellt werden wie sich die Box verhalten soll wenn sie durch Netzschalter eingeschaltet wird oder man den Netzstecker reinsteckt. "as before", die meistens sinnvollste Einstellung funktioniert derzeit noch nicht., Es kann gewählt werden zwischen "always on" (die Box fährt direkt hoch) und "always off" (die Box bleibt aus).




Grundlagen - Installation - Hardware - Entwicklung - Portal

Enigma - Enigma2 - Plugins - Spiele - Software - Tools - Howto - FAQ - Images

Hauptseite - News - Alle Artikel - Bewertungen - Gewünschte Seiten - Index - Neue Artikel - Impressum - Meilensteine - Team

Hilfeportal - Seite bearbeiten - Bilder - Links - Tabellen - Textgestaltung