Homebridge – Raspberry Pi von SSD (SATA oder M.2) Festplatte starten

Der Raspberry Pi3 benötigt zum Starten ein Image, das sich auf einer microSD-Karte befinde. Heute will ich Euch aber zeigen, wie Ihr das System z.B. ioBroker oder auch die Homebridge auf eine SSD-Festplatte bekommt um dann direkt von der HDD anstelle der microSD-Karte zu booten.

Viele sagen jetzt, warum? Die SD-Karten halten doch ewig und die Geschwindigkeit ist doch auch super… Ja, Ihr habt recht ;-) Ich denke, dass die Diskussion über die Haltbarkeit von SD-Karte schon häufig geführt worden ist. Trotzdem gibt es triftige Gründe dafür. Auf diese werde ich zuerst eingehen um in das Thema einzusteigen.

Motivation

Warum als den ganzen Aufwand betreiben? Zuerst einmal: Der Aufwand ist sehr gering, daher Punkt abgehakt. Ich selbst bin auf die Idee gekommen, da ich ein Leser angesprochen hat, der gerne sein Ferienhaus mit einer Homebridge ausrüsten wollte. Dort ist bereits Homematic installiert um z.B. die Heizung zu regeln und das Objekt zu überwachen, da es auch längere Zeit leer steht. Ein Pi ist dabei kein Problem, doch mit SD-Karten hat er schlechte Erfahrungen (in der Vergangenheit) gemacht und wollte, dass eine richtige HDD zum Einsatz kommt.

Kurz zu den SD-Karten. Natürlich sind die Schreibzyklen einer Karte begrenzt. Das bedeutet, dass die NAND-Gatter nach einer bestimmten Zeit ausfallen. Die interne Elektronik der Speicherkarte kann das ausgleichen, indem diese Sektoren erkannt werden und dann einfach an eine andere Speicherstelle der Karte ausgelagert werden. Das kann auch eine ganze Zeit lang gut gehen.

Gerade bei großen Karten ist ja genügend Reserve vorhanden. Eine RaspberryMatic Installation z.B. ist nur wenige MB groß. Wird eine 16 GB Karte verwendet, sind so viele Sektoren frei, auf die ausgelagert werden kann, sodass jahrelang kein Ausfall auftritt. Das Problem ist bei kleinen Karten viel akuter, da der Platz zum auslagern einfach geringer ist. Daher sollten auch bei kleinen Image-Dateien möglichst große Karten verwendet werden. Das ganze muss natürlich immer in Relation stehen ;-) Ich verwende daher meist gute Karte von SanDisk mit 16 GB. Diese bieten aktuell das beste Preis-/Leistungsverhältnis.

SSD-Festplatten sind für wesentlich höhere Schreibzyklen ausgelegt. Daher ist es gerade bei „professionellen“ Installationen wie z.B. bei einem Ferienhaus oder einem Neubau doch zu empfehlen diesen Schritt zu gehen.

Es sollte zwar in regelmäßigen Abständen ein Backup durchgeführt werden, doch bei einer SSD kann dieser Zeitraum (durch Vergessen!) auch gerne mal etwas größer ausfallen ohne das man sich Gedanken über Datenverluste machen muss.


Verwendete Hardware

Um entweder die mSATA, M.2 oder SATA Festplatten mit dem Pi verbinden zu können, benötigt Ihr einen Adapter. Diesen gibt es von StarTech.com. Der Anbieter hat 3 unterschiedliche Adapter im Angebot. Eine Übersicht findet Ihr hier.

Alle Adapter sind speziell für den Raspberry Pi3 konstruiert. Die Größe der Platine ist daher optimal auf die des Pi’s abgestimmt. Bei jedem Adapter liegen Abstandsbolzen bei, sodass die zusätzliche Platine direkt auf dem Pi installiert werden kann. Mit den beiliegenden Schrauben wir das Ganze dann fixiert. Auf dem 1. Bild seht Ihr wie der Pi mit dem mSATA-Modul bestückt ist.

Da es leider nicht möglich ist, die USB-Verbindung über die IO-Ports des Pi’s zu realisieren, liegt ein kleines USB-Kabel bei, damit die Platine dann von außen angebunden werden kann. Auch die mSATA-HDD wird darüber direkt mit Strom versorgt.

Es besteht aber auch zusätzlich die Möglichkeit mit einem externen Netzteil das Gerät zu versorgen, falls der maximale Strom vom Pi nicht für Eure Festplatte ausreicht. Bei den mobile HDD wie M.2 oder mSATA wird das zu keinen Problemen führen. Solltet Ihr aber über den SATA-Adapter eine größere Festplatte anschließen wollen, dann kann es evtl. vorkommen dass Ihr auf die externe Spannungsversorgung zurückgreifen müsst.

Die USB-Schnittstelle kann ebenfalls über zusätzliche Pins abgegriffen werden, falls Ihr den Adapter mit einem anderen Mini-Computer betreiben wollt. Dann kann auf die externe Lösung mittels USB-Kabel verzichtet werden.

Lange Rede kurzer Sinn! Ich zeige Euch jetzt wie Ihr das umsetzen könnt!

Damit wir per USB booten können, müssen wir leider zuerst über eine microSD-Karte booten, da wir eine kleine Änderung am One Time Programmable Speicher des Raspberrys durchführen müssen. Hier werden wir die Bootoption USB-Boot reinschreiben.

Dazu müssen wir zuerst das aktuelle Rasbian Jessie Lite herunterladen. Das Image packen wir dann auf eine micorSD-Karte, mit der wir booten können.

Um das gerade heruntergeladene Image auf unsere SD-Karte zu bekommen, verwenden wir die Software Win32 Disk Imager (Windows) oder ApplePi-Baker (MacOS).

homematic-raspymatic-installation

Nun starten wir Win32 Disk Imager. Falls dabei Probleme auftreten sollten, bitte als Administrator ausführen!

Bei Device wählen wir unsere microSD-Karte aus und mit dem Ordnersymbol navigieren wir zum Image. Über die Schaltfläche „Write“ wird der Vorgang gestartet.


Nachdem die Karte geschrieben wurde, können wir diese in den Pi einsetzen. Jetzt solltet Ihr zuerst das Netzwerkkabel einstecken und dann den Stecker für die Spannungsversorgung.

Ihr braucht dazu keinen angeschlossenen Monitor und auch keine Tastatur. Der Bootvorgang dauert wenige Sekunden.

Mit Putty auf den Pi zugreifen

Nun können´wir über das Programm Putty darauf zugreifen.

Wir starten dazu Putty und tragen bei „Host Name“ die zuvor ermittelte IP-Adresse ein.

putty-raspberry

Der Port bleibt unverändert bei 22. Mit einem Klick auf „Open“ stellen wir nun eine Verbindung zum Raspberry Pi her. Sollte ein Fenster mit einer Meldung erscheinen, dass der host key noch nicht gecached ist, beantworten wir diese mit „Ja“.

Als User verwenden wir:

… und als Passwort für den User Pi geben wir:

ein. Es ist wichtig, das alles klein geschrieben wird. Nachdem wir nun eingeloggt sind, geben wir folgenden Befehl in die Kommandozeile ein:

daraufhin müssen wir den Pi neu starten. Um den Pi zu rebooten geben wir folgendes ein:

Danach loggen wir uns erneut ein. Jetzt können wir überprüfen, ob die Änderungen im OTP angekommen sind.

Dazu geben wir folgenden Befehl ein:

Als Rückmeldung muss 17:3020000a kommen. Sollte 17:1020000a zurückgegeben werden, ist das Schreiben nicht erfolgreich abgeschlossen worden.

Nun kann der Pi3 auch von USB booten. Um nun unsere SSD / M.2 oder SATA-Festplatte für den Bootvorgang vorzubereiten gehen wir wie folgt vor:

Das Vorgehen ist so simpel, dass ich es hier gar nicht im Detail beschreiben muss ;-)

Ihr schließt den Adapter von StarTech.com einfach per USB an Euren Rechner an. Dieser wird dann als externer Speicher erkannt. Nun startet Ihr wieder (wie oben beschrieben) den Win32 DiskImager und führt die gleichen Schritte aus, wie Ihr es zuvor bei der SD-Karte gemacht habt.


Nachdem (und das geht mit einer SSD wirklich sauschnell ;-)) das Image fertig geschrieben ist, verbindet Ihr die Platinen nun mit dem Pi und steckt das USB-Kabel in einen der vier vorhandenen Port.

Nun kann der Pi3 mit Strom versorgt werden. Das Booten dauert leider etwas länger, da zuerst nach einer microSD-Karte gesucht wird. Daher müsst Ihr ca. 5-10 Sekunden warten bis es dann per USB weiter geht.

RaspberryMatic auf einer SSD zum booten?

Geile Idee, genau dafür wollte ich es auch nutzen. Mit der aktuellen Version (Stand Mai 2017) ist es allerdings noch nicht möglich. Jens Maus (Entwickler von RaspberryMatic) hat aber schon angedeutet, dass dies bald möglich ist. Sobald ein Update herauskommt, welches unterstützt wird, werde ich Euch natürlich informieren.

Die Homebridge für Siri und ioBroker für die Alexa-Sprachsteuerung können bereits auf SSD ausgelagert werden. Auch openHAB lässt sich so von microSD-Karte auf SSD bringen.

Im nächsten Artikel stelle ich euch dann noch ein passenden Hutschienen-Gehäuse vor, damit der Pi dann bequem im Schaltschrank platziert werden kann!

Passende Beiträge


Schreibe einen Kommentar