11.06.2024 - Hinweis mit Link auf Installation über OTG hinzugefügt (direktes Flashen der verbauten NVMe SSD)
11.04.2024 - Erste Veröffentlichung
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.
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 Pimoroni NVMe BASE 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.
Vorab eine kurze Info zu dieser recht komplex anmutenden Anleitung:
Hier wird eine Methode von vielen gezeigt, die rein headless (also ohne Monitor, Tastatur und Maus) funktioniert.
Leider habe ich bei einigen Recherchen diverse andere Anleitungen gefunden, die sogar fahrlässig das Übertragen des laufenden Systems beschreiben (leider auch auf der einen oder anderen Herstellerseite oder in diversen Shops).
Diese Anleitung hier umgeht dieses Problem durch die Nutzung eines zusätzlichen USB Sticks, der nur dazu dient, die vorkonfigurierte SD Karte auf die NVMe SSD zu kopieren.
Da hier das Hauptsystem nicht läuft, ist dieses Problem von vorne herein ausgeschlossen.
Wer möchte, kann auch auf die SD Karte die Full Version (mit GUI) des Raspberry Pi OS installieren und dann darin den integrierten Raspberry Pi Imager nutzen und als Ziel die (hoffentlich erkannte) NVMe SSD als Ziel angeben.
Diese Version benötigt allerdings entweder Monitor, Tastatur und Maus oder man konfiguriert VNC oder XRDP.
Die Installation funktioniert dann wieder wie bei einer reinen Installation als wenn man nur die SD Karte oder den USB Stick nutzen würde.
Eine reine Netzwerkinstallation ginge sicherlich auch (mit Monitor, Tastatur und Maus), jedoch kann es sein, dass diese Funktion erst konfiguriert werden muss und dann spare ich nichts gegenüber einer lokalen Installation per SD / USB.
Evtl. werde ich in Zukunft auf weitere Installationsarten genauer eingehen, hier geht es jedoch erstmal nur um die grundlegendste, bei der das Ziel OS beliebig ist, kein Problem bei der Kopie des Systems im Laufenden Betrieb auftreten kann und man keine Monitor, Tastatur und Maus benötigt.
Dabei handelt es sich quasi um eine "Low-Level-Installation".
Für diese Installation werden folgende Teile benötigt:
- Raspberry Pi 5
- Netzteil für den Pi 5
- Pimoroni NVMe BASE HAT
- NVMe SSD
- SD Karte
- USB Stick
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.
Dieses HAT funktioniert nur mit dem Raspberry Pi 5 !!
Beim Pimoroni NVMe BASE 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 !!):
Infos auf der Pimoroni Shopseite: Pimoroni NVMe BASE
Infos zum Pimoroni Angebot bei Amazon:
Dabei wird dieses HAT unter den Pi 5 geschraubt und kann eine 2280er (volle Länge) NVMe SSD aufnehmen, wie auch in modernen PCs üblich.
Andere Lösungen gehen oft auch auf den Pi 5, sind meist aber dann nur für kurze SSDs geeignet, da dabei auch Platz für diverse Kühllösungen frei gelassen werden muss.
Bestellt hatte ich das Pimoroni NVMe HAT bei Amazon, da ein Direktversand aus den UK teurer gewesen wäre, Pimoroni keinen deutschen Shop mehr betreibt und ich Dank Prime auch keine Versandkosten zahlen musste.
Einfach verpackt in einem dünnen Pappumschlag (ohne Abbildung) kam die Lieferung von Amazon, in dem sich die folgende Originalverpackung befand:
Das Gute an der Pimoroni Verpackung: Es handelt sich um eine wiederverschließbare Antistatikverpackung.
Also nicht einfach aufschneiden, sondern einfach oben auseinanderziehen ....
Das folgende Bild zeigt den kompletten Inhalt:
Neben dem HAT selbst befinden sich noch die obligatorischen Schrauben und Abstandshalter, das Folienkabel für die Verbindung zum PCIe Steckplatz auf dem Pi 5 und vier selbstklebende Gummifüße von 3M.
Letztere kann man verwenden, falls man den Pi 5 nicht extra in ein Gehäuse einbaut.
Im folgenden Bild sieht man die Rückseite, die zwar etwas aufwändiger gestaltet wurde, jedoch keine Bauteile enthält:
(Generell ist auf dem gesamten HAT so gut wie nichts drauf.)
Auf der anderen Seite (oben) befinden sich noch Lötmöglichkeiten, falls der Strom vom PCIe Bus nicht reichen sollte.
Diese NVMe SSD hatte ich für diese Anleitung noch übrig und gerade da:
Bitte beachten:
Diese NVMe PCIe 4x4 SSD ist nur ein Beispiel und keine Garantie, dass das ganze System auch problemlos läuft !!
Sie taucht in der Kompatibilitätsliste von Pimoroni auch nicht auf (nur die kleineren wie die P3).
Zudem ist sie eigentlich völlig oversized (was die technischen Daten angeht) und wird auch nicht mehr hergestellt.
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 gerade "herumliegen" hatte.
Welche SSD ratsam oder empfehlenswert ist/wäre, hängt vom Preis und anderen Dingen ab.
Eine Liste von Pimoroni getesteten SSDs findet man hier: Pimoroni NVMe BASE Kompatibilitätsliste
Als Erstes werden die Abstandshalter montiert, die das HAT unter dem Pi 5 auf Abstand halten:
Dabei verwenden wir die ganz kurzen Flachkopfschrauben, derer 8 Stück in der Verpackung sein sollten.
Diese werden von unten durch die viel Befestigungslöcher gesteckt und von oben die Abstandshalter aufgedreht.
Wer allerdings ein HAT auf dem Pi 5 benutzen will/muss, auch an den hat Pimoroni gedacht:
Dabei werden statt den vier kurzen Flachkopfschrauben die längsten Schrauben genommen, die im Lieferumfang enthalten sind.
Hier werden die Abstandshalter ebenfalls aufgeschraubt, allerdings sind die Schrauben länger und ragen nach der Befestigung deutlich darüber hinaus.
Das dient dazu, dass nach dem "Auflegen" des Pi 5 noch genug Schraubenrest verfügbar ist, um ggf. darauf weitere Abstandshalter ein anderes HAT zu befestigen, dieses weitere HAT auch noch zu befestigen (weitere Absthandshalter für andere HATs hier nicht im Lieferung enthalten !!):
Ich habe mich aber Dank des originalen aktiven Kühlers der Foundation für die erstere Version entschieden, da ich auch noch kein passendes Gehäuse für die ganze Konstruktion gefunden habe.
Dieser Kühler hat eigene Befestigungen und benötigt daher keine abgewandelte Bauweise.
Damit geht auch diese Anleitung weiter, bei der der Pi 5 das NVMe HAT quasi als stabilen Unterbau verwendet.
Weiter geht es mit der Schraube für die gegenüber der Kontakte liegende Befestigung.
Die NVMe muss ja nicht nur im passenden Slot Platz finden, sondern auf der anderen Seite ebenfalls halt finden.
Dazu wird eine der mitgelieferten mittellangen Schrauben und eine der Muttern verwendet und ins passende Loch verschraubt:
Da Pimoroni alles in schwarz gehalten hat, habe ich die beiden Teile (Schraube und Mutter) nochmals zur besseren Anschauung daneben gelegt.
Bei mir war Beides 2x beigelegt und der rote Pfeil zeigt die montierte Version.
Danach wird die NVMe SSD montiert:
Hierbei kann man eigentlich nichts falsch machen, da die NVMe bei den Kontakten eine Kerbe hat.
Dass die Beschriftung nun auf dem Kopf steht, spielt keine Rolle, man sieht sie nachher sowieso nicht mehr.
Nun widmen wir uns dem Datenkabel, das die Verbindung vom HAT zum Pi 5 herstellt.
Dazu muss oben rechts in der Ecke zuerst die Verriegelung geöffnet werden.
!! Achtung !! Die Verriegelung wird vorsichtig nach oben geklappt.
Wer hier nicht aufpasst, zerstört evtl. das filigrane Gebilde.
Hier die Ansicht im geschlossenen und ausgelieferten Zustand:
Leider ist auch hier wieder die schwarze Farbe etwas hinderlich bei der Darstellung aber wenn man die Teile vor sich hat, wird es sicherlich etwas klarer.
Das folgende Bild zeigt die geöffnete Verriegelung und gleich links das daneben positionierte Folienkabel:
Das Folienkabel wird nun genau so in den Halter geschoben, wie abgebildet.
Das heißt, das Folienkabel sollte so herum gedreht werden, wie auf dem Bild zu sehen.
Dabei ist die Schrift auf der anderen Seite und hier nur die leere Rückseite sichtbar.
Auch die beiden Enden unterscheiden sich und wenn man genauer hinschaut, sieht man an der unteren Kante etwas nach innen versetzt eine schwach angedeutete Linie, an der man sich orientieren kann (Lage und Position in aus der originalen englischen Onlineanleitung).
Das Folienkabel wird nun vorsichtig in die Verriegelung geschoben (rutscht eigentlich nur an einer Stelle richtig rein) und diese wieder durch vorsichtiges Herunterdrücken des zuvor geöffneten Bügels verschlossen.
Das Folienkabel sollte nun einen festen Halt haben.
Jetzt drehen wir das HAT um und positionieren den Pi 5 rechts daneben und sehen, wie die ganze Sache von der anderen Seite aussieht:
Nun muss das freie Ende des Folienkabels in die Verriegelung des Pi 5.
leider wird das Kabel hier nicht genauso seitlich eingeschoben, sondern von oben !!
Jetzt wird es tricky, da zum einen die Verriegelung des PCIe Ports des Pi 5 noch filigraner und umständlicher zu öffnen ist, als das vom HAT und zudem muss das Kabel auch noch von oben in diese eingeführt werden.
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 folgende Bild zeigt nochmal eine genauere Ansicht des bereits geöffneten PCIe Ports des Pi 5.
Der linke Pfeil markiert den Port im offenen Zustand und der obere Pfeil die Richtung, in die das Kabel eingesteckt und dann der Bügel runtergedrückt werden muss:
Hier nochmal die Verriegelung am Pi 5 PCIe Port in geöffneter Position:
Die beiden roten Pfeile zeigen die beiden Positionen, an denen man den Bügel vorsichtig nach oben ziehen kann, wenn er noch verschlossen ist.
(Bild zeigt den bereits geöffneten Bügel !!)
Hat man nun endlich das offene Ende des Folienkabels irgendwie in die PCIe Verriegelung eingeführt, wird der Bügel vorsichtig nach unten gedrückt und damit das Kabel in seiner Position befestigt.
Auch das kann ganz schön nerven, denn oft hat man das Ding schief arretiert.
Dann heißt es, den Riegel wieder vorsichtig zu öffnen und wieder von vorne beginnen mit dem Einführen.
Ich rate auch dringend davon ab, ein schief befestigtes Kabel mit sanfter Gewalt "gerade zu ziehen", denn entweder rutscht es dann heraus, sitzt nicht mehr komplett drin, verbiegt sich und schlimmsten Falls reißt es ein oder ab !!
Daher wie immer: lieber mit viel Geduld als teuren Ersatz besorgen
Die hier auf dem Bild gezeigte Position des HATs (momentan auf dem Pi 5) soll nur zeigen, wie das Kabel montiert aussieht.
Natürlich kommt es korrekterweise unter den Pi 5.
Hier nun im bereits verschraubten Zustand von vorne:
Die Verkabelung von oben betrachtet:
Von der Seite:
Und nochmal komplett:
Zum Schluss noch an die Pads denken (sehr nahe Nahaufnahme):
Diese kommen natürlich auf die Unterseite des HATs und dienen dazu, dass die scharfen Kanten der Schrauben nicht auf der Unterlage kratzen und entkoppeln den Pi 5 auch geräuschtechnisch, falls mal ein evtl. verbauter Lüfter unrund laufen sollte.
Dass diese Pads in den äußeren Ecken verklebt werden (selbstklebend), muss sicherlich nicht extra erwähnt werden ....
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:
- SD Karte einrichten und anschließend auf die SSD kopieren
- NVMe SSD in einem externen USB Gehäuse direkt bespielen
- Netzwerkinstallation direkt auf die NVMe SSD
- NVMe SSD per OTG direkt vom PC auf die NVMe installieren*
Raspberry Pi 5 - Raspberry Pi OS Installation direkt auf NVMe - OTG
Dieser Schritt erfordert aber spezielle Hardware, entweder einen passenden aktiven USB HUB oder ein 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: Raspberry Pi installieren - Raspberry Pi OS
Dabei installiert man die SD Karte so, als wenn man sie dauerhaft nutzen möchte.
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
Code: Alles auswählen
sudo apt update && sudo apt full-upgrade -y
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
Darin wechseln wir auf die Auswahl der Bootloader Version:
Und darin bestätigen wir den "latest" (aktuellsten) Bootloader mit Klick/Enter auf
Ok
:Die nachfolgende Frage bestätigen wir mit
Yes
:Nun passiert ein wenig im Hintergrund und nach der Konfiguration erscheint die Bestätigung:
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
: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:
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 !!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
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.
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
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
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
[all]
fügen wir folgende Zeile hinzu:Code: Alles auswählen
dtparam=pciex1
Code: Alles auswählen
dtparam=nvme
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
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
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
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
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
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
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
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 /
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
.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:
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
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 /
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: 1306 MB in 3.00 seconds = 434.78 MB/sec
Code: Alles auswählen
Timing O_DIRECT disk reads: 2498 MB in 3.00 seconds = 832.20 MB/sec
Um PCIe 3 zu aktivieren, öffnen wir wieder die Datei
config.txt
:Code: Alles auswählen
sudo nano /boot/firmware/config.txt
Code: Alles auswählen
dtparam=pciex1_gen=3
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
Code: Alles auswählen
sudo hdparm -t --direct /dev/nvme0n1p2
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.
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.
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.