Hardware Software

oDroid XU4: Booten von SSD/HDD (Ubuntu)

oDroid XU4 Boot SSD Samsung

Wie bereits in einem anderen Beitrag beschrieben, ist das Verwenden einer SSD für einen oDroid XU4 genial. Selbstverständlich kann man nicht das gesamte Potenzial wirklich nutzen, da USB 3.0 nicht bei SATA 6 Gb/s mithalten kann. Um schneller als jede microSD Karte oder als der eMMC Speicher zu sein, reichts aber dennoch. Neben den erheblichen Geschwindigkeitsverbesserungen, kann man sich außerdem auf eine erhöhte Zuverlässigkeit und ein besseres Preis/Leistungsverhältnis freuen. Insbesondere die eMMC Speicher sind schweineteuer: 16 GB 45 € – 64 GB 80 €. Hallo? Eine 512 GB Samsung SSD kostet gerade mal 85 €! Um nicht andauernd mit Hard- und Softlinks arbeiten zu müssen, wenn der Speicher des eMMC mal wieder ausgeht, empfehle ich die Festplatte als Systempartition einzurichten. Das geht sowohl für eine SSD, als auch eine HDD, auf dem selben Weg.

Grüße gehen in diesem Zuge raus an jsherm101, der im oDroid Forum einen Artikel für eine Seedbox niedergeschrieben hat. Darin wird nebenbei beschrieben, wie man das rootfilesystem auf eine externe Festplatte verschiebt.

Ich verwende folgende Hardware:

Samsung 850 Evo 500 GB SSD*

Sabrent USB 3.0 zu SATA Adapter (UASP fähig)*

* hierbei handelt es sich um Affiliatelinks. Das bedeutet, dass ich im Falle eines Kaufes Ihrerseits einen geringen Prozentsatz des Kaufpreises als Vermittlungsgebühr erhalte. Für Sie entstehen dabei keinerlei Mehrkosten.

Festplatte vorbereiten und Konfigurationen anpassen

Bevor wir das System von unserem eMMC/microSD-Speicher kopieren, sollten wir zuerst alle Änderungen vornehmen, damit wir nach dem Kopiervorgang nicht alles nochmal auf der Festplatte anpassen müssen. Zu aller erst sollten wir aber unserer Festplatte ein passendes Filesystem geben. Mit dem Befehl  lsblk  finden wir heraus, wo in unserem System sich die Festplatte befindet. In meinem Fall ist es /dev/sda :

mmcblk0 oder mmcblk1 ist dann euer eMMC-/microSD-Speicher. Mit dem Befehl  mkfs.ext4 /dev/sda  können wir dann das Filesystem EXT4 auf die Festplatte schreiben. Nach etwa einer halben Minute sollte die Festplatte dann bereit sein.

Mit  lsblk -f  erhalten wir dann die UUID der Partition. Dies ist eine einzigartige ID, die sich nicht ändern wird, wenn ihr die Festplatte z.B. an einen anderen USB-Slot ansteckt:

Die UUID meiner Festplattenpartition ist 9d4a8ebc-1fa4-4b33-8baf-1fc5d434e6c2 . Die UUID einmal kopieren, wir werden sie gleich brauchen.

Nun werden wir in der boot.ini die Systempartition abändern. Keine Sorge, jegliche Änderungen treten erst nach einem Neustart in Kraft! Die boot.ini könnt ihr mit sudo nano /media/boot/boot.ini  öffnen. Im Nano Editor könnt ihr mit Strg+W suchen. Gebt in das Suchfeld bootrootfs ein und bestätigt mit Enter. Ihr werdet eine sehr ähnliche Zeile wie diese finden:

Ersetzt dort die UUID von eurer eMMC-/microSD-Partition hinter root=UUID=  mit der UUID eurer Festplatte. In meinem Fall sieht es dann so aus:

Mit Strg + O können wir den Editor speichern lassen und mit Strg + X den Editor schließen. Die erste Konfigurationsänderung ist damit vollbracht. Sollte später etwas schief laufen und der oDroid XU4 bootet nicht mehr, könnt ihr jederzeit euren eMMC-/microSD-Speicher an eurem PC anschließen und dort die boot.ini wieder anpassen. Es ist daher nützlich sich die bisherige UUID irgendwo aufzuschreiben.

Um für zukünftige Updates der boot.ini durch apt vorbereitet zu sein, empfehle ich außerdem sehr die boot.ini.default unter /media/boot/ anzupassen. Ich habe dort ans Ende der Datei folgende Zeile eingefügt. Denkt bitte daran die UUID durch eure auszutaschen:

Als nächstes muss man die /etc/fstab  Datei anpassen. Hierbei ist es wieder das selbe Suchen-und-Ersetzen Spiel wie eben. Aus

wird

Wie zu sehen ist, habe ich noch die Option „defaults“ miteingesetzt. Diese übergibt folgende Standard-Einstellungen: rw,suid,dev,exec,auto,nouser,async . Schlussendlich können wir endlich mit dem Kopiervorgang beginnen. Dazu benötigen wir das Tool rsync. Installieren kann man es mit dem Befehl apt update && apt install rsync . Um Daten auf die Festplatte schreiben zu können, müssen wir zu Beginn einen Ordner erstellen und die Festplatte darin mounten. Das geht einfach mit dem Einzeiler sudo mkdir /mnt/harddrive && sudo mount -uuid 9d4a8ebc-1fa4-4b33-8baf-1fc5d434e6c2 /mnt/harddrive.

Damit keine inkonsistenten Daten übertragen werden, solltet ihr vor dem Kopieren einmal alle Dienste wie Webserver, Datenbank oÄ. beenden. In meinem Fall war das systemctl stop nginx mysql php7.2-fpm tvheadend raspotify .

Den Kopiervorgang können wir dann mit  rsync -aAXvP --exclude={"/dev/*", "/proc/*", "/sys/*", "/tmp/*", "/run/*", "/mnt/*", "/media/*", "/lost+found"} / /mnt/harddrive/  starten. Holt euch einen Kaffee – das kann etwas dauern. Sobald das Kopieren durch ist, würde ich das selbe Kommando nochmal starten, um sicherzugehen, dass in der Zwischenzeit keine Daten verändert worden sind und falls doch, man die Daten mitüberträgt. Meist handelt es sich dabei nur um Logs.

Abschluss

Haben wir die Konfigs angepasst und die Daten übertragen, können wir den oDroid nun mit  shutdown -r now neustarten. Wenn der oDroid nach dem Neustart ohne Probleme zu erreichen ist, ist das schon einmal ein sehr gutes Zeichen! Mit df  können wir nun verifizieren, dass das Filesystem wirklich auf der SSD/HDD ist:

Wie man sehen kann, ist /dev/sda unter / gemountet. / ist dabei das Root-Filesystem.

Ähnliche Beiträge:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.