{"id":12263,"date":"2024-03-17T15:47:33","date_gmt":"2024-03-17T13:47:33","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=12263"},"modified":"2024-03-17T15:47:34","modified_gmt":"2024-03-17T13:47:34","slug":"raspberry-pi-5-mit-hatdrive-m-2-ssd-ausprobiert-montageanleitung","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/raspberry-pi-5-mit-hatdrive-m-2-ssd-ausprobiert-montageanleitung\/","title":{"rendered":"Raspberry Pi 5 mit HatDrive M.2 SSD ausprobiert: So kommen RPI &#038; SSD zusammen"},"content":{"rendered":"<p>Durch die PCIe-Schnittstelle kann der Raspberry Pi 5 erstmals SSDs ohne Umweg \u00fcber USB ansteuern. Ich habe den Pineberry HatDrive ausprobiert und zeige euch, wie man ihn montiert und das Raspberry Pi OS auf die neue SSD \u00fcbertr\u00e4gt. Au\u00dferdem schauen wir uns ein paar potenzielle Fehler sowie Probleme an. Die aktiven Forumsleser werden bereits geahnt haben, dass ein solcher Beitrag kommen wird: <a href=\"https:\/\/u-labs.de\/forum\/raspberry-pi-266\/der-raspberry-pi-5-bekommt-m-2-nvme-ssds-das-ist-der-erste-hat-dafuer-41295?p=449818&amp;viewfull=1#post449818\">Ich hatte dort ein Bild des angekommenen HatDrive gepostet<\/a>. Dieser wurde <a href=\"https:\/\/u-labs.de\/portal\/schnelle-m2-ssds-fur-den-raspberry-pi-5-der-erste-nvme-hat-ist-da\/\">im Dezember 2023 als erstes Zubeh\u00f6r dieser Art vorgestellt.<\/a><\/p>\n<h2 class=\"wp-block-heading\">Zwei M.2 Adapter von Pineberry<\/h2>\n<p>Da der Raspberry Pi 5 keinen M.2 Slot besitzt, wie man es von X86 Mainboards her kennt, muss dieser \u00fcber einen HAT nachger\u00fcstet werden. Der HAT nutzt den neuen PCI Express Anschluss, um h\u00f6here Datenraten zu erreichen. Ein offizieller ist als Zubeh\u00f6r f\u00fcr 2024 angek\u00fcndigt, allerdings bislang nicht erschienen. Pineberry war schneller und hat bereits Ende 2023 sogar zwei M.2 HATs vorgestellt.<\/p>\n<p>Der <em>HatDrive! Top<\/em> wird oben auf den Raspberry Pi gesteckt, unterst\u00fctzt allerdings nur die kleinsten M.2 Formate 2230 und 2242. Sie sind kleiner, daf\u00fcr allerdings weniger verbreitet und meist teurer. Das gilt auch f\u00fcr den HAT: Er kostete bei einem deutschen H\u00e4ndler 26,90\u20ac (Stand: Februar 2024). F\u00fcr die 2280 M.2 SSDs, die im X86 PC-Umfeld am verbreitetsten sind, ben\u00f6tigt man den <em>HatDrive! Bottom<\/em>. Ihn habe ich im Januar 2024 f\u00fcr 34,90\u20ac bestellt.  Im offiziellen Pineberry-Shop werden nur 25,99\u20ac f\u00e4llig. Allerdings schl\u00e4gt der Versand aus Polen mit 10\u20ac zu Buche, sodass eine Einzelbestellung sogar teurer w\u00e4re.<\/p>\n<p>Mit der Bottom-Edition k\u00f6nnen alle M.2 SSDs mit Formatfaktor 2230, 2242 und 2280 betrieben werden. Daf\u00fcr ist er etwas gr\u00f6\u00dfer und muss an die Unterseite des Raspberry Pi gesteckt werden &#8211; eher un\u00fcblich, da Erweiterungskarten normalerweise oben auf den Pi gesteckt werden &#8211; wie ein Hut, auf den die etablierte Bezeichnung HAT anspielt. Er wird daher teilweise als Adapter bezeichnet. Das macht Sinn, um keine Verwirrung zu Stiften. Insbesondere beim Raspberry Pi 5 kann dieser Unterschied aufgrund des K\u00fchlers durchaus wichtig sein.<\/p>\n<p>Hier stellt sich die Frage, ob ein HAT zus\u00e4tzlich auf den K\u00fchler montiert werden kann &#8211; und wenn ja, dieser noch genug Platz dazwischen hat, um Luft ansaugen zu k\u00f6nnen. Generell sollte man beim Kauf von Erweiterungsplatinen bedenken, dass der Raspberry Pi damit nicht mehr in die meisten Geh\u00e4use passt. Im Zweifel vorher in der Beschreibung pr\u00fcfen oder nachfragen, ob das Geh\u00e4use mit bestimmten Erweiterungskarten kompatibel ist.<\/p>\n<h2 class=\"wp-block-heading\">Das brauchst du: So l\u00e4uft die Montage ab<\/h2>\n<p>Ich habe mich f\u00fcr den <em>HatDrive! Bottom<\/em> entschieden: 2280 ist das g\u00e4ngigste Format, von dem ich noch SSDs habe. Diese kann man problemlos in X86 PCs einsetzen. Die kleineren Formate dagegen sind exotischer und werden h\u00f6chstens in manchen Notebooks oder Mini-PCs verwendet.<\/p>\n<p>Konkret ben\u00f6tigst du<\/p>\n<ul class=\"wp-block-list\">\n<li>Einen Raspberry Pi 5 mit Speicherkarte (siehe unten)<\/li>\n<li>Einen kleinen Kreuzschlitz oder Schlitz-Schraubendreher<\/li>\n<li>Die gew\u00fcnschte M.2 SSD<\/li>\n<\/ul>\n<p>Vor der Montage solltest du zwei Dinge wissen: Der Raspberry Pi 5 kann zwar von NVMe booten und damit die Speicherkarte vollst\u00e4ndig durch die M.2 SSD ersetzen. Allerdings ist dies standardm\u00e4\u00dfig nicht aktiviert. Das direkte \u00dcberspielen des Raspberry Pi OS Abbildes auf die M.2 SSD d\u00fcrfte zudem bei vielen an einem passenden externen Adapter scheitern. Theoretisch k\u00f6nnte man zwar ein X86 Board in eine GNU\/Linux Live-Distribution booten und das Abbild h\u00e4ndisch mit <code class=\"\" data-line=\"\">dd<\/code> auf die M.2 SSD \u00fcbertragen. Das d\u00fcrfte f\u00fcr die Meisten jedoch ein umst\u00e4ndlicher Weg sein, sofern man nicht gerade einen Test-PC daf\u00fcr zur Hand hat.<\/p>\n<p>Daher zeige ich im folgenden Artikel einen anderen Weg, der immer funktioniert: Wir \u00fcbertragen das Raspberry Pi OS auf eine Micro-SD Speicherkarte. Anschlie\u00dfend wird die M.2 SSD aktiviert und die Raspberry Pi OS Installation von der Speicherkarte auf die SSD kopiert. Danach ist die Speicherkarte theoretisch nicht mehr n\u00f6tig. Ich empfehle, sie vor dem Anschluss der M2 SSD in den Raspberry Pi einzustecken. Danach wird es fummelig, weil sie durch das kurze Kabel des Adapters nur mit M\u00fche gerade so in den Slot geschoben werden kann.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/montiert-karte.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"817\" height=\"456\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/montiert-karte.jpg\" alt=\"\" class=\"wp-image-12282\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/montiert-karte.jpg 817w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/montiert-karte-300x167.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/montiert-karte-768x429.jpg 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/montiert-karte-640x357.jpg 640w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/montiert-karte-305x170.jpg 305w\" sizes=\"auto, (max-width: 817px) 100vw, 817px\" \/><\/a><\/figure>\n<\/div>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/montieren-karte-kabel.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"373\" height=\"286\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/montieren-karte-kabel.jpg\" alt=\"\" class=\"wp-image-12283\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/montieren-karte-kabel.jpg 373w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/montieren-karte-kabel-300x230.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/montieren-karte-kabel-222x170.jpg 222w\" sizes=\"auto, (max-width: 373px) 100vw, 373px\" \/><\/a><\/figure>\n<\/div>\n<h2 class=\"wp-block-heading\">Vorbereitung zur Montage<\/h2>\n<p>Wir \u00fcbertragen also zun\u00e4chst das Raspberry Pi OS auf eine Speicherkarte &#8211; etwa \u00fcber den offiziellen Imager, wie ich es schon in mehreren Beitr\u00e4gen beschrieben habe. Anschlie\u00dfend wird die Karte in den Raspberry Pi eingesteckt und wir beginnen mit der Montage des M.2 Adapters. Eine Neuinstallation ist allerdings nicht zwingend erforderlich. Solltest du bereits eine bestehende Installation auf der Speicherkarte haben, kannst du mit dieser fortfahren.<\/p>\n<p>Die im folgenden beschriebene Reihenfolge sollte eingehalten werden. Vergisst man etwas, m\u00fcssen ansonsten Schrauben zu einem sp\u00e4teren Zeitpunkt nochmals gel\u00f6st werden.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/5700Hj_cut.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"550\" height=\"481\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/5700Hj_cut.jpg\" alt=\"\" class=\"wp-image-12275\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/5700Hj_cut.jpg 550w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/5700Hj_cut-300x262.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/5700Hj_cut-412x360.jpg 412w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/5700Hj_cut-194x170.jpg 194w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><\/figure>\n<\/div>\n<p>Im Lieferumfang befindet sich ein kleiner Beutel mit 4x Abstandhalter, 9x Schrauben zur Montage des Boards (von denen werden nur 8 St\u00fcck ben\u00f6tigt), eine runde Fassung zur Fixierung der SSD und eine kleinere Schraube, mit der die Fassung an der Platine befestigt wird. <\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h00m36s161-cut.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"668\" height=\"697\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h00m36s161-cut.jpg\" alt=\"\" class=\"wp-image-12276\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h00m36s161-cut.jpg 668w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h00m36s161-cut-288x300.jpg 288w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h00m36s161-cut-345x360.jpg 345w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h00m36s161-cut-163x170.jpg 163w\" sizes=\"auto, (max-width: 668px) 100vw, 668px\" \/><\/a><\/figure>\n<\/div>\n<p>Ich w\u00fcrde die Schrauben in den Deckel eines Glases oder ein anderes Gef\u00e4\u00df legen, in dem sie nicht weg rollen\/herunter fallen k\u00f6nnen. So hat man eine bessere \u00dcbersicht und kann leichter die ben\u00f6tigten Teile heraus nehmen, als aus dem kleinen Beutel.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h04m50s477-cut.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"632\" height=\"546\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h04m50s477-cut.jpg\" alt=\"\" class=\"wp-image-12277\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h04m50s477-cut.jpg 632w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h04m50s477-cut-300x259.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h04m50s477-cut-417x360.jpg 417w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h04m50s477-cut-197x170.jpg 197w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h04m50s477-cut-210x180.jpg 210w\" sizes=\"auto, (max-width: 632px) 100vw, 632px\" \/><\/a><\/figure>\n<\/div>\n<p>Die Seite der Platine mit der M.2 Fassung wird nach unten zeigen, w\u00e4hrend die gegen\u00fcberliegende Seite mit dem Anschlusskabel die Auflage f\u00fcr den Raspberry Pi bildet. Auf dem folgenden Bild wird also sp\u00e4ter der Raspberry Pi auf die Pineberry-Platine gelegt, sodass links die zwei LEDs leicht heraus ragen.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h09m32s112-cut.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"899\" height=\"890\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h09m32s112-cut.jpg\" alt=\"\" class=\"wp-image-12278\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h09m32s112-cut.jpg 899w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h09m32s112-cut-300x297.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h09m32s112-cut-768x760.jpg 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h09m32s112-cut-364x360.jpg 364w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h09m32s112-cut-172x170.jpg 172w\" sizes=\"auto, (max-width: 899px) 100vw, 899px\" \/><\/a><\/figure>\n<\/div>\n<h2 class=\"wp-block-heading\">Montage: So finden M.2 Adapter und Raspberry Pi zueinander<\/h2>\n<p>Zuerst montierst du die vier Abstandshalter in Richtung Raspberry Pi auf die Platine von Pineberry. Dabei werden die (dickeren) Schrauben auf der Seite mit dem M.2-Schacht herein gesteckt und der Abstandhalter gegen\u00fcberliegend montiert. Auf dem folgenden Bild ist der M.2-Schacht links.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h19m30s839-cut.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"592\" height=\"568\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h19m30s839-cut.jpg\" alt=\"\" class=\"wp-image-12280\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h19m30s839-cut.jpg 592w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h19m30s839-cut-300x288.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h19m30s839-cut-375x360.jpg 375w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/vlcsnap-2024-02-03-20h19m30s839-cut-177x170.jpg 177w\" sizes=\"auto, (max-width: 592px) 100vw, 592px\" \/><\/a><\/figure>\n<\/div>\n<p>Anschlie\u00dfend hat die Platine vier <em>F\u00fc\u00dfe<\/em> in Richtung Raspberry Pi, die auf der Seite mit M.2 Slot befestigt wurden.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"931\" height=\"506\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben.jpg\" alt=\"\" class=\"wp-image-12279\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben.jpg 931w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben-300x163.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben-768x417.jpg 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben-640x348.jpg 640w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben-313x170.jpg 313w\" sizes=\"auto, (max-width: 931px) 100vw, 931px\" \/><\/a><\/figure>\n<\/div>\n<p>Am besten ist es, nun die Platine neben den Raspberry Pi zu legen und das Kabel anzuschlie\u00dfen. Man kann es auch anders herum machen. In meinem Test war der Anschluss des Kabels dadurch jedoch schwieriger: Durch die geringe L\u00e4nge kann man es nicht so leicht einstecken und muss es zudem vorher selbst biegen. In jedem Falle wird zuvor die braune Halterung des PCIe-Anschlusses (schr\u00e4g links \u00fcber dem USB C Stromanschluss an der Seite) vorsichtig ge\u00f6ffnet. Am besten funktioniert dies mit einem kleinen Schraubendreher oder alternativ Fingernagel bzw. den kleinen Haken an den Seiten. Man sollte behutsam vorgehen, um die Halterung nicht heraus zu brechen. Sie muss nur wenige Millimeter nach oben geschoben werden:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/pcie-halterung.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"287\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/pcie-halterung-1024x287.jpg\" alt=\"\" class=\"wp-image-12281\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/pcie-halterung-1024x287.jpg 1024w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/pcie-halterung-300x84.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/pcie-halterung-768x215.jpg 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/pcie-halterung-640x179.jpg 640w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/pcie-halterung-607x170.jpg 607w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/pcie-halterung.jpg 1489w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n<p>Das Anschlusskabel steckt man mit den Kontakten in Richtung Innenseite des Raspberry Pi hinein. Dabei verschwinden die sichtbaren Kontakte nicht vollst\u00e4ndig im Stecker. Nun die graue Halterung wieder vorsichtig bis nach unten dr\u00fccken, damit sie mit der Buchse eben ist.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/kabel-eingesteckt.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"468\" height=\"382\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/kabel-eingesteckt.jpg\" alt=\"\" class=\"wp-image-12285\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/kabel-eingesteckt.jpg 468w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/kabel-eingesteckt-300x245.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/kabel-eingesteckt-441x360.jpg 441w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/kabel-eingesteckt-208x170.jpg 208w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/a><\/figure>\n<\/div>\n<p>Bevor wir mit den vier Schrauben den Raspberry Pi mit unseren zu Beginn montierten Bolzen verbinden, ist zun\u00e4chst die M.2 SSD dran: Sie wird &#8211; wie man es von X86 Boards her kennt &#8211; richtig herum in den Schacht geschoben. Daf\u00fcr sind die Kontakte in eine l\u00e4ngere und k\u00fcrzere Seite getrennt. Das runde Bauteil hat eine Eink\u00e4rbung, wie auch die SSD gegen\u00fcber von den Anschl\u00fcssen in Form eines Halbkreises:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/2024-02-03_20-42.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"543\" height=\"422\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/2024-02-03_20-42.jpg\" alt=\"\" class=\"wp-image-12289\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/2024-02-03_20-42.jpg 543w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/2024-02-03_20-42-300x233.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/2024-02-03_20-42-463x360.jpg 463w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/2024-02-03_20-42-219x170.jpg 219w\" sizes=\"auto, (max-width: 543px) 100vw, 543px\" \/><\/a><\/figure>\n<\/div>\n<p>Es wird dort hinein geschoben, die l\u00e4ngere Seite des runden Bauteils zeigt dabei nach unten.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/ssd-befestigung.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"517\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/ssd-befestigung-1024x517.jpg\" alt=\"\" class=\"wp-image-12286\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/ssd-befestigung-1024x517.jpg 1024w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/ssd-befestigung-300x151.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/ssd-befestigung-768x388.jpg 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/ssd-befestigung-640x323.jpg 640w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/ssd-befestigung-337x170.jpg 337w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/ssd-befestigung.jpg 1373w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n<p>Nun die SSD herunter dr\u00fccken und auf der gegen\u00fcber liegenden Seite verschrauben. Achtung: Die Fassung ist etwas kleiner! Daher passen die 9 fach vorhandenen Schrauben zur Befestigung der Bolzen nicht. Hier ist die einzelne, etwas kleinere Schraube richtig. Damit wird auch klar: M\u00f6chte man die SSD l\u00f6sen, m\u00fcssen zuvor mindestens vier weitere Schrauben entfernt werden. Das direkte Herausziehen wie bei den Micro-SD Speicherkarten ist nicht mehr m\u00f6glich.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben-ssd-befestigung.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"556\" height=\"501\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben-ssd-befestigung.jpg\" alt=\"\" class=\"wp-image-12290\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben-ssd-befestigung.jpg 556w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben-ssd-befestigung-300x270.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben-ssd-befestigung-400x360.jpg 400w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/schrauben-ssd-befestigung-189x170.jpg 189w\" sizes=\"auto, (max-width: 556px) 100vw, 556px\" \/><\/a><\/figure>\n<\/div>\n<p>Damit seid ihr fertig und k\u00f6nnt die Platine passend auf die L\u00f6cher in der Unterseite des Raspberry Pi legen. Sie wird mit vier von den gr\u00f6\u00dferen Schrauben befestigt, die wir anfangs f\u00fcr die Bolzen benutzt haben. In diese Bolzen folgen nun also die Schrauben von oben durch den Raspberry Pi hindurch, damit die Platine an ihm befestigt wird.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"810\" height=\"585\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung.jpg\" alt=\"\" class=\"wp-image-12292\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung.jpg 810w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung-300x217.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung-768x555.jpg 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung-498x360.jpg 498w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung-235x170.jpg 235w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><\/a><\/figure>\n<\/div>\n<p>Dies wiederholen wir f\u00fcr alle vier Schrauben. <\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung2.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"760\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung2-1024x760.jpg\" alt=\"\" class=\"wp-image-12294\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung2-1024x760.jpg 1024w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung2-300x223.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung2-768x570.jpg 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung2-485x360.jpg 485w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung2-229x170.jpg 229w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-befestigung2.jpg 1086w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n<p>Achtung: Hier sind die L\u00f6cher mit gelbem Rand gemeint, von denen zwei in den Ecken des Raspberry Pi liegen. Nicht die daneben liegenden ohne farblichen Rand &#8211; diese sind f\u00fcr den K\u00fchler und ohnehin bereits belegt, falls ihr diesen montiert habt. Folgendes Bild zeigt rechts die f\u00fcr HATs vorgesehenen und damit korrekten L\u00f6cher. Obwohl die Schraube bereits drin steckt, ist der Rand noch deutlich erkennbar.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-loecher.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"154\" height=\"101\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-loecher.jpg\" alt=\"\" class=\"wp-image-12295\"\/><\/a><\/figure>\n<\/div>\n<h2 class=\"wp-block-heading\">Aktivieren der PCIe-Schnittstelle<\/h2>\n<p>Wenn wir den Raspberry Pi starten, wird er von der Speicherkarte booten &#8211; schlie\u00dflich ist die SSD noch leer. Allerdings erkennt er die M.2 SSD \u00fcberhaupt nicht. Selbst <code class=\"\" data-line=\"\">lsblk<\/code>, welches alle Laufwerke (<em>block devices<\/em>) auflistet, zeigt weiterhin lediglich die 64 GB gro\u00dfe Speicherkarte an. Von der 1 TB SSD hingegen keine Spur.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">u-labs@pi5m2:~ $ lsblk\nNAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS\nmmcblk0     179:0    0 59.5G  0 disk \n\u251c\u2500mmcblk0p1 179:1    0  512M  0 part \/boot\/firmware\n\u2514\u2500mmcblk0p2 179:2    0   59G  0 part \/<\/code><\/pre>\n<p>Wie Anfangs bereits erw\u00e4hnt liegt dies daran, dass die f\u00fcr M.2\/NVMe verwendete PCIe-Schnittstelle standardm\u00e4\u00dfig nicht aktiv ist. Bei X86 PCs w\u00fcrde dies im BIOS geschehen. Der Raspberry Pi verwendet allerdings kein Standard BIOS\/UEFI, sondern nutzt eine eigene Firmware. Deren Einstellungen liegen f\u00fcr das Raspberry Pi OS 12 und aktueller (erforderlich f\u00fcr den Raspberry Pi 5) in <code class=\"\" data-line=\"\">\/boot\/firmware\/config.txt<\/code>.<sup data-fn=\"b0da433b-f1ad-4df6-b124-b23178549477\" class=\"fn\"><a href=\"#b0da433b-f1ad-4df6-b124-b23178549477\" id=\"b0da433b-f1ad-4df6-b124-b23178549477-link\">1<\/a><\/sup> \u00d6ffne sie als root m<a href=\"https:\/\/u-labs.de\/portal\/dateien-mit-dem-raspberry-pi-bearbeiten-4-wege-fuer-einsteiger-grafisch-und-mit-nano-vim-auf-der-konsole\/\" data-type=\"post\" data-id=\"7514\">it einem Texteditor deiner Wahl<\/a>, z.B. Nano:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">sudo nano \/boot\/firmware\/config.txt<\/code><\/pre>\n<p>An das Ende f\u00fcgt ihr in die Gruppe <code class=\"\" data-line=\"\">[all] <\/code>folgende Zeile ein:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">dtparam=pciex1<\/code><\/pre>\n<p>Alternativ kann statt <code class=\"\" data-line=\"\">pciex1<\/code> auch <code class=\"\" data-line=\"\">nvme<\/code> angegeben werden &#8211; <code class=\"\" data-line=\"\">nvme<\/code> ist ein Alias f\u00fcr <code class=\"\" data-line=\"\">pciex1<\/code> und aktiviert ebenfalls PCIe. Zum Speichern in <code class=\"\" data-line=\"\">nano<\/code> beispielsweise <code class=\"\" data-line=\"\">[STRG] + [O]<\/code> dr\u00fccken und mit <code class=\"\" data-line=\"\">[Enter] <\/code>best\u00e4tigen. Abschlie\u00dfend den Editor mit <code class=\"\" data-line=\"\">[STRG] + [X]<\/code> beenden. Damit die \u00c4nderungen wirksam werden, ist ein Neustart erforderlich. Auf der Konsole kann dies mit <code class=\"\" data-line=\"\">sudo reboot<\/code> erfolgen. Danach erkennt das Raspberry Pi OS unsere SSD als <code class=\"\" data-line=\"\">nvme0n1<\/code>:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">u-labs@pi5m2:~ $ lsblk\nNAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS\nmmcblk0     179:0    0  59.5G  0 disk \n\u251c\u2500mmcblk0p1 179:1    0   512M  0 part \/boot\/firmware\n\u2514\u2500mmcblk0p2 179:2    0    59G  0 part \/\nnvme0n1     259:0    0 931.5G  0 disk<\/code><\/pre>\n<h2 class=\"wp-block-heading\">\u00dcbertragen des Raspberry Pi OS: Grafisch<\/h2>\n<p>Das Partitionieren und Einh\u00e4ngen der SSD w\u00e4re nun theoretisch m\u00f6glich. Damit w\u00e4re sie aber nur ein zus\u00e4tzlicher Speicher, w\u00e4hrend das Betriebssystem mit den installierten Programmen weiterhin die SSD nutzt &#8211; au\u00dfer wir w\u00fcrden dies explizit f\u00fcr bestimmte Verzeichnisse \u00e4ndern. Sinnvoller ist die Nutzung der SSD als Systemlaufwerk, sodass die Speicherkarte verzichtbar wird. So braucht man sich keine Sorgen mehr \u00fcber die Lebensdauer zu machen. SSDs sind f\u00fcr deutlich h\u00f6here Schreiblasten ausgelegt.<\/p>\n<p>Daf\u00fcr m\u00fcssen wir zun\u00e4chst unsere laufende Raspberry Pi OS Installation von der Karte auf die SSD kopieren. Die Desktop-Edition des Raspberry Pi OS stellt daf\u00fcr das Hilfsprogramm <code class=\"\" data-line=\"\">piclone<\/code> in der Kategorie <em>Zubeh\u00f6r<\/em> bereit:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpios-sd-copy.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"516\" height=\"605\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpios-sd-copy.jpg\" alt=\"\" class=\"wp-image-12302\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpios-sd-copy.jpg 516w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpios-sd-copy-256x300.jpg 256w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpios-sd-copy-307x360.jpg 307w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpios-sd-copy-145x170.jpg 145w\" sizes=\"auto, (max-width: 516px) 100vw, 516px\" \/><\/a><\/figure>\n<\/div>\n<p>Beim Quellaufwerk m\u00fcssen wir unsere Karte angeben. Sind nur zwei Laufwerke (Karte + SSD) verbunden, lassen sie sich sehr einfach identifizieren: M.2 SSDs verwenden ein eigenes Namensschema f\u00fcr die Ger\u00e4tedatei mit dem Pr\u00e4fix <code class=\"\" data-line=\"\">nvme<\/code> gefolgt von Informationen \u00fcber Anschluss &amp; Ger\u00e4tenummer &#8211; hier <code class=\"\" data-line=\"\">nvme0n1<\/code>. Speicherkarten dagegen hei\u00dfen <code class=\"\" data-line=\"\">mmcblk<\/code> und werden durchnummeriert. Zur Sicherheit sollte man dies nochmals pr\u00fcfen und weitere Laufwerke am besten zuvor trennen &#8211; Das Programm l\u00f6scht s\u00e4mtliche Daten des Ziellaufwerkes.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/piclone-new-uuids.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"420\" height=\"180\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/piclone-new-uuids.jpg\" alt=\"\" class=\"wp-image-12346\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/piclone-new-uuids.jpg 420w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/piclone-new-uuids-300x129.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/piclone-new-uuids-397x170.jpg 397w\" sizes=\"auto, (max-width: 420px) 100vw, 420px\" \/><\/a><\/figure>\n<\/div>\n<p><strong>Achtung: Unbedingt per Haken aktivieren, dass die Partitionen neue UUIDs erhalten! Andernfalls kommt es zu Problemen, wenn nach dem Neustart beide Laufwerke eingebaut sind. Beispielsweise l\u00e4sst sich die Startreihenfolge dann nicht mehr zur\u00fcck zur SD-Karte \u00e4ndern, sodass der RPI nur noch von der SSD startet.<\/strong><sup data-fn=\"c96f9972-0a79-4b2c-a5c3-6922a993a183\" class=\"fn\"><a href=\"#c96f9972-0a79-4b2c-a5c3-6922a993a183\" id=\"c96f9972-0a79-4b2c-a5c3-6922a993a183-link\">2<\/a><\/sup><strong> M\u00f6glicherweise h\u00e4ngt er dabei Partitionen von der Speicherkarte ein.<\/strong><\/p>\n<p>Schauen wir anschlie\u00dfend mit <code class=\"\" data-line=\"\">lsblk<\/code> nach, hat <code class=\"\" data-line=\"\">nvme0n1<\/code> zwei Partitionen. Sie sind identisch mit denen der Speicherkarte <code class=\"\" data-line=\"\">mmcblk0<\/code>. Piclone erkennt, wenn das Ziellaufwerk gr\u00f6\u00dfer ist und vergr\u00f6\u00dfert die Wurzel-Partition \/ auf die maximal verf\u00fcgbare Gr\u00f6\u00dfe. Hier sind es daher 931GB statt 59GB:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">u-labs@pi5m2:~ $ lsblk\nNAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS\nmmcblk0     179:0    0  59.5G  0 disk \n\u251c\u2500mmcblk0p1 179:1    0   512M  0 part \/boot\/firmware\n\u2514\u2500mmcblk0p2 179:2    0    59G  0 part \/\nnvme0n1     259:0    0 931.5G  0 disk \n\u251c\u2500nvme0n1p1 259:3    0   512M  0 part \n\u2514\u2500nvme0n1p2 259:4    0   931G  0 part<\/code><\/pre>\n<h2 class=\"wp-block-heading\">\u00dcbertragen der Karte ohne grafische Oberfl\u00e4che<\/h2>\n<p>Leider unterst\u00fctzt <code class=\"\" data-line=\"\">piclone<\/code> derzeit nur die grafische Oberfl\u00e4che und kann nicht auf der Konsole ausgef\u00fchrt werden. Vom direkten Kopieren mittels <code class=\"\" data-line=\"\">dd<\/code> ist ohne weitere Anpassungen abzuraten, weil eine 1:1 Kopie Probleme machen kann. Insbesondere dann, wenn beide Laufwerke verbunden bleiben sollen. Mit rpi-clone hat die quelloffene Gemeinschaft ein Skript entwickelt, dass die notwendigen Vorarbeiten erledigt &#8211; darunter z.B. das Anpassen der UUIDs.<sup data-fn=\"ef115f43-1b69-408b-8483-beca6b866070\" class=\"fn\"><a href=\"#ef115f43-1b69-408b-8483-beca6b866070\" id=\"ef115f43-1b69-408b-8483-beca6b866070-link\">3<\/a><\/sup> Der urspr\u00fcngliche Entwickler hat dessen Weiterentwicklung eingestellt. Gl\u00fccklicherweise ist das in der Open Source Community kein Problem: Jeder kann es mit einem Fork selbst in die Hand nehmen, wie es etwa Jeff Geerling getan hat.<sup data-fn=\"27ada294-ca79-4bfa-91aa-313275d14fa3\" class=\"fn\"><a href=\"#27ada294-ca79-4bfa-91aa-313275d14fa3\" id=\"27ada294-ca79-4bfa-91aa-313275d14fa3-link\">4<\/a><\/sup> <\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">git clone https:\/\/github.com\/geerlingguy\/rpi-clone.git\ncd rpi-clone<\/code><\/pre>\n<p>Sollte die SSD eingeh\u00e4ngt sein, muss sie zuerst mit <code class=\"\" data-line=\"\">umount<\/code> ausgehangen werden. Zu empfehlen ist zudem, alle Dateisysteme zu entfernen. Dementsprechend sollten sich auf dem Laufwerk keine ungesicherten Daten mehr befinden.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">sudo umount \/dev\/nvme0n1*\nsudo wipefs --all \/dev\/nvme0n1<\/code><\/pre>\n<p>Um das Klonen zu starten, muss der Ger\u00e4tename (nicht der Partitionsname) an <code class=\"\" data-line=\"\">rpi-clone<\/code> \u00fcbergeben werden. Dieser kann z.B. mit <code class=\"\" data-line=\"\">lsblk<\/code> ermittelt werden.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">sudo .\/rpi-clone nvme0n1<\/code><\/pre>\n<h2 class=\"wp-block-heading\">\u00c4ndern der Startreihenfolge: Von M.2 SSD booten<\/h2>\n<p>Nach einem Neustart w\u00fcrde der Raspberry Pi aber trotzdem von der Karte starten, weil sie in der Startreihenfolge standardm\u00e4\u00dfig an erster Stelle steht. Auch das kennt man von X86 Systemen, die dann z.B. nicht von einem USB Stick starten. Hierf\u00fcr muss die Startreihenfolge im BIOS\/UEFI angepasst und das gew\u00fcnschte Medium an erster Stelle gesetzt werden. Wie zuvor erw\u00e4hnt, nutzt der Raspberry Pi leider nicht das standardisierte UEFI, sondern eine selbst entwickelte Firmware. Diese k\u00f6nnen wir mit dem Werkzeug <code class=\"\" data-line=\"\">rpi-eeprom-config<\/code> bearbeiten:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">sudo rpi-eeprom-config --edit<\/code><\/pre>\n<p>Die Startreihenfolge wird in der Variable <code class=\"\" data-line=\"\">BOOT_ORDER<\/code> angegeben. Standardm\u00e4\u00dfig steht diese auf 0xf41 &#8211; dadurch versucht der Raspberry Pi zun\u00e4chst von SD-Karte zu starten, alternativ USB-Massenspeichern.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">BOOT_ORDER=0xf41<\/code><\/pre>\n<p>F\u00fcr den Raspberry Pi 5 (und das Compute Model 4) wurde 0x6 eingef\u00fchrt, damit er von PCIe-SSDs startet. Somit m\u00fcssen wir an die Variable nur eine &#8222;6&#8220; anh\u00e4ngen. Dar\u00fcber hinaus wird von Seiten des Raspberry Pi empfohlen, <code class=\"\" data-line=\"\">PCIE_PROBE=1<\/code> au\u00dfer f\u00fcr HAT+ Ger\u00e4te zu setzen.<sup data-fn=\"2fbe7bc2-9136-4176-95a8-b8424cbebc76\" class=\"fn\"><a href=\"#2fbe7bc2-9136-4176-95a8-b8424cbebc76\" id=\"2fbe7bc2-9136-4176-95a8-b8424cbebc76-link\">5<\/a><\/sup> Was letztere genau macht, ist nicht offiziell dokumentiert. Laut anderen Quellen durchl\u00e4uft der RPI dabei den gesamten PCIe Bus.<sup data-fn=\"151968fd-c14a-4520-9320-22694d112fee\" class=\"fn\"><a href=\"#151968fd-c14a-4520-9320-22694d112fee\" id=\"151968fd-c14a-4520-9320-22694d112fee-link\">6<\/a><\/sup> In meinen Tests war dies f\u00fcr den Pineberry HatDrive Bottom nicht notwendig, m\u00f6glicherweise ist dies f\u00fcr andere Erweiterungsboards der Fall.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">BOOT_ORDER=0xf416\nPCIE_PROBE=1<\/code><\/pre>\n<p>Welche Bedeutung die hexadezimalen Werte haben, steht in der Dokumentation.<sup data-fn=\"1cc96e7a-902e-4366-9ce9-2647a72ea514\" class=\"fn\"><a href=\"#1cc96e7a-902e-4366-9ce9-2647a72ea514\" id=\"1cc96e7a-902e-4366-9ce9-2647a72ea514-link\">7<\/a><\/sup> Man kann den Code damit von rechts nach links selbst aufschl\u00fcsseln<sup data-fn=\"cac3260f-2119-4245-99d9-b473d4164cab\" class=\"fn\"><a href=\"#cac3260f-2119-4245-99d9-b473d4164cab\" id=\"cac3260f-2119-4245-99d9-b473d4164cab-link\">8<\/a><\/sup>:<\/p>\n<ul class=\"wp-block-list\">\n<li>6 = NVMe (wird zuerst versucht)<\/li>\n<li>1 = SD-Karte<\/li>\n<li>4 = USB-Massenspeicher<\/li>\n<li>f = Diese Reihenfolge wiederholen, falls NVMe\/SD\/USB kein startf\u00e4higes Betriebssystem enthalten. Folgende Fehlermeldung zeigt dies beispielhaft, wenn nur die Speicherkarte aktiv ist und von ihr nicht gestartet werden kann.<\/li>\n<\/ul>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/Screenshot-2024-02-04-11-16-33-cut.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"593\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/Screenshot-2024-02-04-11-16-33-cut.jpg\" alt=\"\" class=\"wp-image-12344\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/Screenshot-2024-02-04-11-16-33-cut.jpg 680w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/Screenshot-2024-02-04-11-16-33-cut-300x262.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/Screenshot-2024-02-04-11-16-33-cut-413x360.jpg 413w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/Screenshot-2024-02-04-11-16-33-cut-195x170.jpg 195w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/a><\/figure>\n<\/div>\n<p>Nach dem Speichern ist ein Neustart notwendig, damit unsere \u00c4nderungen angewendet werden. Da die Firmware die neue Startreihenfolge dabei direkt anwendet, wird von der SSD gebootet. Um das zu verifizieren, schauen wir mit <code class=\"\" data-line=\"\">df<\/code>, wo das Wurzel-Dateisystem \/ eingeh\u00e4ngt ist:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">u-labs@pi5m2:~ $ df -h \/\nFilesystem      Size  Used Avail Use% Mounted on\n\/dev\/nvme0n1p2  916G  4.4G  865G   1% \/<\/code><\/pre>\n<p>Schon an der Gr\u00f6\u00dfe erkennt man: \u00dcber 900GB muss die SSD sein, da die Karte nur 64GB fassen konnte. <code class=\"\" data-line=\"\">\/dev\/nvme0n1p2<\/code> ist die zweite Partition auf unserer NVMe-SSD. Zum Vergleich, vor der \u00c4nderung lag der Einh\u00e4ngepunkt \/ auf <code class=\"\" data-line=\"\">\/dev\/mmcblk0p2<\/code>:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">u-labs@pi5m2:~ $ df -h \/\nFilesystem      Size  Used Avail Use% Mounted on\n\/dev\/mmcblk0p2   58G  4.4G   51G   8% \/<\/code><\/pre>\n<h2 class=\"wp-block-heading\">Schwierigkeiten in der Handhabung<\/h2>\n<p>Wie im Abschnitt zur Montage erw\u00e4hnt, sollte man die Speicherkarte m\u00f6glichst vorher einstecken. Sobald das HatDrive montiert ist, wird sie vom Flachbandkabel zum Anschluss an die PCIe-Buchse nahezu komplett verdeckt. Selbst wenn man das Kabel l\u00f6st, kann man sie mit den Fingern nicht mehr greifen &#8211; nun ist die Erweiterungsplatine im Weg. Kabel entfernen und die SSD mit einer Pinzette vorsichtig heraus ziehen ist die einzige Alternative zum L\u00f6sen der vier Schrauben. Beim Wechsel der SSD f\u00fchrt dagegen kein Weg dran vorbei.<\/p>\n<p>Wer den Raspberry Pi h\u00f6chstens beim Ende des Lebenszyklus der Debian-Version neu installiert, mag diesen Aufwand vielleicht noch verschmerzen. F\u00fcr meine Beitr\u00e4ge und alle anderen, die damit viel ausprobieren, finde ich es umst\u00e4ndlich. Zumal die Netzwerk-Installation derzeit nicht auf dem Raspberry Pi 5 l\u00e4uft. Es f\u00fchrt daher kein Weg dran vorbei, Karte oder SSD zur Neuinstallation au\u00dferhalb zu bef\u00fcllen. Insbesondere deswegen sollte zumindest die Speicherkarte ohne gr\u00f6\u00dfere Umbauarbeiten leicht erreichbar sein. Ein St\u00fcck weit ist das dem Design des Raspberry Pi 5 geschuldet: Der PCIe-Anschluss befindet sich genau \u00fcber dem Speicherkartenslot.<\/p>\n<p>Pimoroni (Gro\u00dfbritannien) hat sich etwas einfallen lassen: Man hat die PCIe-Buchse auf dem eigenen Board etwas zur Seite verschoben.<sup data-fn=\"01d2138b-8d34-43ba-b606-efb79c119aaf\" class=\"fn\"><a href=\"#01d2138b-8d34-43ba-b606-efb79c119aaf\" id=\"01d2138b-8d34-43ba-b606-efb79c119aaf-link\">9<\/a><\/sup> Das Kabel ist wie ein lang gezogenes &#8222;S&#8220; gebogen, sodass der Zugang zur Speicherkarte scheinbar frei bleibt. <\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-pcie-kabel-gebogen.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"946\" height=\"500\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-pcie-kabel-gebogen.jpg\" alt=\"\" class=\"wp-image-12350\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-pcie-kabel-gebogen.jpg 946w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-pcie-kabel-gebogen-300x159.jpg 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-pcie-kabel-gebogen-768x406.jpg 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-pcie-kabel-gebogen-640x338.jpg 640w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2024\/02\/rpi-pcie-kabel-gebogen-322x170.jpg 322w\" sizes=\"auto, (max-width: 946px) 100vw, 946px\" \/><\/a><\/figure>\n<\/div>\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n<p>Der Raspberry Pi 5 hat erstmals die M\u00f6glichkeit, per PCIe SSDs ohne Umwege ansprechen zu k\u00f6nnen. Selbst mit der zertifizierten Gen 2.0 erh\u00f6ht das die Geschwindigkeit gegen\u00fcber schnellen Speicherkarten deutlich. Au\u00dferdem k\u00f6nnen so gr\u00f6\u00dfere Datenmengen ohne externe Laufwerke robust gespeichert werden. Pineberry hat als erster passendes Zubeh\u00f6r auf den Markt gebracht. Das funktioniert, jedoch wird der Wechsel von SD-Karte und SSD beim <em>HatDrive! Bottom<\/em> erschwert. Das <em>Top<\/em> Modell d\u00fcrfte diese Schwierigkeiten nicht haben, da das Kabel nach oben statt unten verl\u00e4uft. Allerdings gibt es derzeit kein passendes Geh\u00e4use. Durch die Platine wird der Raspberry Pi nicht nur h\u00f6her, sondern im Falle des <em>Bottom<\/em> zudem um etwa 0,5cm l\u00e4nger.<\/p>\n<p>Abgesehen von diesen Wermutstropfen fasst der HatDrive! Bottom alle g\u00e4ngigen SSDs. Vor allem dank dem g\u00e4ngigen 2280 Formatfaktor kann man auf eine gro\u00dfe Auswahl zur\u00fcck greifen. PCIe Gen 3.0 lief in meinem Test bisher ebenfalls stabil &#8211; wenngleich dies nicht offiziell unterst\u00fctzt wird.<\/p>\n<h2 class=\"wp-block-heading\">Quellen &amp; weiterf\u00fchrende Informationen<\/h2>\n<ol class=\"wp-block-footnotes\">\n<li id=\"b0da433b-f1ad-4df6-b124-b23178549477\">https:\/\/www.raspberrypi.com\/documentation\/computers\/config_txt.html <a href=\"#b0da433b-f1ad-4df6-b124-b23178549477-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 1 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"c96f9972-0a79-4b2c-a5c3-6922a993a183\">https:\/\/forums.raspberrypi.com\/viewtopic.php?t=364985 <a href=\"#c96f9972-0a79-4b2c-a5c3-6922a993a183-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 2 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"ef115f43-1b69-408b-8483-beca6b866070\">https:\/\/github.com\/billw2\/rpi-clone <a href=\"#ef115f43-1b69-408b-8483-beca6b866070-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 3 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"27ada294-ca79-4bfa-91aa-313275d14fa3\">https:\/\/github.com\/geerlingguy\/rpi-clone <a href=\"#27ada294-ca79-4bfa-91aa-313275d14fa3-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 4 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"2fbe7bc2-9136-4176-95a8-b8424cbebc76\">https:\/\/www.raspberrypi.com\/documentation\/computers\/raspberry-pi-5.html#booting-from-pcie <a href=\"#2fbe7bc2-9136-4176-95a8-b8424cbebc76-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 5 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"151968fd-c14a-4520-9320-22694d112fee\">https:\/\/docs.pineberrypi.com\/tutorial-booting-from-nvme <a href=\"#151968fd-c14a-4520-9320-22694d112fee-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 6 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"1cc96e7a-902e-4366-9ce9-2647a72ea514\">https:\/\/www.raspberrypi.com\/documentation\/computers\/raspberry-pi.html#BOOT_ORDER <a href=\"#1cc96e7a-902e-4366-9ce9-2647a72ea514-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 7 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"cac3260f-2119-4245-99d9-b473d4164cab\">https:\/\/community.volumio.com\/t\/dev-rasspery-pi-4b-5-usb-or-nvme-m-2-boot\/65032 <a href=\"#cac3260f-2119-4245-99d9-b473d4164cab-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 8 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<li id=\"01d2138b-8d34-43ba-b606-efb79c119aaf\">https:\/\/shop.pimoroni.com\/products\/nvme-base?variant=41219587178579 <a href=\"#01d2138b-8d34-43ba-b606-efb79c119aaf-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 9 navigieren\">\u21a9\ufe0e<\/a><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Durch die PCIe-Schnittstelle kann der Raspberry Pi 5 erstmals SSDs ohne Umweg \u00fcber USB ansteuern. Ich habe den Pineberry HatDrive ausprobiert und zeige euch, wie man ihn montiert und das Raspberry Pi OS auf die neue SSD \u00fcbertr\u00e4gt. Au\u00dferdem schauen wir uns ein paar potenzielle Fehler sowie Probleme an. Die aktiven Forumsleser werden bereits geahnt &#8230;<\/p>\n","protected":false},"author":5,"featured_media":12817,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"[{\"content\":\"https:\/\/www.raspberrypi.com\/documentation\/computers\/config_txt.html\",\"id\":\"b0da433b-f1ad-4df6-b124-b23178549477\"},{\"content\":\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=364985\",\"id\":\"c96f9972-0a79-4b2c-a5c3-6922a993a183\"},{\"content\":\"https:\/\/github.com\/billw2\/rpi-clone\",\"id\":\"ef115f43-1b69-408b-8483-beca6b866070\"},{\"content\":\"https:\/\/github.com\/geerlingguy\/rpi-clone\",\"id\":\"27ada294-ca79-4bfa-91aa-313275d14fa3\"},{\"content\":\"https:\/\/www.raspberrypi.com\/documentation\/computers\/raspberry-pi-5.html#booting-from-pcie\",\"id\":\"2fbe7bc2-9136-4176-95a8-b8424cbebc76\"},{\"content\":\"https:\/\/docs.pineberrypi.com\/tutorial-booting-from-nvme\",\"id\":\"151968fd-c14a-4520-9320-22694d112fee\"},{\"content\":\"https:\/\/www.raspberrypi.com\/documentation\/computers\/raspberry-pi.html#BOOT_ORDER\",\"id\":\"1cc96e7a-902e-4366-9ce9-2647a72ea514\"},{\"content\":\"https:\/\/community.volumio.com\/t\/dev-rasspery-pi-4b-5-usb-or-nvme-m-2-boot\/65032\",\"id\":\"cac3260f-2119-4245-99d9-b473d4164cab\"},{\"content\":\"https:\/\/shop.pimoroni.com\/products\/nvme-base?variant=41219587178579\",\"id\":\"01d2138b-8d34-43ba-b606-efb79c119aaf\"}]"},"categories":[1098],"tags":[1103,428],"class_list":["post-12263","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-raspberry-pi-5","tag-nvme","tag-ssd"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/12263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=12263"}],"version-history":[{"count":45,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/12263\/revisions"}],"predecessor-version":[{"id":12818,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/12263\/revisions\/12818"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/12817"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=12263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=12263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=12263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}