RetroPi auf dem Retroflag GPi Case installieren


Beim Aufräumen fallen sie mir immer wieder in die Hände:
Alte Module meiner Spielekonsolen aus den 90ern. Die Hälfte ist quasi unbenutzbar geworden, da die Save-Game-Batterien leer sind und eigentlich ist es auch immer viel zu viel Aufwand, alles nochmal aus den Kisten zu zotteln und am TV über Adapter anzuschließen. Zum Glück gibt es Retro-Emulatoren, die perfekt auf kleine Raspberry-Platinen zugeschnitten sind. Beim Stöbern stieß ich auf das herrlichen Retroflag GPi Case im traditionellen GameBoy-Look und das Basteln konnte beginnen.

Während die Hardwareinstallation mit einem Raspberry Pi Zero W flott von der Hand ging und auch in der beiligenden Bauanleitung sehr gut erklärt ist, musste ich dagegen wichtige Scripte, Codes und Kniffe für eine lauffähige RetroPi-Installation mühsam zusammensuchen. Zwischenzeitlich probierte ich es auch mit den Out-Of-The-Box-Images von Recallbox. Der Emulator sieht gut aus, das Layout wurde auf das kleine GPi-Display angepasst und ist sehr durchdacht, aber die Bedienung und Startvorgang war mir irgendwie zu zäh und lieferte immer wieder technische Macken. Darum RetroPi, das sich meiner Meinung nach pragmatischer handhaben lässt.


Schritt 1 – Basis-Installation von RetroPi auf die SD-Karte

Zuerst wird natürlich das RetroPi-Image für die SD-Karte benötigt. Das gibt es direkt auf der RetroPi-Webseite. Da im GPi-Case ein Raspberry Pi Zero W verbaut wurde, ist das Image namens »Raspberry Pi 0/1« das richtige. Am schnellsten funktioniert das Übertragen des Images mit dem Tool Balenea Etcher direkt unter Windows, MacOS oder Linux.

Das Programm erkennt die eingesteckte SD-Karte von selbst, nur noch das Image als Quelle angeben und nach dem Klick auf „Flash“ geht es los. Da Etcher nach getaner Arbeit die SD-Karte auswirft, muss diese manuell wieder aktiviert werden, weil wir in den nächsten Schritten noch ein paar Scripts installieren müssen.


Schritt 2 – WiFi Passwort schnell und ohne Gefummel einrichten

Es existieren viele Methoden über das Konfiguartionsmenü, die mehr oder weniger umständlich auf dem kleinen Display auszuführen sind. Eine relativ simple Variante ist es, eine einfach Textdatei namens wpa_supplicant.conf anzulegen. In diese kommen ein paar kurze Zeilen Code:

country=DE
ctrl_interface=DIR=/var/run/wpa_supplicantGROUP=netdev
update_config=1
network={
ssid="WLAN Name"
psk="WLAN Passwort"
key_mgmt=WPA-PSK
priority=1
}

Mit dem Country-Syntax vermeidet man das Raspi-Gemecker, welches eine Location für das WLAN einmahnt. In SSID und PSK werden WLAN-Name und Passwort eingetragen und alles unter dem Namen wpa_supplicant.conf abgesichert. Die Datei dann einfach direkt auf die Boot-Partition der SD-Karte kopieren und fertig.


Schritt 3 – SSH aktivieren

Damit wir uns das textbasierte Arbeiten auf dem kleinen Display sparen, genügt es, direkt auf der Boot-Partition der SD-Karte eine leere Datei namens ssh (ohne Dateiendung!) zu erstellen. Die sorgt dafür, dass der SSH-Zugang beim ersten Start automatisch aktiviert wird.


Schritt 4 – Patch für Display und Buttons des GPi-Case installieren

Da das GPi-Case über die GPIO-Pins Bild und Ton ausgibt, müssen noch drei Steuerdateien auf der SD-Karte hinzugefügt werden. Die sorgen dafür, dass die Bild/Tonausgabe statt über den HDMI-Port über die GPIO-Pins läuft. Ansonsten bliebe das Display des GPi schwarz. Auf der Retroflag-Download-Seite steht das Datei-Paket zum Herunterladen bereit: http://download.retroflag.com/Products/GPi_Case/GPi_Case_patch.zip

In der ZIP-Datei ist nur der Ordner patch_files interessant. Die config.txt kommt direkt in die Boot-Partition und die Dateien dpi24.dtbo sowie pwm-audio-pi-zero.dtbo werden ins Verzeichnis overlay kopiert und bestehende Dateien ersetzt. Erst jetzt kann die SD-Karte ausgeworfen und in das GPi-Case gesteckt werden.


Schritt 5 – Starten des GPi, Autoinstallation und Controller einrichten

GPi-Case einschalten und warten. RetroPi wird installiert und nach einer kleinen Weile lacht auch schon der Welcome-Bildschirm entgegen, der zur Konfiguration des Controllers einlädt. Mit langem Druck auf A bestätigen und danach alle Tasten der Zuordnung entsprechend antippen. All die Steuerelemente und Buttons, die nicht auf dem GPi-Case vorhanden sind – also Analog-Sticks usw.) können mit einem langen Druck auf A übersprungen werden. Der Hotkey wird mit der Select-Taste belegt. Fertig.


Schritt 6 – Script für sicheres Herunterfahren installieren

Zu guter Letzt wird jetzt noch das Script für das sichere Herunterfahren des GPi-Case installiert. Das Script ist hier inkl. Anleitung zu finden: https://github.com/RetroFlag/retroflag-picase

Am besten installiert es sich via SSH über das Netzwerk. WLAN und SSH wurden ja bereits automatisch während des Bootvorgangs mit den beiden Steuerdateien aus den Schritten 2 und 3 aktiviert. Der Zugriff auf den GPi erfolgt nun also via Kommandozeile. Unter Windows gibt es dafür das hilfreiche Programm Putty, unter Linux/MacOs nutzt man direkt das Terminal. Einfach auf die IP-Adresse des Raspberry Pi Zero zugreifen:

ssh pi@XXX.XXX.XXX.XXX

Die X werden mit der IP-Adresse des Raspberry ersetzt. Nach der Eingabe wird das Passwort abgefragt (Standard: raspberry), was danach sicherheitshalber geändert werden sollte. Das klappt mit

passwd pi

Und jetzt nur noch der Download und Installation des Scripts für sicheres Herunterfahren. Das klappt in einem Rutsch mit einer Kommandozeile:

wget -O - "https://raw.githubusercontent.com/RetroFlag/retroflag-picase/master/install_gpi.sh" | sudo bash

Das Terminal kann danach geschlossen werden und das GPi-Case heruntergefahren. Batterien raus und den dahinter verborgenen Schalter für Safe-Shutdown auf On. Danach wieder anschalten und alles funktioniert. Der GPi erscheint im Netz als RETORPI.