Auch zum Raspberry Pi 5 ist ein Compute Module erschienen. Wie beim CM4 ist es ein kompletter Raspberry ohne I/O Ports.

Compute Module 5
Auf der Oberseite des CM5 sitzen SoC, RAM und ggf. Wi-Fi Modul. Auch der RP1 Chip des Raspberry Pi 5 findet hier noch Platz. Mit 55 * 40mm ist die Platinengröße zum CM4 unverändert geblieben.
Auf der unteren Seite befinden sich wie beim Compute Module 4 die beiden DF40 Kontaktleisten mit jeweils 100 Pins. Bei manchen Modellen befindet sich auch der eMMC Chip auf der Unterseite. Die Kontaktleisten sind mechanisch kompatibel zwischen den beiden CM Modellen, aber nicht elektrisch. Du könntest zwar ein Compute Module 5 in ein Baseboard für das CM4 einstecken, aber da die Signalbelegung unterschiedlich ist, würde das nicht unbedingt funktionieren. Möglicherweise könnte das CM oder das Baseboard sogar Schaden nehmen.

Das SoC ist wie beim Raspi 5 der BCM2712 und auch das Wi-Fi Modul wurde von diesem übernommen. Es gibt wie beim Compute Module 4 auch hier wieder die Möglichkeit, eine externe Antenne anzuschließen.
Die Lötbrücken zur Speicheranzeige zeigen an, dass mein CM5 über 16GB RAM und 32GB Flashspeicher verfügt. Beim Flash sind wohl auch noch Versionen mit 64GB und 128GB Speicher angedacht. Ich bin gespannt, ob die jemals erscheinen werden.
I/O Board
Auch für dieses Compute Module existiert ein I/O Board als Referenzdesign. Der auffälligste Unterschied zum 4er Pendant ist der Sockel für eine NVME M.2. Der PCIe Slot ist dafür weggefallen.

Alle Signale der Kontaktleisten werden auf dem I/O Board herausgeführt. Für Module ohne eMMC ist ein MicroSD Slot vorhanden. Die GPIO Leiste ist kompatibel zum Raspi 5.
eMMC flashen
Der Vorgang, das eMMC auf dem Compute Module 5 zu flashen unterscheidet sich kaum von dem beim CM4. Ich gehe hier trotzdem nochmal im Detail darauf ein.
Jumper setzen und CM5 einbauen
Zunächst muss die Steckbrücke (Jumper) direkt neben dem Kameraanschluss überbrückt werden. Dieser ist auf der Platine mit Jumper to disable eMMC Boot beschriftet.

Danach kann das CM5 vorsichtig in die Kontaktleisten gedrückt werden. Hier solltest du nicht zu viel Kraft aufwenden, um Platinen oder Kontakte nicht zu beschädigen. Sollte das nicht einfach einrasten, liegt das Modul vermutlich falsch auf den Kontaktleisten.

Start in den Flashmodus
Um den Flashspeicher zugänglich zu machen, musst du den Powertaster zwischen den MIPI Konnektoren gedrückt halten, während du das I/O-Board über USB-C mit dem Arbeitsrechner verbindest. Auf meinem Debian Desktop finde ich mit
lsusb
folgendes Device: Broadcom Corp. BCM2712D0 Boot
. Damit können wir jetzt den eigentlichen Flashvorgang vorbereiten.
Dazu benötigen wir wieder rpiboot Programm, dass leider in den Debian (bookworm) Repositories nicht vorhanden ist.
rpiboot
Zunächst installieren wir ein paar notwendige Pakete, um rpiboot aus den Quellen selbst zu compilieren.
sudo apt install git libusb-1.0-0-dev pkg-config build-essential -y
Als nächstes clonen wir das aktuelle git Repo mit dem Quellcode
git clone --depth=1 https://github.com/raspberrypi/usbboot
Mit den nächsten beiden Kommandos wird rpiboot gebaut.
cd usbboot
make
Danach befindet sich im aktuellen Verzeichnis ein 755KB großes Programm namens rpiboot.

Jetzt kannst du rpiboot
aufrufen. Das Compute Module 5 auf dem I/O Board muss immer noch im Bootmodus sein. Solltest du zwischenzeitlich die USB-Verbindung getrennt haben, musst du die obigen Vorgänge wiederholen.
sudo ./rpiboot
In ein paar Sekunden schreibt rpiboot jetzt die benötigten Dateien in der Boot-EPROM. Wichtig ist, das I/O-Board nicht vom Strom zu trennen, bis rpiboot fertig ist.

Den Erfolg meldet das I/O Board, in dem die rote Power LED erlischt und die grüne Activity LED leuchtet.
Auf meinem Debianrechner finde ich mit lsblk jetzt ein neues Device mit 32GB Kapazität.
Raspberry Pi OS flashen.
Mit dem Raspberry Pi Imager kann ich jetzt Raspberry Pi OS auf das eMMC schreiben.
Dazu wähle ich bei Modell Raspberry Pi 5 aus, das schließt das Compute Module 5 ein.

Beim Betriebssystem wähle ich Raspberry Pi OS (other)/ Raspberry Pi OS Lite (64-bit) aus.
Der Imager findet das eMMC als mmcblk0
. Dies wähle ich bei SD-Karte aus.

Jetzt kann der Flashvorgang gestartet werden. Sobald der Imager seine Erfolgsmeldung zeigt, trenne ich das I/O Board vom USB, entfernen den Jumper und schließe ein originales Raspberry Pi 5 Netzteil an. Das Modul bootet jetzt vom eMMC und ist nach kurzer Zeit auch in meinem WLAN auffindbar.

Tests
Es ist etwas müßig, das CM5 den üblichen Tests zu unterziehen, da die Hardware des Moduls identisch zum Raspberry Pi 5 ist und dort schon getestet ist. Außerdem ist das Compute Module 5 sehr wandelbar und ändert seine Eigenschaften im Zusammenspiel mit dem gewählten Baseboard auf das es aufgesteckt ist.
Wi-Fi
Allerdings interessiert mich das integrierte Wi-Fi Modul dann doch. Daher messe ich mal fix mit iperf3

Das CM5 besitzt einen U.FL Anschluss für eine externe Antenne. Ich kann leider keine finden, um den Anschluss testen zu können. Aber Jeff Geerling hat in seinem Videobeitrag gemessen und festgestellt, dass die externe Antenne einen schlechteren Durchsatz zeigt als die interne des Module.
eMMC
Der eMMC Speicherchip ist ein BJTD4R von Samsung/SanDisk/LG und sitzt direkt auf dem CM5, daher lasse ich meine fio Testsuite für 60min darüber laufen und erhalte einen Wert von 60.000 IOPS in der Spitze. Zwischenzeitlich sackt der Wert ab, was sich durch eine Kühlung des Moduls beheben lässt.
Apropos Kühlung: Das I/O Board besitzt eine Buchse zum Anschluss eines aktiven Kühlers, aber keine Befestigung, um einen Active Cooler oder ähnliches aufzunehmen.

NVME
Mich interessiert jetzt aber doch noch, welche Performance die NVME Anbindung des I/O Boards hat und montiere eine Corsair MP600 Mini 1TB M.2 NVMe in den Slot. Dank einer Rändelschraube ist dies ohne Werkzeug innerhalb von wenigen Sekunden bewerkstelligt.
Der Testlauf ergibt 103.000 IOPS in der Spitze, die sich auch hier thermisch bedingt nur kurz halbieren.

Hier noch die Vergleichstabelle mit anderen Aufbauten.
Lesen (MB/s) | Schreiben (MB/s) | |
---|---|---|
Raspberry 5 mit MicroSD | 30,85 | 20,45 |
Raspberry 4 mit MicroSD | 10,15 | 6,63 |
Raspberry 4 mit Argon One M.2 SATA | 138,17 | 91,89 |
Pineberry Pi pcie1_gen=2 | 148,50 | 99,15 |
Pineberry Pi pciex1_gen=3 | 171,99 | 114,97 |
Geekworm X1001 pciex1_gen=3 | 229,95 | 153,30 |
CM5 eMMC | 121,93 | 81,61 |
CM5 I/O Board NVME | 284,24 | 189,66 |
Fazit
Auch das Compute Module 5 birgt wie sein Vorgänger ein großes Potential in Zusammenspiel mit unterschiedlichen Baseboards. Ich plane bereits den Umbau des hier benutzen CM5 in ein Baseboard, dazu folgt bald ein weiterer Post.
Das I/O Board bringt als Referenzdesign eine Menge Neuerungen mit, auch der Flashprozess ist im Vergleich zum Vorgänger etwas einfacher geworden.