Arch Linux kann beim ODROID-U3 auf einer SD-Speicherkarte oder einem eMMC Speicherchip installiert werden. In diesem Beitrag wird gezeigt, wie das System auf eine externe Festplatte verschoben und gestartet wird.
Es wird vorausgesetzt, dass Arch Linux bereits auf einer SD-Karte installiert ist und das System davon gestartet wurde.
Ausgegangen wird von einer bereits partitionierten USB-Festplatte. In dem vorliegenden Fall befinden sich zwei Partitionen auf ihr. Dabei ist die zweite Partition mit einem ext4 Dateisystem formatiert, steht im System als
/dev/sda2zur Verfügung und wird später als neue Root-Partition verwendet.
Natürlich ist es auch möglich die Partitionierung an dieser Stelle vorzunehmen. In diesem Fall müssen die Parameter im weiteren Verlauf möglicherweise angepasst werden.
Hinweis: Alle Befehle müssen als Root-Benutzer ausgeführt werden.
Zur Vorbereitung wird zunächst die neue und leere Root-Partition eingebunden.
$ mount /dev/sda2 /mnt/
Anschließend wird das Tool rsync für die Synchronisation der Dateien benötigt und muss installiert werden.
$ pacman -S rsync
Nach der Installation können die Daten von der SD-Karte auf die Festplatte synchronisiert werden. Dies kann mit dem folgendem Befehl geschehen. Wichtig dabei ist jedoch, dass alle Berechtigungen für die Dateien und Ordner erhalten bleiben.
$ rsync -aAXv --progress --verbose /* /mnt/ --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found}
Anschließend muss die Boot-Konfiguration für das U-Boot angepasst werden. Hierfür muss in der Datei
/boot/uEnv.txtfolgende Zeile einkommentiert und der Wert für
mmcrootso angepasst werden, dass er der Root-Partition entspricht.
mmcroot=/dev/sda2 rw rootwait
Damit die Daten der SD-Karte später auch zur Verfügung stehen, wird folgende Zeile in die Datei
/mnt/etc/fstabeingetragen.
/dev/mmcblk0p1 /media/mmc ext4 rw,relatime,data=ordered 0 1
Danach wird noch das später für das Einhängen benötigte Verzeichnis angelegt.
$ mkdir -p /mnt/media/mmc
Damit der Kernel bei einem Update nicht nur auf der Festplatte, sondern auch auf der SD-Karte aktualisiert wird, wird das Verzeichnis
/bootvon der SD-Karte verwendet.
Hinweis: Der im Folgenden angelegte Symlink ist erst nach einem Neustart gültig.
$ cd /mnt
$ rm -rf boot/
$ ln -s /media/mmc/boot boot
Vor dem Neustart sollten alle eingehängten Medien ausgehängt werden.
$ cd ~
$ sync
$ umount /mnt
Zum Abschluss des Vorgangs ist ein Neustart notwendig.
$ reboot
Nach dem Bootvorgang sollte die externe Festplatte und die SD-Karte entsprechen eingehängt sein.
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 115G 30G 80G 27% /
[ ... ]
/dev/mmcblk0p1 976M 473M 453M 52% /media/mmc
[ ... ]
Links
- Webseite: ODROID (englisch)
- Webseite: Arch Linux ARM (englisch)