android-unlock-and-more-box/scripts/setup-linux.sh

41 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Setup für Debian/Ubuntu/Mint (inkl. Raspberry Pi OS). Muss als root laufen.
set -euo pipefail
if [[ $EUID -ne 0 ]]; then
echo "Bitte mit sudo aufrufen." >&2
exit 1
fi
apt-get update
apt-get install -y \
android-tools-adb \
android-tools-fastboot \
libusb-1.0-0 \
libusb-1.0-0-dev \
python3 \
python3-pip \
python3-venv \
usbutils
# udev-Regel installieren, damit der normale User ohne sudo auf die
# Hersteller-spezifischen USB-Modi zugreifen kann (Kirin DLOAD, fastboot etc.)
install -m 0644 udev/51-android-unlock.rules /etc/udev/rules.d/
udevadm control --reload-rules
udevadm trigger
# Den aufrufenden User in die plugdev-Gruppe stecken
TARGET_USER="${SUDO_USER:-$USER}"
if [[ -n "$TARGET_USER" && "$TARGET_USER" != "root" ]]; then
usermod -aG plugdev "$TARGET_USER"
fi
# Python-Deps in eine venv im Projektverzeichnis
PROJECT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
sudo -u "$TARGET_USER" python3 -m venv "$PROJECT_DIR/.venv"
sudo -u "$TARGET_USER" "$PROJECT_DIR/.venv/bin/pip" install -r "$PROJECT_DIR/requirements.txt"
echo
echo "Setup fertig. Einmal ab- und neu anmelden, damit plugdev greift."
echo "Dann: source .venv/bin/activate && python -m aubox detect"