PNX8950EH-Board: Unterschied zwischen den Versionen
Tesla (Diskussion | Beiträge) |
Tesla (Diskussion | Beiträge) |
||
Zeile 99: | Zeile 99: | ||
* Elecard-Kernel booten | * Elecard-Kernel booten | ||
* ssh auf Board mit root/vdr | * ssh auf Board mit root/vdr | ||
=== Debug === | |||
Wenn man etwas nicht funktioniert: | |||
* "unhandled paging request on adress 00000000" beim Boot: rootFS ist beschädigt, einfach check mit gparted und es funktioniert wieder (wichtig: Stick safely removen) | |||
== Alte Variante == | == Alte Variante == |
Version vom 14. Mai 2012, 20:48 Uhr
... auch unter dem Namen Pollin-Receiver-Board bekannt.
- 400 MHz MIPSel
- 256 MB RAM
- 64 MB Flash
- Linux, Windows CE
hacken
Erstinbetriebnahme/Test
- unteren Scart-Anschluss mit Fernseher verbinden
- 12 V an linken Stecker anlegen (+Pol vorn, Richtung Bedienteil), Stromaufnahme ca. 1,5 A
- beide DIP-Schalter (hellblau mit weiß) auf off
- Taster am äußeren Rand des Bedienteils drücken -> Ein
- Fernseher zeigt Windows CE 5.0 Oberfläche
"Auslieferungszustand" herstellen
Um weiter basteln zu können, muss eine bestimmte Windows-Version installiert werden: [1]
Ein neu gekauftes Board kann eine andere Version enthalten, deshalb unbedingt reflash durchführen, sonst funktionieren alle folgenden Schritte nicht.
Reflash durchführen:
- (Board Ausschalten)
- alle Datei aus dem reflash_wince.rar auf einen FAT32-USB-Stick entpacken
- Stick an die USB-Buchse unter der LAN-Buchse stecken
- DIP-Schalter 1 auf on (Firmware-update-Mode)
- Einschalten (mit Taster auf Bedienteil; entgegen anderer Angaben muss die Fernbedienung nicht benutzt werden)
- Fernseher zeigt den Updateverlauf
- Es werden 4 Dateien geladen (7-Segment-Anzeige läuft 4 mal bis 100 %)
- Windows starten: DIP-Schalter 1 wieder auf off und Reset (Taste hinten) + Einschalttaste
Neue Variante
Es gibt eine relativ sichere Variante. Dazu wird das Elecard-Image benötigt. Es wird gleich das große U-Boot geflasht und bei Bedarf das Elecard-Linux.
Images: [2]
Anleitung: [3]
Flashen
- DIP-Schalter 1 auf off
- Board anschalten (Windows CE 5.0 startet)
- alle Dateien aus u-boot-stick-elecard.tar.gz auf FAT32-USB-Stick kopieren
- Stick an USB-Buchse auf Rückseite stecken
- flashme.exe starten
- "Status: ready..." muss erscheinen, erscheint "Status: error...", muss der "Auslieferungszustand" wiederhergestellt werden.
- ersten Button klicken: U-Boot wird geflasht
- warten bis alles fertig ist
- zweiten Button klicken: Linux wird geflasht
- warten bis fertig
Jetzt sind die nötigen Dateien drauf. Leider funktioniert Windows CE nicht mehr. Auch wenn das Rettungs-WinCE geflasht wird (3. Button), geht dieses nicht.
Board kann jetzt U-Boot und Linux starten.
Linux starten
Beim Neustart kommen noch 3 Zeilen des Flashers auf der J2. Das richtige U-Boot kommt allerdings auf J33:
- Pin 1 (markiert): GND
- Pin 2: Board->PC
- Pin 4: PC->Board
- Baud: 38400
- (Direktverbindung mit PC, keine Pegelwandler)
Das Elecard-Linux kann vom Flash gebootet werden:
- Board anschalten, U-Boot-Konsole auf J33
- Autostart scheitert: "ERROR: can't get kernel image!"
- Partitionen mounten, mit: mtdparts default
- Linux starten: boot
- Linux holt sich per DHCP eine IP-Adresse über die LAN-Buchse auf der Rückseite
- nach erfolgreichem Bezug der Adresse ist die Konsole verfügbar
Linux automatisch starten
Damit Linux nach dem Einschalten automatisch startet muss U-Boot konfiguriert werden.
- U-Boot-Konsole
- Alle Variablen anzeigen: printenv
- nandboot einrichten: setenv nandboot 'mtdparts default;nboot Linux;run ideargs addip;bootm'
- diese Variable dauerhaft speichern (auch nach reboot verfügbar): saveenv
- starten geht jetzt auch mit: run nandboot
- autostart einrichten: setenv bootcmd 'run nandboot'
- speichern: saveenv
- neustart: reset
- jetzt sollte das Board hochfahren
- wenn U-Boot-Fehlermeldungen kommen, setenv nandboot nochmal durchführen, am besten Zeile kopieren, darauf achten, dass keine Leerzeichen oder ähnliches angehängt werden.
neues rootFS
Es ist möglich ein Debian-rootFS mit dem Elecard-Kernel zu verwenden. Das rootFS gibt es hier: [4]
- mit gparted zwei primäre ext3-Partitionen auf einen USB-Stick anlegen
- auf sda1 das rootFS entpacken mit tar -xvjf
- Stick an Board anstecken
- Elecard-Kernel booten
- ssh auf Board mit root/vdr
Debug
Wenn man etwas nicht funktioniert:
- "unhandled paging request on adress 00000000" beim Boot: rootFS ist beschädigt, einfach check mit gparted und es funktioniert wieder (wichtig: Stick safely removen)
Alte Variante
Beschreibung unvollständig. Bitte nicht versuchen, die Neue Variante funktioniert.
kleines U-Boot flashen
Um Linux zu starten wird ein Bootloader gebraucht. Dieser kann allerdings zu große um jetzt aufgespielt zu werden. Es wird deshalb erst ein Kleiner installiert, danach der Große.
Das kleine U-Boot: [5]
- U-Boot.ZIP auf einen FAT32-USB-Stick entpacken
- Board normal hochfahren (alle Dip-Schalter auf off, am Bedienteil einschalten)
- USB-Stick und USB-Maus über Hub an Rückseite anstecken
- myDevices öffnen, USB-Stick darin öffnen, flashme.exe starten
- Fenster mit "Status: ready..." muss sich öffnen, wenn "Status: error..." dasteht, ist das falsche Windows-Image drauf -> "Auslieferungszustand" wieder herstellen
- ersten Button klicken -> kleines U-Boot wird geflasht (klassisches Firmware-Update-Programm für "Auslieferungszustand" wiederherstellen wird jetzt ersetzt)
- zweiter Button: irgend ein Linux-Image wird geflasht (anderer Speicherbereich), kann zusätzlich gemacht werden
- dritter Button: verändertes Windows-CE, nicht unbedingt flashen, soll flashme automatisch starten, bootet nicht bis zur grafischen Oberfläche, sondern hängt im Ladebalken fest
großes U-Boot flashen
Nachdem nun das kleine U-Boot drauf ist, kann das große U-Boot mit mehr Funktionen aufgespielt werden. Dazu muss das kleine U-Boot gestartet werden:
- DIP-Schalter 1 auf on
- Board einschalten (Taste an Bedienteil)