In diesem Beitrag beschreibe ich wie man Raspbian auf dem Raspberry Pi Compute Modul 4 installieren kann.
Das Compute Modul 4 ist ein Raspberry Pi, der insbesondere für den Einsatz in Embedded Systemen und echten produktiven Umgebungen gedacht ist. Es ist kleiner (nur ca. 55mm x 40mm) und stabiler und konzentriert sich mehr auf kommerziellen Einsatz, als auch den Heimbereich. Details dazu gibt es bei meinem Lieblings-Raspi-Shop.
Das Compute Modul 4 (CM4) gibt es vielen verschiedenen Ausführungen. Es gibt CM4, die mit einem Kartenslot für eine SD Karte ausgeliefert werden und andere, die mit eMMC-Speicher versehen sind. Hier beschreibe ich ich wie man ein CM4 mit eMMC-Speicher mit Raspbian aufsetzt.
Um das CM4 zu betreiben bedarf es eines speziellen IO-Boards. Dieses bietet besondere Möglichkeiten und kann z.B. auch mit SATA Schnittstellen bestückt werden. Der eMMC-Speicher wird eigentlich genauso mit einem Betriebssystem beschrieben wie eine SD-Karte. Man muss den eMMC-Speicher nur vorher so einhängen, das dies möglich wird.
Voraussetzungen für Raspbian auf dem Raspberry Pi Compute Modul 4
Um Raspbian auf dem Compute Modul 4 zu installieren benötigt man folgende Hardware:
- Das Raspberry Pi Compute Modul 4
- Raspberry Pi Compute Modul 4 IO Board
- Ein passendes Netzteil (ich verwende ein 12V Netzteil am IO-Board)
- Einen Jumper oder eine Buchse-Buchse Breadboard Kabelsteckbrücke
- Möchte man die Real Time Clock des IO-Boards nutzen, braucht man noch eine CR2032 Knopfzelle
- ein Raspbian Image für das Compute Modul 4 (ich verwende Raspbian OS Lite 64-bit)
Den eMMC Speicher als Laufwerk einhängen
Nachdem man das Compute Modul auf das IO-Board aufgesteckt hat, muss der Jumper 2 (J2) auf dem IO-Board geschlossen werden. Dazu steckt man einfach den Jumper drauf oder verbindet beide Jumper Kontakte mittels der Kabelsteckbrücke. Im nächsten Schritt verbindet man den USB-Port des Computers mit dem IO-Board und schließt dann das Netzteil an. Das Compute Modul startet nicht, weil noch kein Betriebssystem installiert, aber die rote LED, die anzeigt, das Board ist eingeschaltet leuchtet jetzt.
Das Einhängen erfolgt jetzt mittels des Tools usbboot. Die Installation erfolgt dabei wie folgt:
sudo apt install libusb-1.0-0-dev git clone --depth=1 https://github.com/raspberrypi/usbboot cd usbboot make
Der eMMC Speicher kann jetzt mit dem Kommando „sudo ./rpiboot“ eingehängt werden.
Das Kommando erzeugt dabei die Ausgabe:
user@host1:~/usbboot$ sudo ./rpiboot Waiting for BCM2835/6/7/2711… Loading embedded: bootcode4.bin Sending bootcode.bin Successful read 4 bytes Waiting for BCM2835/6/7/2711… Loading embedded: bootcode4.bin Second stage boot server Loading embedded: start4.elf File read: start4.elf Second stage boot server done
Um zu überprüfen, ob das Einhängen geklappt hat überprüft man mit „lsblk“, ob ein neues Device hinzugekommen ist. Der eMMC Speicher wird dabei als „sdx“ angezeigt. Dabei steht x für einen kleinen Buchstaben a-z. Es ist wichtig, dass man sich genau merkt welches Device den eMMC Speicher bezeichnet. Falls der Vorgang nicht beim ersten Mal klappt, einfach mal ein paar Sekunden warten und erneut versuchen.
Übertragen des Raspbian Images auf das Compute Modul 4
Um das Raspbian Image auf das Compute Modul 4 zu übertragen, verwende ich balenaEtcher. Einfach das Image auswählen, die Partition des Compute Moduls einstellen (/dev/sdx, wie oben beschrieben) und auf „Flash“ klicken. Nach Abschluß des Flash-Vorgangs, hängt man die Partitionen boot und rootfs wieder aus (unmounten), entfernt die USB Verbindung und schaltet das IO-Board aus (Stromstecker ziehen). Dann entfernt man den Jumper J2.
Das wars. Raspbian ist jetzt auf dem Compute Modul installiert. Jetzt einfach noch das IO-Board an z.B. Monitor, Netzwerk, etc. anschließen und zum Schluß die Stromversorgung wieder einstecken. Dann bootet das Modul auf Raspbian.
Noch ein paar Tipps
Ich betreibe das Modul headless und habe daher nie einen Monitor angeschlossen. Legt man auf der boot Parition eine leere Datei mit dem Name „ssh“ an, dann kan man sich direkt per ssh an dem Compute Modul 4 anmelden.
Verwendet man ein Image ab Debian Version 12 (bookworm), muss zusätzlich eine Datei mit Username und Passwort namens userconf auf die Boot-Partition kopiert werden, da es keinen Standardbenutzer mehr gibt. Diese Datei sollte genau eine Zeile beinhalten: Username:VerschlüsseltesPasswort. Das Passwort verschlüsselt ihr am einfachten mit: echo ‚meinpassworr‘ | openssl passwd -6 -stdin.
Um die Real Time Clock zu aktivieren habe ich folgende Zeilen am Ende der Datei /boot/config.txt angefügt. Das klappt natürlich nur wenn auch die Knopfzelle eingesetzt wurde.
dtparam=i2c_vc=on
dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi
Im Internet gibt es zahlreiche Hinweise, dass die USB-Ports nicht ohne Anpassungen in der config.txt funktionieren. Das kann ich nicht bestätigen. Bei mir konnten alle USB-Anschlüsse direkt verwendet werden. Also erstmal ausprobieren, bevor man hier etwas ändert.
Ebenfalls ab Debian Release 12 (bookworm) ändert sich der Umgang mit den Netzwerkanschlüssen und deren Einrichtung. Für die Einstellungen sollte man das Werkzeug nmtui verwenden, das über eine Benutzeroberfläche per ssh verfügt.
Weitere Artikel zum Raspberry Pi findet ihr in der Kategorie „Raspberry Pi„.
Danke, das hat uns sehr weitergeholfen.