CS-R USB-AIO
Der USB-Stick unterstützt die Annahme und technische Prüfung gespendeter Computer. Er startet als eigenständiges Arch-Linux-Livesystem, erkennt das aktuelle Gerät über seine Hardware-ID und verbindet es mit der zentralen Inventarverwaltung.
Ablauf in der Werkstatt
- Vom USB-Stick starten.
- Beim ersten Einsatz unter Einstellungen das Werkstatt-WLAN verbinden und WLAN speichern aktiviert lassen.
- Das Gerät wird über DMI-UUID oder Hersteller und Seriennummer erkannt.
- Die Inventarverwaltung liefert die vorhandene Gerätenummer oder vergibt eine neue.
- Geräte im Status Eingang erhalten automatisch einen Kurzscan mit Modell, CPU, RAM und Datenträgern.
- Danach kann der Techniker das Gerät ausschalten oder die Inspektion starten.
- Prüfstände und Ergebnisse werden als Inspektion synchronisiert. Offline gespeicherte Ergebnisse bleiben in der Warteschlange und werden später erneut gesendet.
Die Oberfläche konzentriert sich auf Gerät, Inspektion und Einstellungen. Reparaturen, Berichte und die Synchronisationswarteschlange sind über das Menü erreichbar.
Funktionen
- automatische Hardware-ID und serverseitig vergebene Gerätenummer
- Schutz vor doppelten Datensätzen
- gespeichertes Werkstatt-WLAN mit geschütztem Passwort
- geräteabhängige Tests für Akku, Touchpad, Webcam und mehrere Laufwerke
- getrennte Ergebnisse für Hardwarefehler, nicht verfügbaren Test, Einrichtungsproblem, nicht geprüft und nicht vorhanden
- Wiederaufnahme nach Neustart oder Stromunterbrechung
- Reparaturnotizen und erneute Prüfung betroffener Komponenten
- druckbarer Abschlussbericht mit Messwerten und Freigabe
- dauerhafte Offline-Warteschlange mit sicheren Wiederholungen
- zentrale Sprache, Testdauer und Grenzwerte
- verifizierbarer Build mit Versions- und Prüfsummenmanifest
Projektaufbau
| Pfad | Inhalt |
|---|---|
gui/ |
Bedienoberfläche und geführte Tests |
scanner/ |
Hardwareerkennung und Messwerte |
controller/ |
Geräteklassifizierung und Auswertung |
scripts/ |
Build, Synchronisation und lokale Datenwerkzeuge |
live/ |
Start und Vorbereitung des Livesystems |
tests/ |
Python- und Rauchtests |
config.example/ |
Beispiel für die Inventarverbindung |
Der Inventory-Server wird in einem eigenen Repository gepflegt. Dieses Repository enthält ausschließlich den USB-Client.
Entwicklung und Prüfung
Voraussetzungen sind Rust, Cargo und Python 3. Auf Arch Linux werden für den ISO-Bau
zusätzlich archiso, GRUB, Dateisystemwerkzeuge und libarchive benötigt.
bash scripts/build-release.sh
Der Befehl führt die Rust-, Python- und Rauchtests aus, baut alle drei Programme im
Release-Modus und erzeugt build/release.json mit Build-ID und SHA-256-Prüfsummen.
ISO erstellen
Das Zielverzeichnis muss neu und leer sein:
bash scripts/build-iso.sh "$PWD/build/usb-aio-2.6.0"
Der Build prüft Profil, Binärdateien, Kernelpfade und die FAT32-Größengrenze. Ein erfolgreicher Softwaretest ersetzt keinen Starttest auf echter UEFI- und BIOS-Hardware.
USB-Stick installieren
Dieser Befehl löscht den ausgewählten Datenträger vollständig:
lsblk -o NAME,PATH,TYPE,SIZE,TRAN,MODEL,SERIAL,MOUNTPOINTS
sudo bash scripts/install-usb.sh /dev/sdX /absoluter/pfad/zur.iso
Das Installationsskript akzeptiert nur ein vollständiges USB-Blockgerät, lehnt den
Systemdatenträger ab und verlangt die exakte Bestätigung ERASE /dev/sdX.
Konfiguration auf INTAKE_DATA
Die dauerhaften Dateien liegen auf der Datenpartition des Sticks:
config/inventory.json
config/inventory-api-key
config/inventory-server.crt
config/workshop-wifi.json
config/workshop.json
API-Schlüssel und WLAN-Passwort gehören nie in Git. Ein privates CA-Zertifikat darf nur als öffentliches Zertifikat gespeichert werden. Die Datenpartition ist nicht verschlüsselt und muss wie ein Werkstatt-Zugang behandelt werden.
Weitere Einzelheiten stehen in WERKSTATT-ABLAUF.md.