Hier beschreibe ich wie man Arch Linux auf den Odroid C1 bekommt. Die Installation des Betriebssystems hält sich eng an die Anleitung auf www.archlinuxarm.org, sie wurde nur um ein paar hilfreiche Anweisungen und Abbildungen ergänzt.
Die Anleitung setzt einen Linux PC vorraus. Das kann ein normaler PC sein, funktioniert aber auch z.B. mit einem RaspberryPi auf dem ein Linux läuft. Eine andere Möglichkeit ist ein Linux Livesysteme einzusetzen, die einfach von CD/DVD oder vom USB-Stick starten.
Für die Installation bei mir habe ich ein Debian 8.1 Linux in der Virtualisierungssoftware VMWare Player betrieben. Diese läuft unter Windows und wird im Grunde wie eine Anwendung gestartet. Die Screenshots hier entstammen auch dieser Installation.
Kurzzusammenfassung:
- microSD-Karte partitionieren und formatieren
- Arch Linux herunterladen und auf die microSD-Karte entpacken
- Bootloader installieren
- Bootparameter einstellen
- microSD-Karte aushängen
Was wird zum bespielen benötigt:
- Linux PC
- Kartenleser für microSD Karten
Installation Arch Linux:
microSD-Karte partitionieren und formatieren
Zuerst muss die microSD-Karte in den Kartenleser gelegt und ein Terminal geöffnet werden.
Für die meisten Befehle die für die Installation gebraucht werden muss man Adminrechte haben. Man loggt sich daher als root ein oder man holt sich als normaler User mit folgendem Befehl, passende Rechte:
sudo su
Anschließend muss das Benutzerpasswort eingegeben werden.
Damit das Betriebssystem auf die richtige Karte kommt suchen wir zuerst den dazugehörigen Laufwerksnamen:
fdisk -l
Das passende Laufwerk, kann man an der Größe erkennen. Im unteren Bild sieht man die Kapazität von 14,9GB, welches der 16GB microSD-Karte entspricht die ich eingelegt habe. Der Laufwerksname ist sdc. Sdc1 im unteren Rechteck ist die erste Partition auf dem Laufwerk.
Wer sich unsicher ist sollte die Karte nochmal rausnehmen und den Befehl ein weiteres mal ausführen. Jetzt darf das Laufwerk nicht mehr auftauchen. Anschließend die Karte erneut einlegen und den Befehl ausführen. Nun müsste sie wieder angezeigt werden.
Der Anfang der microSD-Karte muss mit nullen überschrieben werden(bei sdX das X durch den Laufwerksbuchstaben ersetzen, im konkreten Beispiel durch c):
dd if=/dev/zero of=/dev/sdX bs=1M count=8
Nun muss die Karte partitioniert werden(X durch den Laufwerksbuchstaben ersetzen):
fdisk /dev/sdX
Nun sollte man in etwas dieses Bild haben:
Jetzt muss man folgende Befehle ausführen:
- “o” über die Tastatur eingeben: Löscht alle Partitionen auf dem Laufwerk
- “p” eingeben: Listet alle Partitionen auf – es sollten keine vorhanden sein
- “n” eingeben: zum Anlegen einer neuen Partition
- “p” eingeben: sie soll “primary” sein
- “1” eingeben: Sie soll die erste Partition auf dem Laufwerk sein
- zwei mal “Enter” drücken um den standard Start- und Endsektor zu wählen
- “w” eingeben: fdisk beenden
Bevor man Fdisk beendet, gibt es die Meldung das eine neue Partition in der Größe der microSD-Karte erstellt wurde.
Anschließend muss das Filesystem erzeugt werden (X durch den Laufwerksbuchstaben ersetzen). Das Ausführen des Befehls dauert je nach Größe der Speicherkarte etwas:
mkfs.ext4 /dev/sdX1
Arch Linux herunterladen und auf die microSD-Karte entpacken
Nun legen wir einen Ordner an, in dem wir anschließend die Karte einbinden(mounten) um darauf das Arch Linux speichern können:
mkdir root
Jetzt das Laufwerk in den folgenden Ordner mounten(X durch den Laufwerksbuchstaben ersetzen):
mount /dev/sdX1 root
Nun landen wir das Arch Linux für den Odroid c1 herunter. Hierfür ist eine Internetverbindung notwendig, die Größe des Images beträgt ca. 200MB. Hinweis: Bekommt man beim Ausführen des unten stehenden Befehls die Meldung “bash : bsdtar: command not found” dann fehlt das Programm bsdtar. Dies kann über die Paketverwaltung z.B. mit “apt-get update” und dann “apt-get install bsdtar” nachinstalliert werden.
wget http://archlinuxarm.org/os/ArchLinuxARM-odroid-c1-latest.tar.gz
So sieht das herunterladen bei mir aus:
Anschließend die Dateien in den vorher erstellten Ordner entpacken (auf die microSD-Karte, da sie als Ordner root gemounted ist):
bsdtar -xpf ArchLinuxARM-odroid-c1-latest.tar.gz -C root
Bootloader installieren
Nun wechseln wir in den Ordner /root/boot, von dem aus wir ein Script starten das den Bootloader auf die Karte schreibt:
cd root/boot
und mit dem sd_fusing.sh Script den Bootloader auf die microSD-Karte schreiben(X durch den Laufwerksbuchstaben ersetzen):
./sd_fusing.sh /dev/sdX
Nach dem Ausführen des Befehls sollte man die Meldung bekommen das der Bootloader erfolgreich auf die microSD-Karte geschrieben wurde.
Bootparameter einstellen
Nun muss gegebenenfalls noch ein Parameter in der boot.ini geändert werden. Standardmäßig ist die Auflösung des HDMI-Ausgangs des Odroid C1 im Arch Linux auf 1080p eingestellt. Da dies nicht jeder Monitor darstellen kann, kann man die Auflösung folgendermaßen einstellen:
nano boot.ini
Nun kann man im Texteditor nano den Parameter für die Auflösung des HDMI-Ausgangs ändern. Im unteren Screenshot habe ich beispielsweise eine Auflösung von 720p gewählt, welche deutlich mehr Monitore darstellen können(nahezu alle Aktuellen?). Dazu entfernt man das Auskommentierzeichen “#” vor der gewünschten Auflösung und fügt es vor der vorher gewählten ein(bei 1080p). Es sollte nur eine Zeile ohne Auskommentierzeichen “#” bei der Auflösungswahl vorhanden sein.
Um die Änderungen zu speichern und nano zu beenden betätigt man man “strg + x” und bestätigt die Nachfrage ob gespeichert werden soll mit Ja.
microSD-Karte aushängen
Nun gehen wir aus dem Ordner um anschließend die Karte aushängen zu können und damit aus dem Kartenleser genommen werden kann:
cd ../..
Die Installation ist nun abgeschlossen, zum Abschluss hängen wir die Karte wieder aus dem System aus und können sie anschließend entnehmen:
umount root
Nun ist das Betriebssystem auf der Karte und bereit für den ersten Start!
Ich bin dabei das ArchLinux auf eine eMMC Card für den Odroid-C1+ zu instalieren.
Verwenden tue ich den VMware Player mit dem Debian 8.1 (64bit) Image.
Das funktioniert soweit.
Leider komme ich an dieser Stelle nicht weiter : “bsdtar -xpf ArchLinuxARM-odroid-c1-latest.tar.gz -C root”.
Da kommt die Meldung : “bash : bsdtar: command not found”.
Was nun ?
Vermutlich ist einfach nur das Programm bsdtar nicht installiert.
Dies holt man mit “apt-get update” (Paketverwaltung aktualisieren) und anschließendem “apt-get install bsdtar” (Programm installieren) nach. Der Befehl muss mit den Rechten des Root Benutzers ausgeführt werden. In der Regel reicht ein “sudo” den Befehlen voranzustellen. Weitere Möglichkeiten sind sich direkt als Root einzuloggen oder sich mit dem Befehl “su” (Debian) Rootrechte zu besorgen.
Ich hoffe dies hat Abhilfe geschaffen. Wenn nicht, dann gerne wieder melden.