Die erste Erfahrung mit Linux erfolgt meist über die Befehlszeile. Als Administrator tritt man in die Hierarchie des Betriebssystems auf einer „Root“-Ebene ein. Diese Struktur ist unabhängig von der jeweils verwendeten Distribution (Bild 2).
Im folgenden Abschnitt werden Linux-Befehle kursiv geschrieben, <ret> bezeichnet die Return- oder Enter-Taste. Die Kombination aus Ctrl-Taste und einer anderen Taste, z.B. "D", wird mit Ctrl-D dargestellt. Beim Einsatz eines Headless-Boards gibt es keine andere Möglichkeit, als über ein Remote-Terminal eine Verbindung zum SBC herzustellen.
Das folgende Beispiel beinhaltet ein Apple MacBook Pro auf dem OS X läuft, einen BeagleBone Black mit der IP-Adresse 192.168.1.102 und einen Default User im „root“-Status. Um eine Verbindung zum SBC herzustellen, wird unter Microsoft Windows ein einfaches Terminalprogramm wie PuTTY notwendig, auf OS X kann das vorhandene Terminal verwendet werden.
Im Terminal wird mit dem SSH-Befehl (Secure Shell) eine sichere Remote-Verbindung zu einem anderen Rechner hergestellt, im Terminal wird direkt auf das CLI des verbundenen Rechners zugegriffen.
Im Terminal wird mit dem SSH-Befehl (Secure Shell) eine sichere Remote-Verbindung zu einem anderen Rechner hergestellt, im Terminal wird direkt auf das CLI des verbundenen Rechners zugegriffen.
Das gängigste Format für den SSH-Befehl ist ssh user @host<ret> (Bild 3). In diesem Beispiel wurde noch nicht mit dem Host kommuniziert. Akzeptiert der Host die Kommunikation, wird diese neue Verbindung in der Datei für bekannte Hosts im Mac gespeichert.
Einige grundlegende Befehle der Linux-Befehlszeile: ls<ret> listet Dateien im aktuellen Verzeichnis auf, ls -l<ret> erstellt eine tabellarische Liste von Dateien, während ls --help detaillierte Anweisungen zu allen Befehlsoptionen gibt (Bild 4).
Andere gängige Befehle sind:
- df<ret> zeigt Dateisysteminformationen und eine Liste der eingehängten (mounted) Geräte
- rm filename<ret> löscht die Datei filename
- mkdir majordomo<ret> erstellt ein neues Verzeichnis majordomo
- cd majordomo<ret> wechselt in das Verzeichnis majordomo
- rmdir majordomo<ret> löscht das Verzeichnis majordomo
- cp setup.py setup.old<ret> kopiert die Datei setup.py in die Datei setup.old
- mv clock.py project/clock.py<ret> verschiebt die Datei clock.py in den Projektordner
Die Ausgabe eines Befehls kann Eingabe eines weiteren Befehls sein: so sucht der Befehl ls -R | grep .py | cat<ret> rekursiv unter dem aktuellen Verzeichnis nach allen Dateien mit „py“ im Dateinamen und übergibt an cat, das die Ausgabe in lesbaren Seiten anzeigt.
Zum Erstellen und Bearbeiten von Quellcode oder Konfigurationsdateien bietet Linux eine Reihe von Editoroptionen in der Befehlszeile. Dazu gehören vim und nano. Beide sind üblich – die meisten Benutzer finden nano schnell zu meistern, während vim etwas Übung benötigt.
Die Steuerung einer SBC-GPIO über eine Linux-Befehlszeile ist sehr einfach, da alle Objekte innerhalb von Linux wie eine Datei behandelt werden: jeder GPIO-Pin wird im Verzeichnis /sys/class/gpio angesprochen. Die Pin-Richtung wird durch Senden eines „out“- oder „in“-Befehls festgelegt, z.B. durch gpio44, echo out > direction<ret>.
echo 1 > value<ret> oder echo 0 > value<ret> setzt einen Pin in den Zustand High oder Low.
Ein Beispiel für einen weiterführenden Behl ist i2cdetect, der zum Debuggen der I2C-Kommunikationen, z.B. zwischen einem Beschleunigungssensor und dem SBC, vorgesehen ist.
Linux ist ein extrem robustes, skalierbares und leistungsstarkes Betriebssystem für Ihren Embedded SBC.