Howto:Bootlog
Inhaltsverzeichnis
Allgemeines
Wenn Probleme beim Start der Box auftreten, kann es unter Umständen hilfreich sein, wenn man ein Bootlog erstellt. Durch das Protokollieren der Ausgaben auf der seriellen Konsole mit Hilfe eines Nullmodemkabels und eines Terminalprogramms wie z.B. Minicom oder Hyperterminal wird ein solches Bootlog erstellt.
Vorgehensweise bei der Erstellung eines Bootlogs
Bevor ein Bootlog erstellt werden kann, muss die so genannte "Kernel Command Line" der Dreambox überschrieben werden. Dies ist notwendig, um die Ausgaben des Systems auf die serielle Konsole umzuleiten – normalerweise werden diese einfach verworfen (/dev/null). Bei den Modellen DM7020 und DM7025 kann dies über den Second Stage Bootloader (das BIOS der Dreambox) geschehen. Bei allen anderen Modellen muss die manuelle Methode angewandt werden.
Danach kann z.B. mit Hilfe des Microsoft Terminal Programms "Hyperterminal" und einem Nullmodemkabel ein Bootlog erstellt werden.
Hyperterminal einrichten (Windows)
Hypterterminal ist bei jeder Standardinstallation von Windows XP direkt dabei.
Man findet es unter Start -> Programme -> Zubehör -> Kommunikation -> Hyperterminal
Hyperterminal - 1. Screen
Gebt nun einen Namen für die Verbindung ein und bestätigt mit OK, im Beispiel nenne ich die Verbindung "Dreambox".
Hypterterminal - 2. Screen
Hier muss der COM-Port ausgewählt werden, über den die Dreambox am PC angeschlossen ist – im Beispiel ist dies COM1.
Hyperterminal - 3. Screen
Hier müsst ihr die Baud-Rate noch auf 115200 stellen, die restlichen Einstellungen sind standardmäßig korrekt und sollten denen im Screenshot entsprechen.
Ruft jetzt den Dialog Datei -> Eigenschaften auf.
Hyperterminal - Eigenschaften der Verbindung
Hier sollte man die Terminalerkennung auf Auto-Erkenn. stellen, ansonsten ist das BIOS Schwarzweiss und nicht farbig, wie es sein sollte.
Verbindung speichern
Vergesst nicht die neu angelegte Verbindung über Datei -> Speichern zu sichern, sonst muss sie beim nächsten Mal wieder neu angelegt werden. Gespeicherte Verbindungen für Hyperterminal findet ihr standardmäßig (wenn ihr beim Speichern den Pfad nicht verändert) unter Start -> Programme -> Zubehör -> Hyperterminal -> "Namederverbindung.ht"
Minicom einrichten (Linux)
Minicom starten mit:
minicom -con -w
- -con für eine farbige Konsole (beim Secondstage)
- -w damit lange zeilen gewrappt werden
Die Einstellungen in Minicom erfolgen menübasiert mit Strg+A O. Unter "Serial port setup" muss man die korrekte Gerätedatei (z.B. /dev/ttyS0 für den ersten seriellen Anschluss oder /dev/ttyUSB0 bei einem USB-Port-Adapter) angeben und die Parameter des seriellen Ports auf 115200 8N1 einstellen:
+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : Yes |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
Kernel Command Line manuell überschreiben
An dieser Stelle muss noch Text rein.
Kernel Command Line durch das Bios überschreiben lassen (Alle Modelle >= DM7020)
Bevor man auf das BIOS der Box zugreifen kann, muss diese dazu gebracht werden beim Bootvorgang anzuhalten. Dies geschieht, indem man beim Einschalten die Pfeil-nach-Unten-Taste an der Box (nicht an der Ferbedienung!) gedrückt hält. Auf dem LCD erscheint nun *** STOP ***. Sofern sich im Netzwerk ein DHCP-Server befindet, wird die Box von diesem eine IP beziehen, diese ist über *** STOP *** zu sehen – beispielhaft wird in diesem Howto die IP 192.168.0.20 verwendet. Nun auf Start -> Ausführen gehen und Folgendes eingeben: telnet 192.168.0.20 192.168.0.20 ist dabei durch die IP zu ersetzen, die auf dem Display der Box erscheint.
Ist dies nicht der Fall und über *** STOP *** steht nur dhcp..., so muss zuerst über die serielle Schnittstelle auf das BIOS zugegriffen werden.
Mit DHCP-Server im Netzwerk
- Box mit gedrückter Pfeil-nach-Unten-Taste (die der Box, nicht die der Fernbedienung!) einschalten
- IP am Display der Box ablesen (z.B. 192.168.0.20)
- Start -> Ausführen
- telnet 192.168.0.20
- ACHTUNG: 192.168.0.20 ist durch die IP zu ersetzen, die auf dem Display der Box steht, steht hier nur dhcp... verwendet bitte die Methode Ohne DHCP-Server im Netz
Ohne DHCP-Server im Netzwerk
- Terminalprogramm mit den Verbindungseinstellungen für die Dreambox starten
- Box mit gedrückter Pfeil-nach-Unten-Taste (die der Box, nicht die der Fernbedienung!) einschalten
- Wenn *** STOP *** am LCD erscheint, sollte das BIOS im seriellen Terminal sichtbar sein!
Alternative Kernel Command Line einstellen
Wenn ihr euch im BIOS der Box befindet, navigiert mit den Pfeiltasten auf das Menü "Boot"
Datei:Dreambox bios boot.png
Folgende Schritte sind hier vorzunehmen:
- Change Command Line -> Enabled (auswählen und mit Eingabetaste ändern)
- Kernel Command Line:
- DM 7025:
console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=jffs2 ro
- DM 800/8000:
console=ttyS0,115200 root=/dev/mtdblock3 rootfstype=jffs2 rw mem=128M
Die gelb markierten Zeichen dienen nur zur Kennzeichnung der Unterschiede der Command Line der DM 7025 und der DM 800/8000.
ACHTUNG: Achtet auf Groß-/Kleinschreibung!
3. Menü Exit wählen (Links/Rechts)
4. Menüpunkt Save Settings wählen
Bootlog erstellen
Nachdem eine Verbindung mit dem Terminalprogramm eingerichtet und das BIOS korrekt eingestellt wurde, kann nun ein Bootlog erstellt werden.
- Terminalprogramm mit den Verbindungseinstellungen für die Dreambox starten
- und Meldungen protokollieren (z.B. Menü: Übertragung -> Text aufzeichnen)
- Dreambox einschalten
- Nach Abschluss des Bootvorganges oder wenn die Box hängt und nichts mehr macht, könnt Ihr die Verbindung zwischen dem Terminalprogramm und Dreambox entweder trennen oder das Terminalprogramm beenden, das Bootlog findet ihr dann in der Datei, die ihr ausgewählt habt.