x86 Emulator auf dem Raspberry Pi – Teamspeak 3 Server installieren

raspberry.tips
raspberry.tips - Raspberry Pi Projekte und Tutorials

Heute zeige ich euch wie Ihr für x86 erstellte Windows Software, zum Beispiel Office, auf eurem Raspberry Pi ausführen könnt obwohl kein Paket für 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.

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.

sudo apt-get update & sudo apt-get -y upgrade
sudo rpi-update

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.

cd ~/Downloads/
wget http://downloads.eltechs.com/exagear-desktop-v-1-5/exagear-desktop-rpi3.tar.gz

Ü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

tar -xvzpf exagear-desktop-rpi3.tar.gz

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

sudo ./install-exagear.sh

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.

exagear

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

sudo apt-get update

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

sudo apt-cache search .

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!

sudo adduser teamspeak

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

sudo mkdir /usr/local/teamspeak
sudo chown teamspeak /usr/local/teamspeak

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

sudo apt-get install bzip2 nano

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.

su teamspeak
cd /usr/local/teamspeak

wget http://dl.4players.de/ts/releases/3.0.13.5/teamspeak3-server_linux_x86-3.0.13.5.tar.bz2
tar -xjvf teamspeak3-server_linux_x86-3.0.13.5.tar.bz2
rm teamspeak3-server_linux_x86-3.0.13.5.tar.bz2

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

exit

Dann erstellen wir eine Autostart Datei mit dem Editor Nano

sudo nano /etc/init.d/teamspeak

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

#!/bin/sh
### BEGIN INIT INFO
# Provides: 		teamspeak
# Required-Start: 	$local_fs $network
# Required-Stop:	$local_fs $network
# Default-Start: 	2 3 4 5
# Default-Stop: 	0 1 6
# Description: 		Teamspeak Server
### END INIT INFO
 
USER="teamspeak"
DIR="/usr/local/teamspeak/teamspeak3-server_linux_x86"
 
case "$1" in
start)
su $USER -c "${DIR}/ts3server_startscript.sh start"
;;
stop)
su $USER -c "${DIR}/ts3server_startscript.sh stop"
;;
restart)
su $USER -c "${DIR}/ts3server_startscript.sh restart"
;;
status)
su $USER -c "${DIR}/ts3server_startscript.sh status"
;;
*)
echo "Usage: {start|stop|restart|status}" >&2
exit 1
;;
esac
exit 0

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

sudo chmod 755 /etc/init.d/teamspeak
sudo update-rc.d teamspeak defaults

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

/etc/init.d/teamspeak start

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.

exit
sudo reboot

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

  • Falls ihr einen DS-Lite (IPv6) Anschluss besitzt findet ihr hier eine Anleitung zum Einrichten von DynDNS und Port Forwarding
  • Falls ihr noch einen normalen IPv4 Anschluss besitzt könnt ihr DynDNS wie beschrieben einrichten und nur eine Port Weiterleitung an eurem Router konfigurieren

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)

x86 Emulator auf dem Raspberry Pi – Teamspeak 3 Server installieren
raspberry.tips


wallpaper-1019588
[Comic] King in Black [3]
wallpaper-1019588
Schickes Design-Smartphone Gigaset GS5 erscheint im November
wallpaper-1019588
Jens Lossau & Jens Schumacher – Der Luzifer-Plan
wallpaper-1019588
Vietnam Streetfood: Meeresfrüchte, Muschel und mehr