Debian auf BeagleBone und BeagleBone Black installieren

Ångström soll nicht ersetzt werden, weil es eine schlechte Distribution ist, sondern weil man zu viele Kompromisse, Workarounds und letztlich viel mehr Aufwand benötigt, um alles lauffähig zubekommen, was bei Anderen Distributionen nicht der Fall ist. Vielleicht ist dies auch nur mein subjektive Empfinden, da ich schon zulange an Debian gewöhnt bin. Letztlich muss das jeder für sich entscheiden.

Die nachfolgende Anleitung bezieht sich sowohl auf den klassischen weißen BeaglBone als auch auf den BeagleBone Black. Es existieren nur zwei Abschnitte wo sich beide voneinander unterscheiden.

Für die Installation wird eine mini SD-Karte mit mindesten 2GB Speicher benötigt und ein lauffähiges Linux. Eine Linux Distribution ist generell zu empfehlen, möchte man ernsthaft mit dem BegleBone arbeiten. Es reicht eine virtuelle Linux Maschine. Das aufsetzen eines solchen Systems wird in unter „Einrichten einer virtuellen Linux Maschine für Raspberry PI oder BeagleBone“  beschrieben.

Als Arbeitsort bzw. Arbeitsverzeichnis, empfehle ich  das Verzeichnis „/home/[Benutzetname]/Development/BeagleBone/“ und kürze den Pfad im folgenden durch „Bone“ ab.

Debian installieren

Debian installieren auf dem BeagelBone (white)

Zunächst wird das vorkonfigurierte Installationsabbild von Ropber Nelson, in der Version Wheezy (7.1) geladen. Da hier immer wieder neue Versionen verfügbar sind, sollte zuvor unter http://rcn-ee.net/deb/rootfs/wheezy/ nachgeschaut werden welche die aktuelles Version ist und der nachfolgende Link angepasst werden:

Ist der Download abgeschlossen, das Archiv entpacken und in das entstandene Verzeichnis wechseln:

Sofern noch nicht geschehen, die SD-Karte in den Kartenleser des PCs einlegen. Kennt man nicht den Geräte-Alias der SD-Karte kann man diesen mit dem folgenden Befehl ermitteln:

Es wird eine Liste mit allen Geräte-Alias Namen der verfügbaren Massenspeicher ausgegeben. Da es sich, im Beispiel, um eine 4GB SD-Karte handelt, kommt also nur der letzte Eintrag „sdd“ in Frage. Dieser kann natürlich auf einem Anderen System auch anders lauten. Daher nenne ich den alias im weiteren Verlauf „/dev/sdX“.

Im nächsten Schritt wird das Image auch die SD-Karte kopiert:


Es wird die folgende Meldung ausgegeben:

Sind alle Angaben richtig, mit der Taste „y“  gefolgt von der Eingabetaste bestätigen.

Achtung!
Sollte hier der falsche Alias ausgewählt worden sein, werden die Daten auf dem diesem Speichergerät gelöscht!

Das kompilieren und kopieren der Daten nimmt einige Zeit in Anspruch. Ist alles abgeschlossen, die SD-Karte auswerfen und in den BeagleBone einlegen.

Den BeagleBone mit einem miniUSB-Kabel an den PC anschließen und mittels „minicom“ bzw auf die Standard Ein-/Ausgabe zugreifen.

Der Standard Benutzername lautet „debian“ und das Passwort „temppwd“. Das Passwort für „root“ lautet „root“.

Debian auf dem BeagleBone Black installieren

Die Installation auf dem BeagleBone Black gestaltet sich etwas anders, da dieser einen interne eMMC Speicher besitzt, den man nicht einfach mal so in ein Kartenleser einlegen  kann. Es ist zwar auch möglich den BeagleBone Black mittels SD-Karte zu berteiben, aber dies mach ja letztlich einen der Vorteile zunichte. Dennoch wird für die Installation eine SD-Karte benötigt, auf welche das Installationsimage gespeichert werden muss.

Zunächst das Installationsimage laden:

Auch hier gilt es immer wieder neue Versionen. Die jeweils aktuellen Versionen sind unter http://rcn-ee.net/deb/flasher/wheezy/ zu finden. Den Link also entsprechend anpassen.

Ist der Download abgeschlossen, das Archiv entpacken:

Die SD-Karte in den Kartenleser des PCs einlegen und den Alias-Name ermitteln:

Der Alias Massenspeicher mit 4GB Speicher ist hier bei die SD-Karte. Im Beispiel oben ist es „sdd“. Das Installationsimage, mit dem Befehl dd, auf die SD-Karte kopieren:

Wenn der Kopiervorgang beendet ist, die SD-Karte auswerfen und in den ausgeschalteten BeagleBone Black stecken.

Den Boot-Button gedrückt halten und die USB-Versorgung anschließen. Den Boot-Button solange gedrückt halten, bis die Benutzer LEDs leuchten.

(Quelle: http://circuitco.com)

 

Die Spannungsversorgung bzw. den USB-Anschluss trennen und die SD-Karte aus dem BeagleBone Black entfernen. Die Spannungsversorgung wieder anschließen, der BeagleBone Black sollte nun booten.

Die serielle Konsole ist leider ohne Funktion!

Debian konfigurieren

Das weitere Vorgehen ist nun für beide BegleBone varianten identisch. Zunächst erst einmal eine den BeagleBone mit dem Netzwerkverbinden, so dass er einer Verbindung zum Internet herstellen kann. Anschließend eine SSH Verbindung vom PC zum BeagleBone aufbauen.

Es existiert ein Benutzer mit dem Namen „debian“ und dem Password „temppwd“, sowie ein Administrator „root“ mit dem Passwort „root“. Nach erfolgreicher Anmeldung als „root“, sollte zuerst einmal die Paketdatenbank auf den aktuellen Stand gebracht werden.

Anschließend das System aktualisieren:

Fehler in den „locals“ entfernen

Beim Upgrade erschein unter Umständen die folgende Meldung zwischen dem laden der neuen Pakete und deren Installation:

Dies liegt an einer fehlerhaften Installation bzw. Konfiguration der „locales“. Zunächst einmal überprüfen ob das Paket „locals“ bereits installiert ist:

Sollte es nicht installiert sein, kann es wie folgt installiert werden:

Sind die „locals“ installiert und es kommt dennoch zu der Fehlermeldung, sollten die „locals“-Einstellungen erst einmal ausgegeben werden:

Die oben aufgeführte Ausgabe besagt, dass einige Variablen nicht zugewiesen sind. Und die Systemsprache deutsch, in der Kodierung UTF-8, ist. Würde anstelle „de_DE“ etwa „en_US“ stehen währe die Sprache auf US amerikanisch eingestellt.

Das neukonfigurieren der „lokals“ sollte dies eigentlich korrigieren:

Allerdings hat dies bei mir noch nicht zum Erfolg geführt. Die „locals“ für „de_DE“ müssen erst neu erzeugt werden:

Benutzerverwaltung konfigurieren

Es ist bereits ein Benutzer angelegt und auch die Benutzerverwaltung ist weitergehend konfiguriert. Allerdings heißen die wenigsten von uns debian bzw. bevorzugen einen anderen Benutzernamen. Bevor nun aber ein neuer Benutzer angelegt wird sollte zuerst einmal das die Konfigurationsdatei anpassen, die beim anlegen eines neuen Benutzers verwendet wird. Denn die neuen Benutzer sollen nicht nur in ihrer eigenen Gruppe sein, sondern es sollen auch andere Gruppenzugehörigkeiten beim Anlegen des Benutzers automatisch gesetzt werden.

Zuvor schauen wir uns mal die Gruppen an, die dem Benutzer „debian“ zugeordnet sind:

Im Detail sind dies:

  • debian – Die eigens für den Benutzer „debian“ erstellte Gruppe. Jeder Benutzer erhält automatisch eine Gruppe gleichlautend zum Benutzernamen.
  • adm – Diese Gruppe ermöglicht das lesen von Log-Dateien.
  • dialout – Zugriff auf die serielle Schnittstellen.
  • cdrom – Zugriff auf CD/DVD-Laufwerke
  • floppy – Zugriff auf Diskettenlaufwerke (eigentlich überflüssig)
  • audio – Zugriff auf Audio Ein-/Ausgabeschnittstelle.
  • dip – Zugriff auf Werkzeuge, die eine Verbindung durch Einwahl herstellen. Ermöglicht zum Beispiel das Absetzen des Befehls ifconfig ohne das voranstellen von sudo.
  • video – Zugriff auf die Videoschnittstelle.
  • admin – Zugriff auf den Befehl sudo, wenngleich hier eigentlich die Gruppe „sudo“ vorgesehen ist.

Weder die Gruppe „adm“ noch „sudo“ sollten automatisch zugeordnet werden. Dies Gruppen sollten nur individuell einzelnen Benutzern zugänglich gemacht werden. Zusätzlich bevorzuge ich noch einige weitere Gruppen, in denen ein Benutzer Mitglied sein sollte:

  • users – Allgemeine Gruppe für alle Benutzer, dies erleichtert die Rechteverwaltung von Dateien und Verzeichnissen die allen Benutzern zugänglich sein sollen.
  • plugdev  – Zugriff auf externe Speichergeräte automatisch ermöglichen.
  • i2c – Zugriff auf die i2c Schnittstelle aus dem Userspace heraus.

Damit die aufgeführten Gruppen nun automatisch zugeordnet werden, die Konfigurationsdatei öffnen:

In Zeile 77 die Raute (#) entfernen und die gewünschten Gruppen ergänzen. In Zeile 81 ebenfalls die Raute entfernen.

Danach kann mit dem Anlegen neuer Benutzer begonnen werden. Hier zu den Befehl „adduser“ gefolgt von dem Benutzername eingeben:

Um einen vorhandenen Benutzer zu löschen, kann der Befehl „deluser [Benutzername]“ verwendet werden.

Substitute User Do

Mit dem Befehl  sudo kann sich ein gewöhnlicher Benutzer die Rechte eines Anderen Benutzers holen, auch die von „root“. Voraussetzung hierfür ist natürlich das dieses Paket installiert ist:

Und, dass der Benutzer auch in der Gruppe „sudo“ Mittglied ist:

 Tabulator Autovervollständigung für „sudo“ aktivieren

Wer oft mit der Konsole arbeite hat sich daran gewöhnt, dass Befehle oder auch Pfade, bei der Eingabe, durch drücken der Tabulator-Taste automatisch vervollständigt werden. Leider funktioniert dies wenn man den Befehl sudo voranstellt nicht mehr. Um diese Funktion aber auch dann zu erhalten, öffnet man die folgende Datei:

Und fügt am ende der Datei den nachfolgenden Eintrag hinzu:

Soll dies bei allen neu anzulegenden Benutzer automatisch geschehen. Muss die Vorlage der Datei „.bashrc“ angepasst werden:


Dort ebenfalls am ende die oben aufgeführten Zeilen einfügen. Dies hat natürlich keinen Einfluss auf die Bereits angelegten Benutzer. Bei diesen muss die Änderung im jeweiligen Benutzerverzeichnis durchgeführt werden.

Ändern der Netzwerkkonfiguration

Statische IP-Adresse verwenden

In den Standard Einstellungen ist der BeagleBone auf DHCP eingestellt. Das Heißt er benötigt ein DHCP-Server der ihm, sobald er mit dem Netzwerk verbunden wird, eine IP-Adresse dynamisch zuweist. Soll der BealgeBone nun über ein Crossover-Kabel direkt mit dem PC verbunden werden oder besitzt man kein DHCP-Server, können die Netzwerkeinstellungen auch entsprechend modifiziert werden. Dies gilt auch für die Netzwerkemulation über USB. Da ich diese bislang nuch nicht genutzt habe gehe ich aber nicht näher darauf ein.

Hierzu öffnet man die folgende Datei:

Den Eintrag in Zeile 8 „iface eth0 inet dhcp“ durch die nachfolgenden Zeilen ersetzen:

Wobei der Adressbereich natürlich frei gewählt werde kann. Mit dem folgenden Befehl kann die Netzwerkverbindung neu gestartet werden:

Host-Namen des BeagleBone ändern

Sollen mehrere BeagleBones im gleichen Netzwerk betrieben werden, oder gefällt einem einfach nicht der Hostname „arm“. Kann dieser folgt geändert werden. Zunächst öffnet man die Datei:

In der Datei dann einfach „arm“ durch den gewünschten Namen ersetzen. Dies sollte man auch noch bei der folgenden Datei getan werden:


Nach einem Neustart des Netzwerkes oder des Systems wird dann ein neuer Name angezeigt.

Wireless Adapter konfigurieren

Eigentlich ist der BeagleBone für den kabelgebundenen Einsatz in einem Netzwerk konzipiert. Hat man jedoch nicht die Möglichkeit kann er durch ein USB Wlan Adapter erweitert werden. Ich empfehle hier den EDIMAX EW-7811UN oder baugleichen USB-Wlan Adapter verwenden. Dieser kleinen USB Sticks basieren in der Regel auf einem Realtek RTL8188 Chip.

Den Stick in die USB Buchse des BeaglBone stecken, die kabelgebundene SSH-Verbindung muss natürlich noch bestehen. Um herauszufinden, welchen Stick man verwendet, den folgenden Befehl eingeben:

Der erste Eintrag ist der Wlan USB-Stick. Nun muss die Firmware für den Stick installiert werden. Im Falle des Realtek Chips ist diese im Paket “firmware-realtek” enthalten:

Die Firmware und alle für Wireless LAN notwendigen Pakete installieren:

Nach der Installation den Wlan Adapter wie folgt starten:

Und nach verfügbaren Netzwerken suchen:

Je nach Lage der Wohnung werden hier mehrere Netzwerke gefunden. Das wichtigste ist natürlich, dass das eigene Netz gefunden wurde.

Da ein Wlan nur verschlüsselt betrieben werden soll, muss der Schlüssel dem BeagleBone bekannt sein. Dieser sollte jedoch nicht im Klartext hinterlegt werden. Daher Verschlüsseln wird den Schlüssel. MY_ESSID stellt im folgenden den Namen des Wlans und MY_WPA_KEY den WPA-Schlüssel dar.

Schlüssel erzeugen:

Den psk Eintrag (aebd5…) nun merken, abschreiben oder kopieren und die Datei “interfaces” öffnen:

Die Datei dann wie folgt modifizieren:

Den Editor mit [CTRL]+[x]“ schließen und das speichern mit [y] bestätigen. Die Datei sollte, trotz Verschlüsselung, nur von root lesbar sein:

Den Wlan adapter stoppen:

Und erneut starten, dass die getroffenen Einstellungen übernommen werden:

Die Konsolen Ausgabe sollte es in etwa wie oben beschrieben aussehen. Der BeagleBone stellt nun nach jedem Systemstart  automatisch eine Verbindung mit dem Wireless Netzwerk her.

Grafischer Desktop installieren

Anders als unter Angstrom, gibt es bei Debian kein Gnome Minimal. Eine gute Alternative ist Lxde, der einfach über den folgenden Befehl installiert werden kann:

Für die grafische Desktop Umgebung werden natürlich sehr viele Pakete benötigt und sollte auch nur installiert werden wenn unbedingt notwendig. Nach dem Anschluss der Installation ist auch zu empfehlen, die geladenen Installationspaket zu entfernen:

Möchte man remote auf den BeagleBone zugreifen muss zusätzlich noch das Paket „xrdp“ installiert werden:

Danach kann mit der Remote Desktop Verbindung auf den BeagleBone zugegriffen werden.

Verfügt der BeagleBone über ein Touch Screen und soll eine automatische Anmeldung erfolgen, kann das wie folgt realisiert werden. Zunächst muss die Lxdm Konfigurationsdatei geöffnet werden:

Im Abschnitt „[SeatDefaults]“ den Benutzernamen des Benutzers eintragen, der automatisch angemeldet werden soll, und die Raute vor den beiden Schlüsseln entfernen:

Zusätzlich muss noch die Gruppe „autologin“ erzeugt werden:

Und der Benutzer muss zu dieser Gruppe hinzugefügt werden:

 

Abschluss der Installation

Der BeagleBone ist nun soweit konfiguriert, dass man damit Arbeiten kann. Natürlich könnte man nun noch weitere Pakete, wie ein grafischen Desktop, Netzwerk Dateizugriff etc. installieren. Allerdings wollte ich hier nur die Installation des Grundsystems erläutern. In den noch folgenden Tutorials werde ich dann auf die Speziellen Paket, je nach Anwendungszweck für den BeagleBone, eingehen.

 

 

 

 

Comments

  • Hallo

     

    Super Anleitung!

    Doch wie lange muss man beim BBB warten, bis die Daten von der SD Karte auf den eMMC kopiert wurden?

    Ich habe die Karte eingelegt, den Boot Butten gedrückt gehalten und Spannung anagelegt.

    Als die 4 User LED´s angingen, habe ich den Boot Button los gelassen.

     

    Aber wann kann man abstecken und von dem eMMC booten?

     

     

    Hannes27. September 2013
  • Das habe ich auch noch nicht herausgefunden.
    Aber wenn du ein „poweroff“ eingibst schaltet er sich erst aus, wenn alle Daten kopiert wurden.

    Gruß

    Knut27. September 2013
  • Tolle Anleitung !!

    Irgendwo hatte ich gelesen, dass alle USER LEDs konstant leuchten müssen wenn der Kopiervorgang beendet ist. Hat bei mir so funktioniert.

     

    Paul29. September 2013
  • Gute Anleitung mit einem kleinen Fehler beim Beaglebone Black:

    me@arm-ct:~/Bone$ tar -xJf BBB-eMMC-flasher-debian-7.0.0-2013-06-14.img.xz

    Da es sich hier um ein gepacktes Image handelt (kein Tarball) funktioniert diese Zeile so nicht.

    Statt „tar -xJf“ hier einfach „xz –decompress“ verwenden

    Florian Floimair13. November 2013
  • Hallo!

    Ich kann nur 3 Usb Geräte anschliessen.

    Nach dem 4 Gerät geht die Bone in aus.

    Stimmt es dass die nur 3 unterstützt?

     

    Gruss

    Jozef16. November 2013
  • Hi,
    bricht die Spannung zusammen oder wie äußert sich das Problem?
    Verwendest du einen aktiven USB-Hub?

    Gruß

    Knut23. November 2013
  • Hallo!

    Die Bone hängt sich auf,geht gar nichts.

    Die Geräte sind an aktivem Hub angeschlossen.

    Wie kann ich es anstellen das ich was an USB mini anschliessen kann?

    Gruss

    Jozef24. November 2013
  • Hi,
    ich hatte auf dem BBB gallium (Ubuntu 13.04)installiert und nach sudo apt-get update
    tat sich Einiges nicht mehr. Nach ..Fehler locales..  klappte es wieder.
    Den HUB für die Tastatur ,Maus, USB_wifi kann ich erst einstecken, wenn der Prompt auf dem Monitor erscheint.
    Danke

    Guenther6. Dezember 2013
  • Hallo Knut,

    sehr gute Anleitung, vielen Dank.

    Leider funktioniert die WLan Verbindung nicht richtig. Ich verwende den WLan Adapter wie in der Anleitung beschrieben. Ich habe den Adapter in ../interfaces mit fester IP und verschlüsselter Passphrase eingetragen. Mit ifconfig wird auch alles richtig angezeigt und der WLan Adapter leuchtet auch wie erwartet.

    Leider kann ich trotzdem keine Verbindung über diese Schnittstelle aufbauen. Wenn ich aber das LAN Kabel einstecke, funktioniert plötzlich auch die WLan Verbindung. Im Netz habe ich bislang auch nur Berichte über das Problem gefunden, jedoch keine Lösung. Vielleicht hast du ja eine Idee?

    Vielen Dank im Voraus.

    Viele Grüße
    André

    Andre12. Dezember 2014
  • Ich hätte eine kurze Frage. Wenn ich den internen Speicher mit der 2 GB Variante bzw. der 4 GB Variante von Debian flashe und beispielsweise Anwendungen in den Hauptverzeichnissen von Debian installieren möchte, der Flash-Speicher aber bereits voll ist, wie stelle ich es an, dass ich per Shell Tools oder Programme herunterlade bzw. installiere, diese jedoch auf der SD-Karte geepsichert werden? Also im Endeffekt möchte ich den internen Speicher um den Speicher der SD-Karte erweitern,

    Mike14. April 2016

Schreibe einen Kommentar

captcha Gib den CAPTCHA Code ein!