31 lines
1012 B
Bash
Executable File
31 lines
1012 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# aubox im Container starten, mit USB-Passthrough so dass Re-Enumeration
|
|
# (Kirin DLOAD -> Huawei Fastboot-D) korrekt durchläuft.
|
|
#
|
|
# Wichtig: Wir mounten /dev/bus/usb komplett (nicht ein einzelnes Device),
|
|
# damit nach Re-Enumeration das neue Device sichtbar ist. Dazu ist die
|
|
# device-cgroup-rule für USB (Major 189) nötig.
|
|
#
|
|
# udev-Regeln müssen auf dem HOST liegen, nicht im Container. Falls noch
|
|
# nicht installiert, einmalig: sudo bash scripts/setup-linux.sh
|
|
|
|
set -euo pipefail
|
|
|
|
PROJECT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
IMAGE="${AUBOX_IMAGE:-aubox}"
|
|
|
|
# Image bauen, falls nicht vorhanden
|
|
if ! docker image inspect "$IMAGE" >/dev/null 2>&1; then
|
|
echo "Image $IMAGE nicht gefunden — baue..."
|
|
docker build -t "$IMAGE" "$PROJECT_DIR"
|
|
fi
|
|
|
|
# USB-Major-Nummer für cgroup-rule
|
|
USB_MAJOR=189
|
|
|
|
exec docker run --rm -it \
|
|
--device-cgroup-rule="c ${USB_MAJOR}:* rmw" \
|
|
-v /dev/bus/usb:/dev/bus/usb \
|
|
-v "${PROJECT_DIR}/loaders:/app/loaders:ro" \
|
|
"$IMAGE" "$@"
|