Es gibt leider Dinge, die ich mir ganz schlecht merken kann. Dazu
gehört auch das Wissen um die Funktionen der GPIO Pins. Nur aus diesem
Grund lege ich hier ein Foto der GPIO ab. Wenn ich mir's oft genug
anschaue, weiss ich irgendwann auswendig, welche Pins für die uarts
sind.

Schönes Fotos mit allen GPIO Pins.

Und noch eine Hilfe: Die Bezeichnung und farbliche Zuordnung der
drei Leitungen TXD, RXD und GND des Adapters Seriell-USB.

Und so muss ich adaptieren, wenn ich ich den internen kleinen
Stecker für den Debug uart des RaspberryPi 5 anschliessen will. Brauch
ich aber nur, wenn nicht der spezielle Probe uart benutzt wird, sondern
einer meiner Standard-Adapter.
Das U-Boot, also der Bootloader für den RaspBerryPi 5 mit OpenBSD, ist
ja eine feine Sache und funktioniert auch. Allerdings muss für den
Einsatz von OpenBSD ein U-Boot-Parameter geändert werden, was nur mit
einer seriellen Verbindung zwischen dem RaspberryPi und einem zweiten
Rechner möglich ist.
Wenn ohnehin gerade frisch installiert wird, ist das natürlich kein
Problem: Der Raspi ist dann ohnehin geöffnet und der Stecker für den
seriellen Anschluss einigermassen zugänglich.
Ich habe bisher 3 Raspi 5 auf diese Art und Weise installiert, kein
Problem. Trotzdem habe ich überlegt, wie ich die serielle Verbindung
umgehen kann. Ich habs tatsächlich hinbekommen, aber es war ein
ziemliches Gefrickel - allerdings Software-Gefrickel. Das
Hardware-Gefrickel konnte ich damit umgehen.
Was habe ich gemacht? Hier im Stenogram-Stil die Schritte:
-
Mit dd if=/dev/sd1c of=obsd-rpi5.img bs=1m die SD-Karte eines
laufenden OpenBSD in eine Datei geschrieben.
-
Mit dd if=obsd-rpi5.img of=/dev/sd2c bs=1m das Image auf eine neue
SD-Karte geschrieben.
-
Damit habe ich jetzt eine bootfähige SD-Karte mit einem bereits
modifizierten U-Boot. Die entsprechende Datei auf der Karte ist die
uboot.env.
-
Die SD-Karte wurde nun an einem anderen Rechner gemountet,
idealerweise einem mit OpenBSD. Dort gibt es unter /etc eine Datei
boot.conf. Die habe ich erstellt und dort eingetragen, dass ins HDMI,
also in einen Bildschirm gebootet wird. Die Datei enthält bis jetzt nur
die Zeile set tty fb0. Dies wird jetzt erweitert durch boot bsd.rd,
natürlich in einer neuen Zeile.
-
Nun kommt die neue SD-Karte in den Slot des RaspberryPi 5 und wird
gebootet. Der Rechner startet, das U-Boot lädt OpenBSD, das geht sofort
auf den Bildschirm und landet dann im Installations-Menü von OpenBSD.
Je nach Bedarf kann jetzt ein Update oder eine Neuinstallation
gestartet werden. Ich nutze die SD-Karte fast immer nur als
Root-Partition und installiere den Rest des Systems auf einer NVME,
eine der grössten Errungenschaften des RPI5.
-
Wichtig! Nach abgeschlossener Installaion nicht sofort neu
Booten, sondern eine Shell aurfufen. Das neu installierte System ist
noch unter /mnt gemountet, also ins Verzeichnis /mnt/etc wechseln.
Jetzt muss der Eintrag boot bsd.rd aus der boot.conf entfernt
werden. Am einfachsten durch Überschreiben mit echo "set tty fb0" > boot.conf
-
Nun mit exit zurück ins Installations-Menü und von dort aus neu
gebootet. Der Rechner wird jetzt mit dem neuen OpenBSD starten.
-
Die Geschichte ist aber damit noch nicht fertig. Das System hat jetzt
natürlich alle Einstellungen des Muttersystems, beispielsweise auch
dessen MAC-Adresse, den hostname und was sonst noch individuell
konfiguriert wurde. Das muss alles angepasst werden, eventuell brauchts
auch eine neue MAC-Adresse. Das ist aber alles nicht wirklich
schwierig, macht jedoch ein wenig Arbeit.
Erspart habe ich mir aber eventuell das Ausbauen der Raspi-Platine aus
dem Gehäuse, vielleicht die Anschaffung eines debug uart Kabels, den
Aus- und Wiedereinbau der NVME-Platine und und und. Die Zugänglichkeit des
debug uart ist beim Raspi leider nicht sehr gut gelöst.
