Liebe Besucherin, lieber Besucher,

auf Grund extremer Spamregistrierungen wurden sehr viele Mailadressen gesperrt und die Freischaltung registrierter Accounts auf manuelle Überprüfung umgestellt.
Am häufigsten registrieren sich Spammer über die Server von WEB.de und GMail.com aber auch viele andere (teilweise nicht existierender) Mailadressen landen in der Registrierung.
Daher wurden Registrierungen für diese beiden Mailer (und weitere) generell gesperrt.
Selbst der Einsatz diverser Spamlisten-/Adressen-Checker reicht nicht aus, um ominösen Seelenverkäufern den Zutritt zu verwehren, daher diese strengen Maßnahmen.
Wenn Du eine der beiden (oder einen der anderen gesperrten Mailanbieter) nutzt und trotzdem Mitglied werden möchtest, oder aus anderen Gründen abgelehnt wurdest, sende bitte eine kurze Nachricht mit gewünschtem Nutzernamen und Mailadresse über das Kontaktformular oder eine Mail an mail@raspifun.de.

Ich bitte um Verständnis und wünsche trotzdem viel Spaß hier im Forum.

Raspberry Pi M.2 HAT+ (nur Pi 5 !!)

Hier gibt's Anleitungen und Themen dazu.
Antworten
Benutzeravatar

Themenstarter
Outi
Administrator
Administrator
Beiträge: 514
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

Raspberry Pi M.2 HAT+ (nur Pi 5 !!)

Beitrag von Outi »

History:
10.08.2024 - Erste Veröffentlichung


Hinweis:
Diese Anleitung/Information erhebt keinen Anspruch auf Vollständigkeit und kann Fehler enthalten und die Benutzung erfolgt auf eigene Gefahr.
Es wird keinerlei Haftung für Schäden und/oder Datenverluste übernommen.

Info:
Der hier in dieser Anleitung gezeigte Raspberry Pi 5 ist mit einem originalen aktiven Kühler der Foundation versehen.
Dieser ist nicht im Lieferumfang des Raspberry Pi M.2 HAT+ enthalten und spielt auch sonst für diese Anleitung keine Rolle.
Da ich seit dem Pi 4B keinen Pi mehr ohne Kühler betreibe und das auch nicht empfehlen kann, wird die eine oder andere Anleitung ebenfalls einen Kühler zeigen, auch wenn das keinen Einfluss auf die Anleitung selbst hat, andernfalls wird darauf hingewiesen.

Für diese Installation werden folgende Teile benötigt:
  • Raspberry Pi 5
  • Netzteil für den Pi 5
  • Raspberry Pi M.2 HAT+
  • NVMe SSD 2230 oder 2242
  • SD Karte
  • USB Stick
Bei dieser Installation wird rein im headless Modus installiert, also der Pi 5 per PC über ein Terminal vorinstalliert.
Wer möchte, kann dies auch per grafische Oberfläche und den passenden Tools machen, jedoch ist das bei Lite Versionen ohne grafische Oberfläche nicht ganz so einfach.

Hier wird vorab ein lauffähiges System auf der SD-Karte generiert, welches nachher auf die NVMe SSD kopiert wird, da wir die SSD vorab nicht bespielen können, wenn wir keinen externen NVMe/USB Adapter zur Hand haben und dafür extra einen kaufen, ist nicht nötig.
Das umgehen wir, indem einen USB Stick zum Kopieren von SD auf SSD nutzen (direktes Kopieren des laufenden Systems geht oft schief).
Somit können wir mit dieser Methode sowohl Lite als auch Full Systeme auf eine leere NVMe SSD im eingebauten Zustand kopieren.

Hinweis:
Dieses HAT funktioniert nur mit dem Raspberry Pi 5 !!

Beim Raspberry Pi M.2 HAT+ handelt es sich um ein HAT, bei dem der Raspberry Pi 5 statt von SD oder USB (Stick oder SSD mit Adapter) neuerdings auch über PCIe booten kann und zwar von einer NVMe SSD (nicht SATA !!):

Bild

Infos auf der Herstellerseite: Externer Link Raspberry Pi M.2 HAT+

Infos zum Angebot bei Amazon:

Dabei wird dieses HAT auf den Pi 5 geschraubt und kann eine kurze 2230er oder die etwas längere 2242er NVMe SSD aufnehmen.
Die sonst übliche 2280er (oder länger) kann auf Grund der Länge NICHT montiert werden !!

Dieses HAT sitzt über einem evtl. montierten Kühler (z.B. dem originalen aktiven Kühler der Foundation) und verdeckt diesen.
Die Foundation weißt darauf hin, dass dies kein Problem sei und dank der GPIO Verlängerung und den langen Abstandshaltern genügend Abstand zum Kühler vorhanden sei.
Dies ist in der Tat so und soll auch im originalen Gehäuse angeblich nicht zu Problemen führen, so lange man auch wirklich einen Kühler/Lüfter montiert.
Ich nutze das originale Gehäuse nicht, daher kann ich dazu nichts sagen.

Einfach verpackt in einem dünnen Pappumschlag (ohne Abbildung) kam die Lieferung von Amazon, in dem sich die folgende Originalverpackung befand:

Bild

Das folgende Bild zeigt den kompletten Inhalt:

Bild

Neben dem HAT selbst befinden sich noch die obligatorischen Schrauben und Abstandshalter, das bereits am HAT befestigte Folienkabel für die Verbindung zum PCIe Steckplatz auf dem Pi 5 und die Verlängerungspinleiste für den GPIO Port.

Im folgenden Bild sieht man die Rückseite:

Bild

Hier wurde bei der Lieferung das bereits am HAT montierte Folienkabel auf der Rückseite mit einem Klebestreifen fixiert.

Diese 1TB NVMe SSD habe ich in einer Aktion relativ günstig bekommen und dient nur der Demonstration:

Bild

Bitte beachten:

Hinweis:
Diese NVMe PCIe 4x4 SSD ist nur ein Beispiel und keine Garantie, dass das ganze System auch problemlos läuft !!
Zudem ist sie eigentlich völlig oversized (was die technischen Daten angeht) aber preislich sind die Unterschiede nicht mehr so groß.
Natürlich muss man auch keine 1TB SSD nehmen, für viele Anwendungen reichen auch kleinere Versionen aus.
Da ich meine SSDs oft auch in anderen Geräten verwende, nehme ich meist den goldenen Mittelweg (Verhältnis Preis zu Größe), um langfristig was davon zu haben.
Diese SSD entspricht PCIe 4x4, der Pi 5 kann offiziell "nur" PCIe 2x1 (ohne Gewähr des Herstellers PCIe 3x1) und wird daher nicht im Geringsten ausgereizt.
Ich habe diese SSD daher nur verwendet, da ich sie eben im Angebot war.
Welche SSD ratsam oder empfehlenswert ist/wäre, hängt vom Preis und anderen Dingen ab.
Leider gibt es auch SSDs, die nicht oder nur eingeschränkt laufen.
Hier sollte man nach Kompatibilitätslisten (auch anderer HAT-Hersteller) googeln und notfalls vom Widerrufsrecht gebrauch machen, sofern man online bestellt hat.

Als Erstes werden die vier Abstandshalter montiert, die das HAT über dem Pi 5 auf Abstand halten.
Dabei auch gleich die GPIO-Verlängerungsleiste auf den Pi stecken.
Im Set sind Schrauben unterschiedlicher Länge vorhanden, wobei es hier wohl egal ist, welche man verwendet.
Da das HAT auch für andere Zwecke verwendet werden kann (z.B. AI Kit oder andere PCIe Hardware), für die weitere Löcher im HAT vorhanden sind, wurde mehr mitgeliefert, als wir hier für die SSD benötigen.

Montiert sieht das Ganze dann so aus:

Bild

Um das Folienkabel zu befestigen, muss zuerst am Pi die Verriegelung vorsichtig geöffnet werden (hier bereits offen):

Bild

Hinweis:
!! Achtung !! Die Verriegelung wird vorsichtig nach oben gehebelt.
Wer hier nicht aufpasst, zerstört evtl. das filigrane Gebilde.

Nach dem Einfädeln des Folienkabels wird die dünne Verriegelungsleiste wieder vorsichtig nach unten gedrückt.
Um den Schlitz hinter der Verriegelung leichter zu treffen, hilft es, wenn man das Folienkabel vorher vorsichtig kurz vor dem Ende etwas nach vorne biegt.

Hier empfehle ich dringend Ruhe zu bewahren und die Verriegelung nicht gleich schon beim Öffnen zu ruinieren.
In der Ruhe liegt die Kraft und lieber mehrfach Anläufe nehmen als hinterher zu fluchen !!

Das Ganze sieht dann fertig so aus:

Bild

Nun muss nur noch die SSD montiert werden.
Dabei sollte man unbedingt beachten, dass keinesfalls die Kontakte oder irgendwelche Bauteile berührt werden, sonst ist es schnell aus mit dem Spaß an der ganzen Sache.

Dabei wird erst die bereits vormontierte Schraube zum Halten der SSD abgeschraubt, dann die SSD leicht schräg in die Buchse gesteckt und dann die Schraube wieder zusammen mit der SSD auf dem HAT verschraubt.
Man muss also die SSD bereits schräg in den Slot eingeschoben haben und legt dann die Schraube an der SSD-Einkerbung so an, dass die SSD in der entsprechende Kerbung der Schraube anliegt und drückt dabei die SSD dann zum HAT runter, bis das Gewinde der Schraube in das Loch auf dem HAT greifen kann.
Dann dreht man die Schraube vorsichtig ins HAT und befestigt so die SSD endgültig am HAT.

Um dies ein wenig anschaulicher zu zeigen, hier eine Nahaufnahme im montierten Zustand:

Bild

Die auf dem Bild mit einem roten Pfeil gezeigte Kerbe an der Schraube hält die SSD an ihrer Position.

Es gibt andere Lösungen, bei denen an deren HATs ein abstehendes Gewinde montiert ist, wo man die SSD einfach auflegt und dann mit der passenden Schraube montiert.
Dort muss bei den SSDs, die eine andere Länge haben, das abstehende Gewinde (dass auch die nötige Höhe bereitstellt) mit versetzt werden, was einen zusätzlichen Aufwand bedeutet.
Bei diesem HAT hat hier die Foundation dieses extra montierte Gewinde auf dem HAT weggelassen und stattdessen in den beiden Löchern ein planes Gewinde in die Platine dauerhaft integriert.

Da hier nun durch die fehlende Höhe der Gewinde bei einer normalen Schraube die SSD schräg nach unten direkt auf die Platine gedrückt werden würde, hat die Foundation eine Schraube hinzugefügt, die zum einen einen größeren Kopf hat, den man ohne Werkzeug mit der Hand drehen kann und zum anderen eine Kerbe besitzt, die den gewünschten Abstand der SSD zum HAT bereit stellt.

Somit kann man die Schraube ganz leicht ohne Werkzeug versetzen und die passende Größe der SSD im entsprechenden Loch auf dem HAT nutzen.
Des Weiteren hat man bei dieser Lösung den Vorteil, dass diese Schraube wirklich nur den Abstand herstellt und die SSD nicht fest an die Platine verschraubt und hitzebedingte Verziehungen/Dehnungen der SSD minimal ausgleichen kann.
Das sollte zwar bei beiderseits fest montierten SSDs eigentlich auch kein Problem sein aber diese Montageart ist technisch einfach sicherer.

Man muss dann zwar bei der Montage die Schraube an der SSD anlegen, hat aber am Ende weniger Material und dadurch weniger Arbeit.
(Wie das z.B. bei Pimoroni mit dem NVME Base aussieht, kann man in meiner anderen Anleitung dazu anschauen.)

Fertig sieht das Ganze dann so aus:

Bild

Das auf dem Bild unten links abgehende Kabel bitte ignorieren.
Hier hatte ich inzwischen die originale RTC Battery montiert und da der Stecker sehr filigran ist, wollte ich diesen wegen dem Bild nicht extra abziehen.
Ich musste noch auf die Lieferung meiner kurzen SSD warten und habe solange an anderen Anleitungen gearbeitet.

Weiter geht es mit der Installation und Anpassung des HATs.

Es gibt 4 mir bekannte Varianten Varianten, die NVMe SSD mit dem Raspberry Pi OS zu versehen:
  1. SD Karte einrichten und anschließend auf die SSD kopieren
  2. NVMe SSD in einem externen USB Gehäuse direkt bespielen
  3. Netzwerkinstallation direkt auf die NVMe SSD
  4. NVMe SSD per OTG direkt vom PC auf die NVMe installieren*
*Für den letzten genannten Punkt habe ich eine extra Anleitung erstellt:
Externer Link Raspberry Pi 5 - Raspberry Pi OS Installation direkt auf NVMe - OTG
Dieser Schritt erfordert aber spezielle Hardware, entweder einen passenden aktiven USB HUB oder einen PC mit entsprechendem USB Port.
Weitere Infos dazu befinden sich in der verlinkten Anleitung.

Da ich weder ein externes NVMe/USB Gehäuse habe, noch Monitor, Maus und Tastatur anschließen möchte, habe ich mich hier für den ersten Punkt entschieden, die headless Variante (also "fremdgesteuert"), bei der ich remote von einem PC aus zugreife.
Die Netzwerkinstallation des 3. Punktes ist noch relativ neu und wohl noch im Betastadium.
Zudem könnte es sein, dass ich trotzdem noch eine SD vorab benötige, um die Netzwerbootfähigkeit erst herzustellen.
Das kann aber auch bei Punkt 2 passieren, falls der Pi nicht sofort von der SSD bootet.
Daher gehe ich nun den sichersten Weg der 3 Möglichkeiten.
Gerne können die beiden anderen Wege getestet werden, Erfahrungen sind hier im Forum immer erwünscht.

Zuerst installieren wir also das gewünschte Raspberry Pi OS (64 Bit / Bookworm) auf eine SD Karte (Pi 5 läuft erst ab Bookworm).
Da auf meiner NVMe SSD genug Platz ist und ich mich ab und zu per Remote Desktop verbinde, habe ich die Full Version installiert.
Außer der Lite Version ohne Desktop war es das aber auch schon an Auswahl.
Wer Ubuntu oder was anderes installieren möchte, kann sich ja trotzdem hier orientieren, jedoch kann ich da nicht weiter helfen.

Die Installation beschreibe ich hier aber nicht extra.
Eine Anleitung zum originalen Raspberry Pi OS findet Ihr hier: Externer Link Raspberry Pi installieren - Raspberry Pi OS

Dabei installiert man die SD Karte so, als wenn man sie dauerhaft nutzen möchte.

Info:
Wenn wir schon dabei sind, die SD Karte mit dem Raspberry Pi Imager so zu installieren, wie wir den Inhalt nachher auch auf der NVMe SSD nutzen möchten (egal ob Full oder Lite), installieren wir anschließend auch gleich den USB Stick mit dem Lite Image, da wir ihn später für die Übertragung von SD auf SSD benötigen.
Tipp: Den USB Stick anders benennen, zur besseren Unterscheidbarkeit (z.B. "bootstick" statt "raspberrypi").

Nach dem Beschreiben der SD Karte am PC (oder was auch immer benutzt wird) mit dem Raspberry Pi Imager, wird diese in den Pi 5 gesteckt und davon gebootet.

Bei mir hat das erste Booten von der SD Karte gefühlt ewig gedauert, mir kam es vor, als wenn der Pi 5 drei mal gebootet hat.
Aber das ist nicht weiter schlimm, hier muss man einfach Geduld haben.
Das Login klappte dann problemlos bei mir, nachdem der Lüfter dann dauerhaft ruhig blieb (dreht beim Booten voll auf).

Jetzt können weitere Anpassungen schon vorgenommen werden oder das kann auch später gemacht werden, wenn die NVMe selbstständig läuft.

Was wir aber sicherstellen müssen, sind folgende Punkte:
  • Aktuelles System
  • Bootloader aktualisieren (latest)
  • Bootmode ein/umstellen
Um das System und ggf. Firmwares usw. zu aktualisieren, dient folgender Befehl, den wir zuallererst ausführen:

Code: Alles auswählen

sudo apt update && sudo apt full-upgrade -y
Dieser Vorgang dauert unterschiedlich lange, je nachdem wie alt/neu das aufgespielte Image ist.
Bei meinem Full Version Image hat das eeeewig gedauert ....
Daher auch hier: einfach den Dingen ihren Lauf lassen.
Wer sich nicht sicher ist, ob sich der Pi aufgehängt hat, kann dies ganz einfach testen, indem er eine 2. SSH Verbindung aufbaut.
Geht das, ist alles ok.

Nun rufen wir die Konfigoberfläche auf:

Code: Alles auswählen

sudo raspi-config
Es erscheint folgendes Menü, bei dem wir - wie gezeigt - in die erweiterten Einstellungen (Advanced Options) gehen:

Bild

Darin wechseln wir auf die Auswahl der Bootloader Version:

Bild

Und darin bestätigen wir den "latest" (aktuellsten) Bootloader mit Klick/Enter auf Ok:

Bild

Die nachfolgende Frage bestätigen wir mit Yes:

Bild

Nun passiert ein wenig im Hintergrund und nach der Konfiguration erscheint die Bestätigung:

Bild

Nach der Bestätigung mit Ok landen wir wieder im Hauptmenü.

Jetzt stellen wir noch die Bootpriorität ein, also von was wir zuerst booten wollen.

Dazu gehen wir wieder in die Advanced Options und dann in Boot Order:

Bild

Das kann man natürlich später jederzeit wieder in dieser Konfiguration ändern/anpassen.

Für diese Anleitung nutze ich daher die oben gezeigte NVMe/USB/SD Auswahl, da wir nachher auch vom USB Stick booten müssen, um die vorbereitete SD Karte auf die NVMe SSD zu kopieren.

Nach der Auswahl und Bestätigung "rattert" es wieder kurz und es folgt die Bestätigung:

Bild

Das Ganze wieder mit Ok bestätigen und wir gelangen zurück im Hauptmenü.
Dort auf Finish gehen und folgende Rebootanfrage unbedingt mit No bestätigen !!

Bild

Hier darf noch nicht neu gebootet werden, da wir den Pi herunterfahren müssen, um den USB Stick für den Boot einzustecken.

Aber zuvor:

Ob der Bootloader aktuell ist, können wir mit folgendem Befehl prüfen:

Code: Alles auswählen

sudo rpi-eeprom-update 
Das sollte dann in etwa so aussehen:

Code: Alles auswählen

pi@raspberrypi:~ $ sudo rpi-eeprom-update
BOOTLOADER: up to date
   CURRENT: Fri  5 Apr 10:41:19 UTC 2024 (1712313679)
    LATEST: Fri  5 Apr 10:41:19 UTC 2024 (1712313679)
   RELEASE: latest (/lib/firmware/raspberrypi/bootloader-2712/latest)
            Use raspi-config to change the release.
Sollten hier beide gezeigten Versionen voneinander abweichen, kann man per sudo raspi-config die Routine für den neusten Bootloader nochmal durchlaufen lassen.

Um zu schauen, ob die NVMe erkannt wurde, gibt es diesen Befehl:

Code: Alles auswählen

lsblk
Das zeigt bei mir Folgendes:

Code: Alles auswählen

pi@raspberrypi:~ $ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
mmcblk0     179:0    0  29.4G  0 disk
├─mmcblk0p1 179:1    0   512M  0 part /boot/firmware
└─mmcblk0p2 179:2    0  28.9G  0 part /
nvme0n1     259:0    0 931.5G  0 disk
Hier wird meine NVMe SSD also bereits erkannt und als nvme0n1 aufglistet.
Wer hier eine gebrauchte/nicht leere NVMe SSD einsetzt, kann u.U. weitere Partitionen sehen.
Wie man hier Partitionen löscht usw. kann das installierte Tool fdisk nutzen.
Hier sei aber zu beachten, dass man nicht die falschen Daten löscht !!

Es kann evtl. vorkommen, dass der PCIe Port am Pi 5 noch nicht aktiviert wurde.
U.U. wird dann hier natürlich auch keine NVMe SSD angezeigt.
Das war bei den ersten Images wohl der Fall.
Die Foundation schreibt aber, dass dies inzwischen standardmäßig der Fall sein soll.

Wer also jetzt installiert und/oder aktualisiert, sollte also den PCIe Port bereits aktiv haben.

Da es in raspi-config aktuell dafür keinen Menüpunkt gibt, wird dieser Port über die bekannte Datei config.txt geregelt.
Darin wird der Port manuell aktiviert.

Falls der PCIe Port also nicht aktiv sein sollte, öffnen wir die Datei mit folgendem Befehl:

Code: Alles auswählen

sudo nano /boot/firmware/config.txt
Ganz unten unter [all] fügen wir folgende Zeile hinzu:

Code: Alles auswählen

dtparam=pciex1
oder

Code: Alles auswählen

dtparam=nvme
Beide Zeilen sind gleichwertig.

Auf die Umschaltung zwischen PCIe 2 und PCIe 3 kommen wir zum Schluss.

Der Eintrag ist wohl nicht mehr notwendig aber er schadet auch nicht.
Über kurz oder lang wird er wohl trotzdem wegfallen.
Wer sicher gehen will, trägt ihn einfach ein.

Nach dem Eintrag müssen wir den Pi neu starten:

Code: Alles auswählen

sudo reboot
Nach erneutem Einloggen schauen, ob die NVMe SSD dann angezeigt wird (obiger lsblk Befehl).

Nun erfolgt normalerweise die Datenübertragung.

Pimoroni selbst empfiehlt folgenden Befehl (hier jedoch noch nicht empfohlen):

Code: Alles auswählen

sudo dd if=/dev/mmcblk0 of=/dev/nvme0n1 status=progress
Das ist jedoch mit Vorsicht zu genießen, denn viele Stellen im Internet sagen Probleme voraus, evtl. läuft das System sogar anfänglich und später funktioniert dann irgendwas nicht.

Daher müssen wir einen anderen Weg gehen.

Dafür haben wir weiter oben den extra USB Stick mit dem Lite Image erstellt, von dem wir aus problemlos von SD auf SSD kopieren können.
Da muss nicht viel konfiguriert werden, er dient lediglich zum Kopieren der SD Karte auf die NVMe SSD.
Somit kopieren wir nicht das laufende System, sondern booten von USB und kopieren die bereits eingerichtete SD Karte.

Zuerst fahren wir den Pi aber erst herunter:

Code: Alles auswählen

sudo poweroff
Sobald die rote LED dauerhaft und alleine leuchtet, können wir den USB Stick einstecken und den Powerbutton am Pi drücken, um ihn wieder hoch zu fahren.

Ob der Pi nun mit dem USB bootet, kann ich bei mir ganz gut erkennen, da mein USB Stick dies mit einer LED durch blinken anzeigt.
Wer keine LED am USB Stick hat, muss nachher eingeloggt schauen, dass er auch wirklich per USB gebootet hat.

Nun prüfen wir, ob alles erkannt wurde:

Code: Alles auswählen

lsblk
Das sollte nun so aussehen:

Code: Alles auswählen

pi@bootstick:~ $ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    1   3.8G  0 disk
├─sda1        8:1    1   512M  0 part /boot/firmware
└─sda2        8:2    1   3.2G  0 part /
mmcblk0     179:0    0  29.4G  0 disk
├─mmcblk0p1 179:1    0   512M  0 part
└─mmcblk0p2 179:2    0  28.9G  0 part
nvme0n1     259:0    0 931.5G  0 disk
Wurde der USB Stick - wie empfohlen - auf bootstick umbenannt, sehen wir das schon nach dem/beim Login.
Aber auch hier in der Ausgabe steht dann pi@bootstick

Wer seinen Pi ebenfalls raspberrypi genannt hat (so wie die SD Karte), kann den Boot von SB trotzdeem erkennen, da dieser nun hier z.B. sda genannt wurde und die Partition sda1 dahinter das gebootete Verzeichnis /boot/firmware anzeigt.

Jetzt können wir den oben gezeigten Kopierbefehl nutzen, da sowohl SD Karte als auch NVMe SSD nun nicht mehr eingebunden sind und der Vorgang problemlos durchgeführt werden kann.

Wenn also beide Laufwerke nach wie vor mmcblk0 und nvme0n1 heißen, kann der nachfolgende Befehl so genutzt werden:

Code: Alles auswählen

sudo dd if=/dev/mmcblk0 of=/dev/nvme0n1 status=progress
Hierbei wird auch der Fortschritt angezeigt und bitte nicht wundern, die Geschwindigkeit dürfte nicht all zu hoch sein, da der SD Karten Slot auch beim Pi 5 theoretisch nicht über 100MB/s hinaus gehen soll und bei mir wurde eine Kopiergeschwindigkeit von ca. 70MB/s angezeigt.
Zudem spielt die Qualität der SD Karte selbst noch eine große Rolle.

Das hier in Kopiervorgang stattfindet, zeigt, dass man aktuell nichts in der config.txt eintragen muss, damit der PCIe Port überhaupt arbeitet.
Wer will, kann dies trotzdem tun.
Wer Probleme mit der Erkennung des PCIe Ports hat, muss das wahrscheinlich tun.

Sobald der Vorgang abgeschlossen ist, können wir den Pi herunterfahren, um die SD Karte und den USB Stick zu entfernen:

Code: Alles auswählen

sudo poweroff
Die SD Karte und/oder den USB Stick kann man für spätere Notfälle zur Seite legen, falls der Pi mal nicht booten sollte.

Nach dem Poweroff ziehen wir beides ab und starten den Pi wieder durch seinen Power ON Knopf und wenn alles funktioniert hat, sollte er problemlos von der NVMe gebootet haben.

Dies merkt man schnell, wenn man einloggen will und der Prompt erscheint.
Erscheint er nicht, ist irgendwo was schief gelaufen.

Ist das Einloggen möglich, kümmern wir uns als nächstes um die Partitionsgröße, denn der vorherige Befehl hat die SD Karte 1:1 auf die NVMe SSD kopiert, bei mir also 32GB.

Das können wir ganz leicht anpassen.

Wenn wir uns nun die Partitionen anschauen, sieht man, dass die Hauptpartition nur die Größe unserer vorherigen SD Karte hat:

Code: Alles auswählen

pi@raspberrypi:/ $ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 931.5G  0 disk
├─nvme0n1p1 259:1    0   512M  0 part /boot/firmware
└─nvme0n1p2 259:2    0  28.9G  0 part /
Bei der untersten Partition nvme0n1p2 steht 28.9G, das entspricht meiner SD Karte abzüglich etwas Platz für das System.

Um hier wieder die volle Größe zu erhalten, wird wieder sudo raspi-config aufgerufen.

Im Hauptmenü gehen wir wieder in das Untermenü Advanced Options.

Bild

Dort geht es weiter auf Expand Filsystem.

Der Befehl wird nach Aufruf schnell ausgeführt, da hier nur ein Eintrag gesetzt wird, der beim nächsten Booten die eigentliche Vergrößerung veranlasst.
Bestätigt wird dies mit dem folgenden Fenster, das auch auf diese nachfolgende Aktion hinweist:

Bild

Nach der Bestätigung mit Ok gelangen wir wieder zurück ins Hauptmenü, wo wir die Konfiguration mit Finish beenden.
Es folgt die Frage, ob wir neu booten möchten, was mit Yes bestätigt wird.

Sollte hier keine Frage nach dem Reboot erscheinen, sondern das Terminal, dann rebooten wir weben selbst:

Code: Alles auswählen

sudo reboot
Nach dem Restart loggen wir uns wieder ein und prüfen den Erfolg der Vergrößerung:

Code: Alles auswählen

pi@raspberrypi:~ $ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 931.5G  0 disk
├─nvme0n1p1 259:1    0   512M  0 part /boot/firmware
└─nvme0n1p2 259:2    0   931G  0 part /
Jetzt sehen wir wieder in der letzten Zeile, dass sich die Hauptpartition von 28.9G auf 931G korrekt vergrößert hat.
Bei mir steckt eine 1TB SSD auf der Platine, die abzüglich System und diverser Umrechnungsparameter auf die genannten 931G kommt.

Damit ist die eigentliche Installation abgeschlossen und das System kann "eigentlich" so genutzt werden.

Eigentlich ....

Da war noch was mit dem Unterschied PCIe 2 und PCIe 3 ....

Ich habe zum Test einfach mal die Geschwindigkeit meiner NVMe SSD getestet, ohne den für den PCIe 3 notwendigen Eintrag vorzunehmen.
Dann habe ich den Test mit dem Eintrag wiederholt, um die Unterschiede zu messen.

Ergebnisse:

PCIe 2:

Code: Alles auswählen

Timing O_DIRECT disk reads: 1280 MB in  3.00 seconds = 426.14 MB/sec
PCIe 3:

Code: Alles auswählen

Timing O_DIRECT disk reads: 2442 MB in  3.00 seconds = 814.82 MB/sec
Man sieht also, dass sich die Geschwindigkeit durch PCIe 3 fast verdoppelt hat.

Um PCIe 3 zu aktivieren, öffnen wir wieder die Datei config.txt:

Code: Alles auswählen

sudo nano /boot/firmware/config.txt
Und wieder ganz unten fügen wir die folgende Zeil ein:

Code: Alles auswählen

dtparam=pciex1_gen=3
Danach muss der Pi wieder neu gestartet werden (sudo reboot).

Wer nun den sehr einfachen Speedtest machen möchte, den ich verwendet habe, installiert das Paket hdparm:

Code: Alles auswählen

sudo apt install hdparm -y
Aufgerufen wird der Test dann mit folgendem Befehl:

Code: Alles auswählen

sudo hdparm -t --direct /dev/nvme0n1p2
Hier wird unter Umgehung des Caches die direkte Lesegeschwindigkeit gemessen.
Das kann man auch kontrollieren, indem man den Befehl mehrmals hintereinander ausführt.

Man kann natürlich auch andere Laufwerke damit testen, dann ist statt nvme0n1p2 eine andere Partition einzugeben.
(Je nachdem, was Ihr testen wollt und Euch angezeigt wird.)

Allerdings ist der PCIe 3 Modus offiziell noch gar nicht so wirklich freigegeben, die Foundation bewirbt den PCIe Port momentan noch als weinen PCIe 2 Port.
Es bleibt spannend, was daraus wird, wenn die Foundation ihr eignes HAT auf den Markt bringt.

Hinweis:
Sollten im Betrieb mit PCIe 3 Probleme auftreten, empfiehlt es sich, diesen Modus wieder zu deaktivieren, da sonst Datenverlust droht.
Evtl. hilft es auch, vor intensiver Nutzung, diverse Tests durchzuführen, um zu sehen, ob der schnellere Modus einwandfrei arbeitet.

Leider lohnt sich eine NVMe SSD nur, wenn auch der schnellere Modus verwendet wird, da sonst eine externe USB3/SATA SSD reicht.
Es sei denn, man will unbedingt weg vom USB Port und eine schnellere Geschwindigkeit als die einer SD Karte haben.

Falls jemand weitere Infos und/oder Tipps zu diesem Thema hat oder Fehler in der Anleitung findet, immer her damit.
Ansonsten viel Spaß mit dieser Kombination.


Dir hat die Anleitung geholfen und Du möchtest das Forum unterstützen ??
Dann hast Du hier die Möglichkeit, einen kleinen - von Dir frei wählbaren - Obolus zu spenden:


Die Abwicklung erfolgt über PayPal.
Vielen Dank und weiterhin viel Spaß im Forum.


Fortsetzungen, Korrekturen, Änderungen möglich ....

Copyright © 2025 RasPiFun.de
;) Gruß Outi :D
Antworten