|
@@ -75,7 +75,194 @@ WantedBy=multi-user.target
|
|
|
|
|
|
### install.sh
|
|
|
|
|
|
+```bash
|
|
|
+ #!/bin/bash
|
|
|
+ #
|
|
|
+ # Autor: Tobias Müller
|
|
|
+ # Beschreibung: Dieses Skript installiert den "Internet_over_USB" Service.
|
|
|
+ # Der Service wird automatisch bei jedem Neustart des
|
|
|
+ # BeagleBone Black ausgeführt und ermöglicht den Aufbau einer
|
|
|
+ # Internetverbindung über den USB-Host-Anschluss des BeagleBone
|
|
|
+ # Black. Das Install-Sktipt muss mit Root-Rechten gestartet
|
|
|
+ # werden.
|
|
|
+ #
|
|
|
+ # Sollte sich der Speicherort der "Internet_over_USB.service"
|
|
|
+ # Datei ändern, muss dieses Skript erneut gestartet werden.
|
|
|
+ # Dabei muss sich das "install.sh" Skript im selben Ordner
|
|
|
+ # befinden, wie die "Internet_over_USB.service" Datei.
|
|
|
+
|
|
|
+ # Bash-Fenster leeren
|
|
|
+ clear
|
|
|
+
|
|
|
+ # Kontrolle ob Skript mit Root-Rechten gestartet wurde, ansonsten wird
|
|
|
+ # das Skript mit einem Hinweis beendet
|
|
|
+ if [ $(id -u) != 0 ]; then
|
|
|
+ echo ""
|
|
|
+ echo "Das Skript muss mit Root-Rechten gestartet werden!"
|
|
|
+ echo ""
|
|
|
+ exit -1
|
|
|
+
|
|
|
+ fi
|
|
|
+
|
|
|
+ # Willkommenstext mit Abfrage, ob die Installation gestartet werden soll
|
|
|
+ echo ""
|
|
|
+ echo "Willkommen zur Installation des \"Internet_over_USB\"-Services."
|
|
|
+ echo "Möchten Sie die Installation starten (ja/nein)?"
|
|
|
+ read answer
|
|
|
+
|
|
|
+ while [ "$answer" != "ja" ]; do
|
|
|
+
|
|
|
+ if [ "$answer" == "nein" ]; then
|
|
|
+ echo ""
|
|
|
+ echo "Beende das Installations-Skript."
|
|
|
+ echo ""
|
|
|
+ unset answer
|
|
|
+ exit 0
|
|
|
+
|
|
|
+ else
|
|
|
+ echo ""
|
|
|
+ echo "Ich habe Sie nicht verstanden."
|
|
|
+ echo "Möchten Sie die Installation starten (ja/nein)?"
|
|
|
+ read answer
|
|
|
+
|
|
|
+ fi
|
|
|
+
|
|
|
+ done
|
|
|
+
|
|
|
+ # Servicename
|
|
|
+ service_name="Internet_over_USB.service"
|
|
|
+
|
|
|
+ # Aktueller Pfad
|
|
|
+ service_path="`pwd`"
|
|
|
+
|
|
|
+ # Kontrolle, ob Service-Datei im selben Verzeichnis wie "install.sh"-Skript
|
|
|
+ if [ -e "$service_path/$service_name" ]; then
|
|
|
+ echo ""
|
|
|
+ echo "Die \"Internet_over_USB.service\"-Datei wurde gefunden."
|
|
|
+
|
|
|
+ else
|
|
|
+ echo ""
|
|
|
+ echo "Die \"Internet_over_USB.service\"-Datei wurde nicht gefunden."
|
|
|
+ echo "Beende das Installations-Skript."
|
|
|
+ echo ""
|
|
|
+ unset answer
|
|
|
+ unset service_path
|
|
|
+ unset service_name
|
|
|
+ exit -1
|
|
|
+
|
|
|
+ fi
|
|
|
+
|
|
|
+ # systemd Speicherort für Bibliotheken
|
|
|
+ systemd_lib="/lib/systemd/system"
|
|
|
+
|
|
|
+ # systemd Speicherort Ausführdateien
|
|
|
+ systemd_run="/etc/systemd/system/multi-user.target.wants"
|
|
|
+
|
|
|
+ # Erstelle/Update symbolischen Link von der Systemd-Bibliothek zur Service-Datei
|
|
|
+ if [ -e "$systemd_lib/$servie_name" ]; then
|
|
|
+ echo ""
|
|
|
+ echo "Update der symbolischen Verknüpfung von der Service-Datei:"
|
|
|
+ echo "\"$service_path/$service_name\","
|
|
|
+ echo "zur Systemd-Bibliothek:"
|
|
|
+ echo "\"$systemd_lib/$service_name\"."
|
|
|
+ ln -sfn "$service_path/$service_name" "$systemd_lib/$service_name"
|
|
|
+
|
|
|
+ else
|
|
|
+ echo ""
|
|
|
+ echo "Erstelle eine symbolische Verknüpfung von der Service-Datei:"
|
|
|
+ echo "\"$service_path/$service_name\","
|
|
|
+ echo "zur Systemd-Bibliothek:"
|
|
|
+ echo "\"$systemd_lib/$service_name\"."
|
|
|
+ ln -s "$service_path/$service_name" "$systemd_lib/$service_name"
|
|
|
+
|
|
|
+ fi
|
|
|
+
|
|
|
+ # Erstelle/Update symbolischen Link vom Systemd-Speicherort für Konfigurations- und
|
|
|
+ # Informationsdateien zur Service-Datei
|
|
|
+ if [ -e "$systemd_lib/$servie_name" ]; then
|
|
|
+ echo ""
|
|
|
+ echo "Update der symbolischen Verknüpfung von der Service-Datei:"
|
|
|
+ echo "\"$service_path/$service_name\","
|
|
|
+ echo "zum Systemd-Speicherort für Konfigurations- und Informationsdateien:"
|
|
|
+ echo "\"$systemd_run/$service_name\"."
|
|
|
+ ln -sfn "$service_path/$service_name" "$systemd_run/$service_name"
|
|
|
+
|
|
|
+ else
|
|
|
+ echo ""
|
|
|
+ echo "Erstelle eine symbolische Verknüpfung von der Service-Datei:"
|
|
|
+ echo "\"$service_path/$service_name\","
|
|
|
+ echo "zum Systemd-Speicherort für Konfigurations- und Informationsdateien:"
|
|
|
+ echo "\"$systemd_run/$service_name\"."
|
|
|
+ ln -s "$service_path/$service_name" "$systemd_run/$service_name"
|
|
|
+
|
|
|
+ fi
|
|
|
+
|
|
|
+ # Systemd-Daemon-Prozess neustarten
|
|
|
+ echo ""
|
|
|
+ echo "Starte den Systemd-Deamon-Prozess neu."
|
|
|
+ systemctl daemon-reload
|
|
|
+
|
|
|
+ # Aktiviere den Autostart für den "Internet_over_USB"-Service
|
|
|
+ echo "Aktiviere den Autostart für den \"Internet_over_USB\"-Service."
|
|
|
+ systemctl enable Internet_over_USB
|
|
|
+
|
|
|
+ # Starte den "Internet_over_USB"-Service
|
|
|
+ echo ""
|
|
|
+ echo "Möchten Sie den BeagleBone Black neustarten, um den Service:"
|
|
|
+ echo "\"Internet_over_USB\", zu aktivieren (ja/nein)?"
|
|
|
+ read answer
|
|
|
+
|
|
|
+ while [ "$answer" != "nein" ]; do
|
|
|
+
|
|
|
+ if [ "$answer" == "ja" ]; then
|
|
|
+ # Installationsabschluss
|
|
|
+ echo ""
|
|
|
+ echo "Die Serviceinstallation ist abgeschlossen."
|
|
|
+ echo "Beende das Installations-Skript."
|
|
|
+ echo ""
|
|
|
+ echo "Starte den BeagleBone Black neu."
|
|
|
+ echo ""
|
|
|
+
|
|
|
+ # Variablen löschen
|
|
|
+ unset systemd_lib
|
|
|
+ unset systemd_run
|
|
|
+ unset service_name
|
|
|
+ unset service_path
|
|
|
+ unset answer
|
|
|
+
|
|
|
+ # Warte 5s
|
|
|
+ sleep 5
|
|
|
+
|
|
|
+ # Starte BeagleBone neu
|
|
|
+ reboot
|
|
|
+
|
|
|
+ else
|
|
|
+ echo ""
|
|
|
+ echo "Ich habe Sie nicht verstanden."
|
|
|
+ echo "Möchten Sie die Installation starten (ja/nein)?"
|
|
|
+ read answer
|
|
|
+
|
|
|
+ fi
|
|
|
+
|
|
|
+ done
|
|
|
+
|
|
|
+ # Installationsabschluss
|
|
|
+ echo ""
|
|
|
+ echo "Die Serviceinstallation ist abgeschlossen."
|
|
|
+ echo "Beende das Installations-Skript."
|
|
|
+ echo ""
|
|
|
+
|
|
|
+ # Variablen löschen
|
|
|
+ unset systemd_lib
|
|
|
+ unset systemd_run
|
|
|
+ unset service_name
|
|
|
+ unset service_path
|
|
|
+ unset answer
|
|
|
+
|
|
|
+ # Beende Installer
|
|
|
+ exit 0
|
|
|
|
|
|
+```
|
|
|
|
|
|
<div id='Einstellungen'/>
|
|
|
|