x86 Emulator auf dem Raspberry Pi – Teamspeak 3 Server installieren

Heute zeige ich euch wie Ihr für x86 erstellte Software, zum Beispiel den TeamSpeak 3 Server, auf eurem Raspberry Pi ausführen könnt obwohl kein Paket für die Raspberry Pi Plattform (ARM) Verfügbar ist.

In der Computer Welt gibt es verschiedene Prozessor-Familien, die verbreitetste ist die Familie der x86 Prozessoren die Ihr vermutlich von eurem Desktop Rechner kennt. Der Raspberry Pi verwendet allerdings eine ARM CPU und somit auch den ARM-Befehlssatz.

Da sich die Befehlssätze zwischen x86 und ARM unterscheiden kann nicht einfach ein für x86 erstelltes Programm auf einer CPU mit ARM Befehlssatz ausgeführt werden. Es ist immer eine passende „Übersetzung“ eines Programms für den jeweilige Befehlssatz notwendig. Viele Softwarehersteller sparen sich den Aufwand Ihre Programme für ARM bereitzustellen und zu pflegen, wenn der Programmcode nicht öffentlich verfügbar hat man bisher Pech gehabt.

Inhaltsverzeichnis

x86 Emulation mit Exagear Desktop

Mittlerweile gibt es aber eine Lösung x86 Programme auf der ARM CPU des Raspberry Pi auszuführen, die Firma Eltechs stellt einen passenden Emulator bereit um Software, welche nur für x86 verfügbar ist, auf eurem Raspberry Pi auszuführen.  In unserem speziellen Fall benutzen wir WINE (Emulator für Windows unter Linux) und eine beliebige Windows Software.

Bei der Emulation eines „fremden“ Befehlssatzes ist, wie es sich schon vermuten lässt, zusätzlicher Rechenaufwand notwendig daher laufen emulierte x86 Anwendungen auf dem Raspberry Pi nicht ganz so schnell wie auf einer CPU mit nativer x86 Unterstützung.

performance

Der Emulator kann leider keine Kernel-Module (Treiber für spezielle Geräte) oder Grafikanwendungen die auf die RasPi Grafikeinheit zurückgreifen nur schlecht Emulieren, für einfache 32Bit x86 Anwendungen ohne aufwändige Grafikausgabe ist Exagear Desktop aber bestens geeignet. Wie das genau funktioniert zeige ich euch jetzt.

Programme mit Exagear Desktop ausführen

Als Basis für meinen Server verwende ich das aktuelle Raspbian Image auf meinem Raspberry Pi mit folgendem Setup.

Nach der Grundeinrichtung des Raspberry Pi 3 aktualisiere ich als erstes das System.

Wer möchte kann nun seinen RasPi 3 übertakten um mehr Leistung zu erhalten.

Danach können wir direkt die Exagear Desktop Software installieren, hierzu laden wir uns diese runter.

Übertragt eure persönliche Lizenzdatei (xyz.key) mit WinSCP in euren Downloads Ordner (/home/Pi/Downloads/), sonst läuft die Installation nicht komplett durch und ihr erhaltet einen Fehler.

Entpacken die Software und installiert diese

Zur Installation von Exagear Desktop führen wir das passende Script aus

Nach der Installation wechseln wir in die Exagear x86 Emulations-Umgebung (ein simpler „arch“ Befehl verrät das wir uns in einer x86 Umgebung befinden). Innerhalb dieser Umgebung können nun x86 Anwendungen installiert und ausgeführt werden.

x86-raspberry-pi

Ein Update der Paket Liste ist notwendig da wir uns ja jetzt in einer x86 Umgebung befinden und andere Pakete benötigt werden

Wer möchte kann sich nun mit folgendem Befehl alle verfügbaren Pakete anzeigen lassen. Die Pakete kommen von Launchpad und Debian.

Teamspeak 3 Server auf dem Raspberry Pi installieren

Nachdem wir nun unsere Laufzeitumgebung fertig haben können wir uns der Installation von Teamspeak 3 in der Server Variante auf unserem Raspberry Pi widmen.

Wechselt wieder in die Exagear Umgebung. Wir erstellen uns einen neuen Benutzer „teamspeak“ unter welchem der Teamspeak Server später laufen soll, das ist aus Sicherheitsgründen wichtig. Vergebt ein sicheres Passwort!

Dann erstellen wir das Installationsverzeichnis für TS3 und geben dem erstellten Benutzer Rechte darauf (Change Owner)

Wir installieren uns noch bzip und den Editor Nano um den Server entpacken und konfigurieren  zu können

Nun melden wir uns mit dem Teamspeak Benutzer an und starten den Download / Installation des Servers. Prüft bitte vorab ob nicht eine neuere TS Version verfügbar ist und passt den wget / tar / rm Befehl entsprechend an.

Nun erstellen wir uns noch ein Start-Script für den Teamspeak Server, zum Glück kann Exagear eingerichtet Autostarts innerhalb der Umgebung erkennen und startet diese direkt beim Neustart des Pi mit ohne in die Exagear Umgebung wechseln zu müssen.

Wir wechseln wieder auf unseren Pi Benutzer, bleiben aber innerhalb der Exagear Umgebung

Dann erstellen wir eine Autostart Datei mit dem Editor Nano

Die Datei erhält folgenden Inhalt via Copy und Paste.

Speichert die Datei mit STRG+X, Y und Enter. Das Script müssen wir noch ausführbar machen und an Init.d übergeben

Jetzt könnt ihr ganz einfach starten / stoppen, neustarten und den Status abfragen. Wir starten nun den TS3 Server das erste mal.

WICHTIG! Beim ersten Start legt uns der Server zum glück direkt einen Server-Admin Account samt Security Token an. Kopiert euch diese Info!

ts3-server-start

Beendet den Dialog mit STRG+C, die Grundeinrichtung ist abgeschlossen, wir verlassen nun erst mal die Exagear Umgebung und rebooten unseren Pi.

Teamspeak 3 Server einrichten

Ladet euch den TeamSpeak Client auf euren Rechner. Klickt auf Verbindungen und gebt die IP-Adresse eures Pis als Server an und den Benutzer serveradmin mit dem eben notierten Passwort.

ts3-setup1

Teamspeak fordert euch auf den ebenfalls vorher kopierten Key einzutragen, klickt dann auf Okay.

ts3-setup2

Nun könnt ihr euren Server nach euren Wünschen konfigurieren, Passwörter setzen und Channels erstellen. Klickt hierzu auf den Server Rechts und wählt „virtuellen Server editieren“.

ts3-setup3

 

TeamSpeak Server über das Internet erreichbar machen

Was nützt euch ein TeamSpeak Server wenn dieser nicht über das Internet für Freunde erreichbar ist? Richtig, nichts! Um auf einen TeamSpeak Server via Internet verbinden zu können muss der Netzwerk-Port 9987 für das Protokoll UDP freigeschalten werden. Zusätzlich wird ein DynDNS benötigt sodass der Server via Internet immer über den selben Namen erreichbar ist, also zum Beispiel meints3.dyndns.de

Beliebte x86 Software auf dem Raspberry Pi

Eltechs bezeichnet die Software übrigens als „application-level virtual machine“, ich bevorzuge aber lieber den Begriff „Emulator“, da für mich eine virtuelle Maschine in der Lage sein muss alle Hardware  zu virtualisieren was im Falle von Exagear Desktop nicht gut funktioniert. Folgende Software wird gerne via Exagear auf dem Raspberry Pi ausgeführt:

  • Spotify Connect
  • Google Chrome
  • Dropbox
  • Teamviewer
  • Plex Media Server
  • WINE zum Ausführen von Windows Programmen (z.B. Skype)