Homeassistent auf Raspi 4B mit SSD installieren schlägt fehl

Hallo zusammen,

mein Homeassistent läuft aktuell auf einem Raspi-4B mit einer 32GB-SD-Karte, Stromversorgung über das 3A-Netzteil von Raspi sehr gut.

Jetzt möchte ich gerne zur Sicherheit und in Vorbereitung von Datenbankinstallationen die SD-Karte als Laufwerk durch eine SSD am USB-Anschluss austauschen. Anleitungen dazu habe ich viele gefunden, grundsätzlich muss es funktionieren, aber keine Anleitung hilft bei meinen aktuellen Problem, da sie in der Regel immer nur einen (!) funktionierenden “Geradeausweg” beschreiben.

Das manuell (haos_rpi4-64-16.1.img.xz) oder auch über den Raspi-Imager auf die SSD übertragene Homeassistent (64bit, OS 16.1) will nicht sauber anlaufen. Es erscheinen eine Unmenge von Textzeilen Meldungen auf dem angeschlossenen Monitor, man sieht, dass das Programm von der SSD etwas tut, aber am Ende läuft es nach 15..20 Minuten immer auf sich wiederholende Fehlermeldungen, dass das Eine und das Andere nicht gefunden wird (z.B. “HA CLI not starting! Jumping into emergency console …”). Manchmal sind am Ende auch I/O-Fehlermeldungen (“dev sda …” usw.) vorhanden, hier habe ich den Eindruck, als wenn die Installation nicht die Gesamtkapazität der SSD berücksichtigt hat, sondern nur einen kleineren Bereich (das konnte ich aber bisher nicht verifizieren).

Als SSD verwende ich eine Samsung 840EVO, 250GB (die war früher in meinem Win10-PC drin). Zum Anschluss wird ein USB-SATA-Adapter mit USB3+USB2-Anschluss (mit Y zur Stromversorgung) verwendet. Am USB2-Anschluss des SSD-Adapters habe ich ein 5V-Netzteil (1A) angeschlossen um die kolportierten USB-Spannungsversorgungsprobleme vom Raspi sicher zu umgehen. Die SSD benötigt max. 0,86A.

Die normale HA-Installation mit der SD-Karte auf dem Raspi läuft mit ausreichend HW-Ressourcen, der Raspi 4b langweilt sich eigentlich im unteren Prozentbereich, insofern schließe ich die Rechnerleistung und RAM als Fehlerquelle aus.

Was kann hier noch fehlerhaft sein (Erklärung der vielen Textzeilen Meldungen)? Bin ich zu ungeduldig und muss ich länger als 30 Minuten warten, weil z.B die SSD neu “in Beschlag” genommen wird (ein SD-Karten Neustart benötigt keine Minute) oder oder oder?

Moin,

dazu müsste man diese erst einmal sehen, denn nur das was Du da so blumig beschreibst, damit kann keiner etwas anfangen :wink:

Wenn die SSD vorher in einem Windows war,

  • hast Du die einmal neu formatiert, am besten mit einem Linux?
  • auf Fehler geprüft?

Ich bin kein RasPI wissender, aber Du kannst doch auch von SD-Karte booten, während die SSD angeschlossen ist und dann intern verschieben, dann musst Du zwar immer von SD-Karte booten, aber die eigentliche Schreib und Leselast liegt dann auf der SSD.

Was willst Du machen?
Eine influxDB braucht man heute nicht mehr, weil HA Langzeitdaten von sich aus, seit Mitte, Ende 2023, kann!

Aber ansonsten bin ich bei RasPI raus.

VG
Bernd

Ich habe einen Pi 4B mit einer ollen 120er SATA SSD von Kingston mit einem USB 2.0 / SATA Adapter am Laufen.
Auch andere 2,5 Zoll SSDs arbeiten an diesem Billigadapter einwandfrei und ohne extra Stromversorgung, sofern man das originale Raspi Netzteil verwendet, was es damals zum Pi 4B zu kaufen gab.

Natürlich gab es auch SATA SSDs, die Probleme bereiteten, in dem sie extrem langsam wurden und man da mit sogenannten “Quirks” Einträgen nachhelfen musste aber das waren eigentlich meist NoName SSDs oder Billigkram halt.

Ich habe neben der SSD auch noch einen SonOff Zigbee Z Dongel und einen ESP Thread Board Router über einen passiven HUB an den Pi geklemmt (der ESP Router steckt da nur deshalb am Pi, weil ich sonst ein extra Netzteil gebraucht hätte).
Und als Krönung habe ich noch die große Funkplatine von ELV/Homematic auf dem Pi sitzen.

Und das alles mit dem originalen Pi 4B Netzteil (5,1V/3A).

Wenn Du ebenfalls das originale Netzteil oder sogar ein Nachfolgemodell nutzt, sehe ich hier die extra Stromversorgung eher als kontraproduktiv, da manche Adapter mit eigener Stromversorgung einen unerlaubten Rückstrom über USB an den Pi weiterleiten, der auf dieser Seite nicht abgesichert ist.

Ich betreibe die SSD absichtlich am USB 2.0 Port, da der Pi 4B sonst mit meinem Funkmodul von ELV/Homematic nicht zusammenarbeitet, bzw. das Funkmodul dermaßen gestört wird, dass es nicht mehr richtig funkt.
Generell ist vieles im Web zu finden, was genau das Problem USB 3.0 beim Pi 4B mit einigen Funkfrequenzen beschreibt.

Da bei mir aber auf dem Pi eh nicht so große Daten hin und her geschoben werden, reichen mir die ca. 30MByte/s. vom USB 2.0 Port locker aus.
Und mein USB/SATA Adapter hat gar keinen extra Powerport, von dem übrigens oft abgeraten wird, da er meist nicht wirklich viel mehr Strom liefert.

Ansonsten viel Glück bei der Suche und evtl. kannst Du ja mal ein Foto von den Fehlermeldungen einstellen.

Ich habe damals mein HA über den Raspberry Pi Imager direkt auf meine SATA SSD unter Windows geflasht.
Da ist es eh egal, was vorher drauf war, wird ja durch das Image sowieso überschrieben.

Was die Partitionsgröße angeht, müsstest Du extra mal schauen, normalerweise vergrößert das originale Raspberry Pi OS das Image automatisch aber das HA OS ist ja was Eigenständiges.
Leider weiß ich heute nicht mehr, ob das damals beim HA OS auch automatisch ging oder ich das manuell durchgeführt habe, müsstest evtl. mal danach googeln.

Verwende mal das RPi OS 64Bit Image und überprüfe ob der RPi von SSD und ohne SD Karte fehlerfrei läuft. Kann sein, dass die Umstellung auf SSD Boot nicht komplett ausgeführt wurde.

Kennst du diesen Artikel: Raspberry Pi 4 von SSD booten - Ganz ohne SD Karte | verdrahtet.info

@dp20eic: Danke für die Rückmeldung. Ja, die Umschreibung ist “blumig”, da geschätzt 700..800 Textzeilen im schnellen Durchscrollen beim Start für mich keinen sinnvollen Ansatz ergeben. Ich wüsste Stand heute nicht mal, ob und wenn ja wie ich diese Boot-Textzeilenausgabe in eine Textdatei umleiten kann (das geht sicher, aber die Frage ist “wie”).

Zur Datenbank: Ich will eine “Maria” aufsetzen. SD als dauerhaftes OS- und Speichermedium mit eingeschränkter Menge an Schreibzugriffen ist halt nicht so meins.

Wie genau kann ich bei parallelem Anschluss von SD (aktiv mit HA) und SSD am USB die SSD prüfen? Welche Console sollte man da nutzen, welche Kommandos sind im HA implementiert, um sowas zu tun?

@noschvie: Danke für den Hinweis. Ja, den Artikel habe ich gelesen aber nicht ausgeführt, da mein Raspi 4B neu von Ende 2024 stammt und damit (eigentlich) auch die häufig erwähnten USB-Bootproblematik nicht mehr haben sollte. Der Raspi versucht ja offensichtlich von der SSD zu booten, da läuft eine Menge Programm ab, was er nur von der SSD haben kann, aber am Ende kommt halt noch kein HA.

Zur Frage SD - ja, die HA-Installation läuft korrekt seit Ende 2024 und seit Kurzem auch mit der 64-Bit-Version (siehe mein Ursprungstext).

Sind RPi Bootloader / EEPROM-Version aktuell und korrekt konfiguriert?

@NetSecond: Danke für die Rückmeldung. Zum Thema Stromversorgung - im Standard will ich auch nur die USB-Anschlüsse des Raspi 4B nutzen. Hier habe ich nur zur Sicherheit mal “auch” ein echtes Netzteil rangehängt (auch alle Varianten mit USB3/2 habe ich ohne Ergebnis durchprobiert), aber das Ergebnis ist in allen Fällen, dass es halt nicht zu Ende bootet.

Was das “flashen” durch den Raspi-Imager angeht, bin ich mangels ausreichender Doku unsicher, ob er auch eine früher Windows-partitionierte SSD als vollständiges einheitliches Speichermedium auffasst und behandelt. Indiz dafür - schon der Raspi-Imager zeigt mir die SSD als 230 GB und nicht als 250 GB-Medium an. Gibt es ein Tool/Kommando, mit dem ich vom laufenden HAOS (auf der SD-Karte) auf die angeschlossene SSD schauen und diese ggf. “behandeln” kann?

@noschvie: Das sollte (Konjunktiv) korrekt sein, da die SSD ja grundsätzlich angesprochen wird.

Kann ich vom HA aus auf die Konfig schauen und wenn ja wie? Ich habe die Konsolenoberfläche des RaspiHA zur Verfügung (Bildschirm und Tastatur dierekt am Raspi) und/oder die HA-Oberfläche über Netzwerk/Explorer an einem Windows-PC.

Wenn Du mit dem Imager flashst, gehen normalerweise alle Daten verloren, die davor drauf waren, also auch sämtliche Partitionen, egal woher und wie groß.

Hier mal die offizielle Anleitung:
Raspberry Pi - Home Assistant

Wichtig dieser Abschnitt:

The time it takes for this page to become available depends on your hardware. On a Raspberry Pi 4 or 5, this page should be available within a minute.

  • If it does not show up after 5 minutes on a Pi 4 or 5, maybe the image was not written properly.

    • Try to flash the SD card again, possibly even try a different SD card.
  • If this did not help, view the console output on the Raspberry Pi.

    • To do this, connect a monitor via HDMI.

Die Dauer, bis HA ansprechbar ist, könnte auch daran liegen, dass eben der Speicherplatz auf das Maximum vergrößert wird.

Ich muss mir noch eine Ersatz-SD besorgen und werde dann am Wochenende (?) alles Schritt für Schritt durchgehen.

Ich melde mich dann wieder :smiling_face_with_sunglasses:

Moin,

das was alles durchläuft ist meisens die Hardwareerkennung, wenn einem da nicht etwas in Roter Schrift oder einem Error auffällt, ist dieser Teil eigentlich gut, was ich meinte ist das

ieht, dass das Programm von der SSD etwas tut, aber am Ende läuft es nach 15..20 Minuten immer auf sich wiederholende Fehlermeldungen, dass das Eine und das Andere nicht gefunden wird (z.B. “HA CLI not starting! Jumping into emergency console …”). Manchmal sind

Das kann man zeigen, denn oft ist es wertvoll, das original zu sehen, nichts Abgeschriebenes :wink:

Nochmals, warum, MariaDB ist heute nicht mehr nötig, die SQLite Datenbank ist performant und auch ausgereift!

Das ist ja ein anderes Thema, das Du ja mittels SSD umgehen willst. Wobei auch eine SD-Karte kann man schützen.
Aus der Dokumentation

Important

This integration constantly saves data. If you use the default configuration, the data will be saved on the media Home Assistant is installed on. In case of Raspberry Pi with an SD card, it might affect your system’s reaction time and life expectancy of the storage medium (the SD card). It is therefore recommended to set the commit_interval to higher value, e.g. 30s, limit the amount of stored data (e.g., by excluding devices) or store the data elsewhere (e.g., another system).

VG
Bernd

P.S.: das habe ich noch gefunden, vielleicht steht da ja noch etwas drin, was hilft!