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 5: Raspberry Pi OS Installation direkt auf NVMe (OTG)

Hier gibt's Anleitungen und Themen dazu.
Antworten
Benutzeravatar

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

Raspberry Pi 5: Raspberry Pi OS Installation direkt auf NVMe (OTG)

Beitrag von Outi »

History:
20.05.2024 - Weitere Hardwarekombination getestet
19.05.2024 - Hinweis zur Suche nach alternativer Stromversorgung hinzugefügt
17.05.2024 - Hinweis zur PCIe 3.0 Aktivierung in raspi-config hinzugefügt
14.05.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:
Das Hostsystem (z.B. PC) benötigt einen USB-Port oder einen USB-HUB mit Strom-/Daten-Anschluss, der in der Lage ist, den Pi 5 mit genügend Strom zu versorgen (idealerweise zwischen 2A und 3A) !!
Andernfalls diese Anleitung bitte ignorieren !!


Folgende unabhängigen Kombinationen wurden bereits erfolgreich getestet:

- PC-Mainboard mit onboard USB-C Anschluss mit 3A und USB-C/USB-C Lade-/Datenkabel
- Transcend USB 3.0 4-Port Hub TS-HUB3K mit USB-A/USB-C Lade-/Datenkabel
(liefert 2A am Schnelladeport)

Generell hat man gute Chancen, wenn man einen HUB verwendet, der einen Schnelladeport mit Datenfunktion hat (meist mit SS/Blitz gekennzeichnet) und idealerweise zwischen 2A und 3A liefert.

Hinweis:
!! Bitte unbedingt beachten !!
Die sogenannte Externer Link OTG Schnittstelle des Raspberry Pi 5 (auch beim Pi 4B) wird über den Stromanschluss des Pi (USB-C) angesprochen.
Da wir damit nun keinen weiteren Stromanschluss mehr haben, um den Pi zu versorgen, muss eben die Verbindung zum PC diesen Strom liefern.

Einige HUBs werden gerne für das gleichzeitige Laden während der Datenübertragung von Smartphones oder Tablets benutzt.
Der Raspberry Pi sollte NICHT dauerhaft an so einem HUB verwendet werden, da dieser u.U. mehr und stabilere Leistung benötigt, die solche "Ladestationen" dauerhaft nicht liefern können.
Für ein Flashen des Systems kann dies aber durchaus ausreichen, für den Dauerbetrieb ist allerdings das originale Netzteil dringend empfohlen, welches normalerweise für den Betrieb vorgesehen ist.


Inhaltsverzeichnis:
(1) Vorwort
(2) SD-Karte vorbereiten
(3) Bootloader prüfen/umstellen/aktualisieren
(4) Bootreihenfolge ändern
(5) Bootloader nach Umstellung erneut prüfen
(6) USB-OTG-Modus (USB-Gadget-Mode) konfigurieren
(7) Host-Test (ob z.B. Windows das neue USB-Laufwerk erkennt)
(8) Raspberry Pi OS direkt auf NVMe SSD flashen und Nacharbeiten
(9) PCIe 3.0 konfigurieren


(1) Vorwort

Wozu diese Anleitung dient:
Seit dem Raspberry Pi 5 besteht die Möglichkeit, diesen mit einer NVMe SSD über dessen PCIe Port direkt zu betreiben.
Jedoch ist das Flashen der NVMe SSD ohne weitere Hardware leider nicht mehr so einfach, möchte man sich zudem nicht extra noch einen USB/NVMe Adapter zulegen, der dann nichts weiter zu tun hat, als auf den nächsten Flashvorgang zu warten.
Außerdem muss bei jedem neuen Flashvorgang die NVMe SSD ausgebaut und an diesen Adapter angebaut werden und nach dem Flashen umgekehrt wieder zurück gebaut werden, das kann bei einigen HATs und Gehäusen regelrecht ausarten, auch wenn man das ggf. nicht so oft macht.
Das ist aber bei SD-Karten und USB-Sticks direkt am Pi auch nicht anders, nur kann man jene Geräte einfach abziehen und am PC einstecken (sofern dort ein SD-Kartenleser vorhanden ist).

Und hier setzt diese Anleitung an, sofern man einen Hostrechner hat, der auf einem USB-Port min. 3A Strom liefern kann.
Denn hier kann die dazu verwendete SD-Karte so konfiguriert werden, dass der Pi nach dem Booten sich am Host (z.B. PC) wie ein eingesteckter USB-Stick verhält.
In diesem Modus ist die eingebaute NVMe SSD des Pi 5 auch direkt im Raspberry Pi Imager auf dem Host ansprechbar, so, als wäre sie per USB-Adapter direkt dort angeklemmt.
Das Flashen des OS läuft hier übrigens im USB 2.0 Modus, wobei hier die Konfiguration des inoffiziellen PCIe 3.0 Modus daher hier keinen Sinn macht.
Diese Einschränkung gilt aber nur für das direkte Flashen der NVMe SSD und hat später beim Normalen Betrieb des Pi 5 keine Auswirkung.

Die passende NVMe SSD am Pi 5 HAT selbst sollte inzwischen automatisch erkannt werden, jedoch Vorsicht:
Es hat sich leider rausgestellt, dass nicht jede NVMe SSD am Pi 5 funktioniert !!

Der OTG Modus ist am Pi 5 als USB 2.0 Schnittstelle ausgelegt.
Daher bitte später beim Flashen auf die NVMe SSD nicht wundern, dass dies "ein klein wenig länger" dauert.


Ich gebe zu, dies ist eine nicht ganz übliche Anleitung aber für mich ist es die Möglichkeit, meinen Pi 5 jederzeit neu zu flashen, ohne jedes Mal die NVMe SSD ausbauen zu müssen und da mein PC eben jene USB-C Schnittstelle hat, die bis zu 3A Strom liefern kann, möchte ich diese Art der Installation nicht vorenthalten.

Genug Text, jetzt geht es los.


(2) SD-Karte vorbereiten

In diesem Schritt erstellen wir die SD-Karte, die immer dann benötigt wird, wenn der Pi 5 neu geflasht werden soll.
Sie dient nur als "USB-Mogelpackung" für den PC, um den Pi am PC wie einen normalen USB-Stick aussehen zu lassen.
Dann ist das direkte Flashen der auf dem Pi 5 verbauten NVMe SSD normalerweise kein Problem (ohne Gewähr).

Zuallererst flashen wir jene zuvor genannte SD-Karte ganz normal mit dem 64Bit Lite Image vom aktuellen Raspberry Pi OS, idealerweise gleich mit SSH und WLan-Konfiguration.
Wer das noch nie gemacht hat, kann gerne in meiner Standard-Anleitung schauen:
Externer Link Raspberry Pi installieren - Raspberry Pi OS
Hierbei statt dem Voll-Image (mit GUI) einfach das Lite-Image auswählen und als Ziel die SD-Karte im SD-Laufwerk des PCs auswählen.
Sobald das System fertig geflasht wurde, muss man der Anleitung dort nicht groß weiter folgen, da die Karte nur fürs gelegentliche Flashen der NVMe SSD genutzt werden soll.

Alles Weitere, was ab jetzt noch benötigt wird, folgt wieder in dieser Anleitung hier:

Nach dem Flashen die SD-Karte also in den Pi 5 stecken.
Nun schließen wir den Pi nicht an seinem Netzteil an, sondern an dem USB Kabel, welches direkt an den Host geht.
Eine Seite also USB-C am Stromanschluss am Pi 5. die andere Seite am PC mit dem 3A Strom-/Daten-Anschluss, oft auch USB-C.
Wie ich gesehen habe, ist dieser Aschluss bereits in einigen älteren Chipsätzen bereits vorgesehen, bei mir z.B. im Intel Z270.
Manche Boards verwenden ggf. auch extra Chipsätze aber da habe ich leider keinen Zugriff drauf.
Wie es an MACs oder AMD Rechnern aussieht, kann ich leider mangels Hardware auch nicht sagen, daher bitte selbst schauen.
Wer jedoch keinen solchen Anschluss besitzt, muss kein neues Board kaufen, dann kann man immer noch eine der anderen Methoden nutzen, um die NVMe SSD geflasht zu bekommen, ist dann hier in dieser Anleitung aber leider raus.
Sollte sich an dem gewünschten USB-Port am Host also nichts tun und/oder der Pi 5 mit der eingesteckten SD-Karte nicht booten, kann man an dieser Stelle hier abbrechen.

WICHTIG:
Den Host/PC bitte niemals während des gesamten Prozesses neu booten !!
Das würde dem Pi 5 kurzfristig "den Stecker" ziehen und mit ziemlicher Sicherheit das Dateisystem ruinieren !!
Dann bliebe nur noch "alles von vorne".


Zur weiteren Konfiguration per SSH (z.B. Putty oder Terminal) nach dem Booten des Pi mit dem beim Flashen der SD-Karte konfigurierten Account einloggen.
Ich nutze dabei den Hostnamen raspberrypi und den User pi.
Vor dem ersten Login wird man vom System gefragt, ob man den "nicht sicheren Schlüssel" verwenden möchte.
Dies wird mit yes bestätigt, danach folgt das eigentliche Login.

Nach dem Login zuallererst das System zu aktualisieren, denn auch geflashte Images können schnell altern.
Daher folgendes in der Kommandozeile (im Folgenden Terminal genannt) eingeben:

Code: Alles auswählen

sudo apt update && sudo apt full-upgrade -y
Das sollte man immer nach einem Flash machen und immer mal wieder, damit das System auch aktuelle Sicherheitsupdates bekommt.
Der ganze Vorgang kann gerade bei der ersten Ausführung etwas dauern.

Bevor wir nun die weiteren Einstellungen an der SD-Karte vornehmen, muss sichergestellt sein, dass die NVMe SSD erkannt wird (denn ohne die Erkennung dieser im Pi 5 brauchen wir nicht weiter machen), der Bootloader aktuell ist und die Bootreihenfolge stimmt.
Das System sollte bis zum Abschluss des finalen Flashvorgangs immer zuerst nach der SD-Karte suchen und von dieser Booten.
Nach dem erfolgreichen Flash auf die NVMe SSD können wir das dort (ohne die vorhandene SD-Karte) jederzeit umstellen, wenn gewünscht.
Soll die NVMe SSD später erneut geflasht werden, muss das dortige System dann natürlich erst wieder auf SD-Boot umkonfiguriert werden, denn sonst wird die SD-Karte zwar eingebunden aber nicht davon gebootet.

Ob die NVMe SSD korrekt automatisch vom System erkannt und eingebunden wurde, können wir per Befehl abfragen:

Code: Alles auswählen

lsblk
Bei mir kommt das dabei raus:

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 ist nun die letzte Zeile ganz wichtig:

Code: Alles auswählen

nvme0n1     259:0    0 931.5G  0 disk
nvme0n1 ist der Name des leeren NVMe Laufwerks (ohne Partitionen !!).
Die drei Zeilen darüber sind (von oben nach unten) das Laufwerk (mmcblk0), Bootpartition und Systempartition der SD-Karte, von der wir gebootet haben.

Info:
Nach aktuellem Kenntnisstand muss der PCIe Modus nicht mehr explizit (wie früher) manuell aktiviert werden.
Wenn der Pi 5 komplett auf aktuellem Stand ist (inkl. Bootloader usw.), wird eine auf einem HAT verbaute NVMe SSD normalerweise automatisch erkannt.
Ich hatte in allen meinen Tests und Installationen noch nie den Parameter dtparam=pciex1 oder alternativ dtparam=nvme eingeben müssen.
Die Foundation hat bereits vor Längerem mitgeteilt, dass dies inzwischen in den aktuellen Firmwares/Bootloadern automatisch berücksichtigt wird.
Wer trotzdem Probleme bei der Erkennung der NVMe hat, kann einen der beiden Werte natürlich trotzdem in die config.txt eintragen.
Das Eintragen trotz automatischer Erkennung hat keinerlei negative Auswirkungen.
Aber der zusätzliche Eintrag garantiert auch keine Funktion, wenn andere Probleme das Erkennen verhindern (z.B. Defekte oder Inkompatibilitäten).

Somit ist alles ok und wir können weiter machen.
Bei demjenigen, wo das NVMe Laufwerk fehlt, kann versuchen, ob ein Reboot genügt.
Sollte das Laufwerk auch dann nicht erscheinen, wird es schwierig, den Grund herauszufinden, denn das kann am HAT liegen, evtl. ist die NVMe SSD nicht kompatibel, Verbindungen lose, ....

Auf jeden Fall sollte der oben gezeigte Status mit dem erkannten NVMe Laufwerk vorhanden sein, ansonsten wäre hier erstmal Schluss, bis das Problem gelöst wurde.


(3) Bootloader prüfen/umstellen/aktualisieren

Da für diesen ganzen Vorgang der Bootloader aktuell sein muss, schauen wir ihn uns das mit dem folgendem Befehl genauer an:

Code: Alles auswählen

sudo rpi-eeprom-update
Dabei wird noch nichts verändert oder aktualisiert, sondern nur der aktuelle Status ausgegeben, der bei mir so aussieht:

Code: Alles auswählen

pi@raspberrypi:~ $ sudo rpi-eeprom-update
BOOTLOADER: up to date
   CURRENT: Sat 20 Apr 10:53:30 UTC 2024 (1713610410)
    LATEST: Sat 20 Apr 10:53:30 UTC 2024 (1713610410)
   RELEASE: default (/lib/firmware/raspberrypi/bootloader-2712/default)
            Use raspi-config to change the release.
Zwei Dinge sind wichtig:

Code: Alles auswählen

BOOTLOADER: up to date
und

Code: Alles auswählen

RELEASE: default (/lib/....
Die obere Zeile zeigt uns, dass der Bootloader aktuell ist.

Aktuell benötigen wir für die Funktion bei der unteren Zeile (RELEASE) den Status/Pfad latest.
Wer jedoch mit latest Probleme bekommt (aus welchen Gründen auch immer), hat hier die Chance mit default diese Probleme zu beseitigen, denn oft werden in latest neue Funktionen eingebunden/getestet.

Aber hier stellen wir das System auf latest um.
Dies geschieht über die bekannte Konfigurationstextoberfläche raspi-config.
Es gibt zwar noch den manuellen Weg über das Terminal direkt mit den passenden Befehlen aber über die Oberfläche vergessen wir nix und da sie nunmal da ist, nutzen wir sie auch:

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ü.


(4) Bootreihenfolge ändern

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 SD=>NVMe=>USB Auswahl, da wir nachher unbedingt erneut von der SD-Karte booten müssen.
Generell ist anfangs immer diese Einstellung per Standard aktiviert aber ich zeige sie hier nochmals, falls man inzwischen was geändert hat oder man später diese auf diese Option zurückstellen muss, wenn man nicht mehr nur von NVMe booten möchte.
Schaden tuts nix und lieber einmal zu viel als zu wenig ....

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

Bild

Das bestätigen wir wieder mit <Ok> und landen automatisch wieder im Hauptmenü der Konfiguration.

Diese beenden wir mit <Finish> und bestätigen den Rebootvorschlag im nächsten Fenster mit <Yes>.

Diesen Reboot sollten wir jetzt auch durchführen, da der geänderte Bootloader erst bei diesem Reboot aktiviert wird.
Daher dauert das Booten minimal länger und damit auch die Zeit, bis das Login erscheint.


(5) Bootloader nach Umstellung erneut prüfen

Nach erfolgreichem Login wird nun getestet, ob unsere Änderungen korrekt umgesetzt wurden.
Dafür geben wir wieder folgenden Befehl ein:

Code: Alles auswählen

sudo rpi-eeprom-update
Bei mir kam das raus:

Code: Alles auswählen

pi@raspberrypi:~ $ sudo rpi-eeprom-update
BOOTLOADER: up to date
   CURRENT: Sat 20 Apr 10:53:30 UTC 2024 (1713610410)
    LATEST: Sat 20 Apr 10:53:30 UTC 2024 (1713610410)
   RELEASE: latest (/lib/firmware/raspberrypi/bootloader-2712/latest)
            Use raspi-config to change the release.
Der BOOTLOADER ist up to date und das RELEASE steht auf latest (/lib/....

Sollte beim BOOTLOADER ein Update gemeldet werden, kann dies direkt im Anschluss mit folgendem Befehl installiert werden:

Code: Alles auswählen

sudo rpi-eeprom-update -a
Die Option -a führt dann das Update durch.
Gab es ein Update und dieses wurde ausgeführt wird wieder ein Reboot nötig, da die Aktivierung eben erst beim Reboot ausgeführt wird.


(6) USB-OTG-Modus (USB-Gadget-Mode) konfigurieren

Jetzt folgen die Änderungen für den "USB-Mogelmodus" (OTG-USB-Gadget-Mode).
Dazu muss ein Eintrag in der Datei config.txt vorgenommen werden, die wir wie folgt öffnen:

Code: Alles auswählen

sudo nano /boot/firmware/config.txt
Dort ganz nach unten scrollen und in die letzte Zeile unter [all] Folgendes einfügen:

Code: Alles auswählen

dtoverlay=dwc2
Die Datei speichern und verlassen und dann dem System mitteilen, dass es beim Booten von der SD-Karte den Massenspeicher-Modus (g_mass_storage) aktivieren soll.

Das erreichen wir am Einfachsten durch einen Eintrag in der Crontab:

Code: Alles auswählen

sudo crontab -e
Beim ersten Aufruf wird nach einem Editor gefragt und nano vorgeschlagen.
Diesen würde ich übernehmen, da der nano am einfachsten zu bedienen ist.
Also einfach <Enter> drücken und der nano wird der Standardeditor.

Nun öffnet sich die Datei, in der wir ganz unten folgende Zeile eintragen:

Code: Alles auswählen

@reboot sudo modprobe g_mass_storage file=/dev/nvme0n1 removeable=1
Dieser Befehl wurde so im originalen Foundation Forum empfohlen als Startoption beim Booten.

Darin wird auch der Modus definiert (g_mass_storage), also dass sich der Pi 5 am Host (PC) wie ein USB-Massenspeicher anmelden soll.

Die angegebene "Datei" (file=/....) ist das unter /dev/ durch die zuvor erkannte NVMe SSD angelegte Laufwerk.
Wie wir auch weiter oben gesehen haben, ist es nvme0n1.
Man kann hier natürlich auch andere Laufwerke oder einzelne Partitionen einbinden (man muss nur dessen Namen vorab herausfinden) und unter Windows ansprechen.
Da es aber um das komplette NVMe Laufwerk geht, ist es der oben eingefügte Laufwerksname.
Das am Schluss hängende removeable=1 definiert die NVMe SSD Wechsellaufwerk, also ein während des Betriebs entfernbares Laufwerk.
Das hat ebenfalls technische Hintergründe, da es sonst zu Problemen kommen könnte, da Wechsellaufwerke anders behandelt werden und hierbei auch mehr der Umgang unter Windows damit eine Rolle spielt (Caches usw.).

Nun booten wir den Pi neu, damit die Umstellung auf den neuen Modus aktiviert wird.


(7) Host-Test (ob z.B. Windows das neue USB-Laufwerk erkennt)

Nach dem Reboot loggen wir uns erneut ein.
Das ist normal nicht nötig, wenn alles funktioniert aber es kann sein, dass der Rebootvorgang etwas länger dauert.
Sobald wir uns einloggen können, sollte der Pi 5 als USB-Laufwerk auch in Windows ansprechbar sein.
Außerdem ist ein Login immer ein gutes Zeichen, dass der ganze Kram auch noch funktioniert und nicht irgendwo hängen geblieben ist.
Zudem können wir dann auch wieder schnell handeln, wenn es noch weiterer Nacharbeit bedarf.

Als erstes schauen wir unter Windows in den Gerätemanager in die Liste unter Laufwerke:

Bild

Und siehe da, das Teil ist tatsächlich da: Linux File-Stor Gadget USB Device

Wer will, kann auch nochmal in der Datenträgerverwaltung schauen:

Bild

Dort sieht man meine auf dem Pi 5 HAT verbaute 1TB NVMe SSD.

Soweit so gut, fehlt nur noch der finale Test: Raspberry Pi Imager (hier unter Windows 11 Pro)

Bild

Hurra !!

Wer nun im Dateimanager ein weiteres Laufwerk sucht, wird enttäuscht sein, denn da die NVMe noch leer ist, bekommt sie von Windows auch keinen Laufwerksbuchstaben.
Und selbst wenn man ein System installiert hat, werden vom Dateimanager nur dann Laufwerksbuchstaben vergeben, wenn es sich um Laufwerke mit Windows lesbaren Partitionen handelt (z.B. FAT(32), exFAT oder NTFS).
Auf einem fertig eingerichteten Pi wird das wohl nur die Bootpartition (FAT32) sein.


(8) Raspberry Pi OS direkt auf NVMe SSD flashen und Nacharbeiten

Da der Raspberry Pi Imager unter Windows die NVMe SSD auf dem Raspberry Pi 5 HAT erkennt, flashen wir das OS - wie gewünscht - nun direkt darauf.
Da der OTG-Port am Raspberry Pi 5 Stromanschluss nur im USB 2.0 Modus arbeitet, dauert der Flashvorgang nun etwas länger als bei einer am PC angeschlossenen SD-Karte oder USB-Stick am USB 3.0 Port.
Dafür müssen wir aber nix mehr umbauen.

Das Flashen selbst beschreibe ich hier nicht noch einmal, denn es ändert sich nicht viel zwischen dem Flashen hier und dem einer SD-Karte oder eines USB-Sticks oder anderer per USB angeschlossenen Massenspeicher am Pi 5.

Ist der Flashvorgang abgeschlossen, sollte man den Pi 5 NICHT vom PC abmelden (USB Gerät auswerfen nicht verwenden), denn sonst ist unsere SSH Verbindung u.U. sofort weg und man kann ihn nicht mehr per Terminal herunterfahren.
Sollte das passiert sein, kein Problem, der Pi lässt sich auch per angebauter Ein-/Aus-Taste mit kurzem Druck darauf herunterfahren.

Dann die SD-Karte entfernen, den Pi an das originale Netzteil anschließen, womit der Pi 5 dann auch wieder automatisch hochfährt.

Der erste Boot ohne SD-Karte kann etwas länger dauern, da hier - wie immer - zuerst einige Änderungen durchgeführt werden, zumal eine NVMe SSD in der Regel auch größer als eine SD-Karte ist.

Nach dem Hochfahren akzeptieren wir wieder das neue Zertifikat (wir booten ja nicht mehr von der SD-Karte), loggen uns nun wieder auf dem Pi ein, und machen uns an weitere Nacharbeiten, die eigentlich immer anfallen, sobald man ein System neu geflasht hat.

Dabei gehen wir wieder so vor, wie oben bei der SD-Karte und zwar zuerst mit der Aktualisierung des Systems:

Code: Alles auswählen

sudo apt update && sudo apt full-upgrade -y
Danach prüfen wir wieder den Bootloader:

Code: Alles auswählen

sudo rpi-eeprom-update
Bei mir mit diesem Ergebnis:

Code: Alles auswählen

pi@raspberrypi:~ $ sudo rpi-eeprom-update
BOOTLOADER: up to date
   CURRENT: Sat 20 Apr 10:53:30 UTC 2024 (1713610410)
    LATEST: Sat 20 Apr 10:53:30 UTC 2024 (1713610410)
   RELEASE: default (/lib/firmware/raspberrypi/bootloader-2712/default)
            Use raspi-config to change the release.
Wie oben am Anfang bei der SD-Karte ist dieser zwar aktuell aber standardmäßig wieder im RELEASE als default.
Wer möchte, kann natürlich dieses RELEASE (wie oben) wieder auf latest umstellen, muss es aber nicht, da das latest vor allem wegen dem OTG-Modus nötig war.
Eine Umstellung ist aber auch hier schnell gemacht (siehe oben).

Nun schauen wir uns wieder die Laufwerks-/Partitionen mit folgendem Befehl an:

Code: Alles auswählen

lsblk
Dann sollte das jetzt so aussehen:

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 /
Hier sehen wir nun die neuen Bezeichnungen mit den NVMe Werten nvme0n1 usw. ....

Generell würde man hier nun alles Weitere einstellund und/oder konfigurieren, wie damals bei der Verwendung mit den SD-Karten oder SATA-SSDs an deren SATAS/USB-Adaptern.

Eine letzte Einstellung möchte ich dann aber trotzdem noch einfügen, siehe nächsten Punkt.


(9) PCIe 3.0 konfigurieren

Der Raspberry Pi 5 kann ja dank der PCIe 2.0 Schnittstelle nun die entsprechenden NVMe SSDs (wie hier beschrieben) über diverse HATs ansprechen.
Diese Schnittstelle hat die Raspberry Pi Foundation offiziell als Version 2.0 eingebunden, die theoretisch max. 500 MB/s übertragen kann.
Hardwaretechnisch wurde aber ein Controller verbaut, der für PCIe 3.0 ausgelegt ist.
Da das aber beim Pi 5 eigentlich nicht vorgesehen war und dieser eben nur für Version 2.0 ausgelegt wurde, läuft der Pi 5 offiziell eben nur mit PCIe 2.0.
Trotzdem hat man relativ schnell einen Weg veröffentlicht, wie man die PCIe 3.0 Schnittstelle aktivieren kann.
PCIe 3.0 kann am Pi 5 theoretisch eine Datenübertragungsrate von 1GB/s zur Verfügung stellen, was nahezu einer Verdopplung entspricht.
Die Foundation nennt Werte im Schnitt (je nach Hardware) von 800 bis 900MB/s.
Ich konnte bei mir Werte so um die 820 bis 840 MB/s erreichen, was bisher das Schnellste darstellt ggü. SD und USB 3.0.

Dies nennt die Foundation aber "inoffiziell" und gibt keinerlei Garantien und alles damit zusammenhängende geschieht damit auf eigenes Risiko und es wird auch vor Datenverlusten gewarnt, da dieser Modus eben eigentlich nie vorgesehen war.

Trotzdem ist diese Umschaltung sehr einfach gehalten, denn es wird nur ein weiterer Eintrag in der oben erwähnten config.txt benötigt.

Neuerdings kann statt der unten beschriebenen Version der PCIe 3.0 Modus auch über die Konfiguration per raspi-config aktiviert werden:

Code: Alles auswählen

sudo raspi-config
Dann im Hauptmenü auf Advanced Options gehen, dann ganz unten PCIe Speed wählen.
Bei der Frage nach der Aktivierung der PCIe 3.0 Geschwindigkeit mit <Yes> bestätigen für die Aktivierung und mit <No> für die Deaktivierung.

Beim Verlassen von raspi-config wird entweder ein Reboot empfohlen (den dann bitte auch durchführen) oder man gelangt in die Kommandozeile zurück und dort bitte den Reboot dann manuell durchführen:

Code: Alles auswählen

sudo reboot
Wer die Änderung manuell (ohne raspi-config) durchführen will, geht wieder über die Datei config.txt:

Code: Alles auswählen

sudo nano /boot/firmware/config.txt
In der letzten Zeile unter dem [all] fügen wir dafür diese Zeile ein:

Code: Alles auswählen

dtparam=pciex1_gen=3
Danach die Datei speichern und verlassen und den Pi rebooten:

Code: Alles auswählen

sudo reboot
Nach dem erneuten Einloggen hilft ein simpler Speedtest um zu schauen, ob der PCIe 3.0 Modus was gebracht hat.
Dafür installieren wir das Paket hdparm:

Code: Alles auswählen

sudo apt install hdparm -y
Danach den simplen Test einfach auf der zweiten und großen Partition starten:

Code: Alles auswählen

sudo hdparm -t --direct /dev/nvme0n1p2
Als Ergebnis bekomme ich (auch mehrfach hintereinander) grob auf den folgenden Wert:

Code: Alles auswählen

pi@raspberrypi:~ $ sudo hdparm -t --direct /dev/nvme0n1p2

/dev/nvme0n1p2:
 Timing O_DIRECT disk reads: 2486 MB in  3.00 seconds = 828.51 MB/sec
Dieser Test ist natürlich nicht das Nonplusultra in Sachen Speedtest, sondern soll lediglich zeigen, dass hier PCIe 3.0 aktiv ist.

Hinweis:
Wie schon erwähnt und von der Foundation auch davor gewarnt, sollte man diese Umstellung mit Vorsicht genießen.
Daher am Besten gerade am Anfang genauer hinschauen, ob es Probleme im Betrieb des Raspberry Pis gibt.
Stellt sich heraus, dass es öfter Probleme beim Datentransfer oder Sonstigem gibt, besser die Einstellung wieder rückgängig machen.
Das alles geschieht auf eigenes Risiko !!

Wenn man auch nach intensiverer Nutzung keine Probleme feststellt, die mit PCIe 3.0 zusammen hängen, spricht eigentlich nichts gegen diesen schnellen Modus aber wie geschrieben, dass muss jeder für sich selbst entscheiden.

Viel Erfolg.


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
Benutzeravatar

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

Re: Raspberry Pi 5: Raspberry Pi OS Installation direkt auf NVMe (OTG)

Beitrag von Outi »

Hinweis zur PCIe 3.0 Aktivierung in raspi-config hinzugefügt.
;) Gruß Outi :D
Benutzeravatar

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

Re: Raspberry Pi 5: Raspberry Pi OS Installation direkt auf NVMe (OTG)

Beitrag von Outi »

Hinweis zur Suche nach alternativer Stromversorgung hinzugefügt.
;) Gruß Outi :D
Benutzeravatar

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

Re: Raspberry Pi 5: Raspberry Pi OS Installation direkt auf NVMe (OTG)

Beitrag von Outi »

Weitere Hardwarekombination getestet.
;) Gruß Outi :D
Antworten