This commit is contained in:
40
README.md
40
README.md
@@ -7,7 +7,7 @@ auch ohne Netzwerk lokal.
|
||||
|
||||
## Ablauf in der Werkstatt
|
||||
|
||||
1. `csr-intake-x86_64.run` auf dem zu prüfenden Linux-Rechner starten.
|
||||
1. `csr-intake-x86_64` auf dem zu prüfenden Linux-Rechner starten.
|
||||
2. Beim ersten Einsatz unter **Einstellungen** das Werkstatt-WLAN verbinden und
|
||||
**WLAN speichern** aktiviert lassen.
|
||||
3. Das Gerät wird über DMI-UUID oder Hersteller und Seriennummer erkannt.
|
||||
@@ -39,27 +39,32 @@ Reparaturen, Berichte und die Synchronisationswarteschlange sind über das Menü
|
||||
|
||||
## Anwendung starten
|
||||
|
||||
Die Release-Datei enthält Oberfläche und Hardware-Scanner. Sie entpackt geprüfte
|
||||
Programmdateien in den Benutzer-Cache und speichert Einstellungen, Berichte und die
|
||||
Offline-Warteschlange standardmäßig unter `~/.local/share/csr-intake`.
|
||||
Die Release-Datei ist ein statisch gelinktes Linux-ELF. Sie enthält Oberfläche,
|
||||
Hardware-Scanner, Python-Laufzeit, TLS, SQLite und alle unmittelbar benötigten
|
||||
Laufzeitbibliotheken. Sie benötigt weder eine installierte Python-Version noch
|
||||
Shell-, Archiv- oder glibc-Werkzeuge. Geprüfte Programmdateien werden in den
|
||||
Benutzer-Cache entpackt. Einstellungen, Berichte und die Offline-Warteschlange
|
||||
liegen standardmäßig unter `~/.local/share/csr-intake`.
|
||||
|
||||
```bash
|
||||
chmod +x csr-intake-x86_64.run
|
||||
./csr-intake-x86_64.run
|
||||
chmod +x csr-intake-x86_64
|
||||
./csr-intake-x86_64
|
||||
```
|
||||
|
||||
Ein anderer Datenordner kann mit `--data /pfad/zum/ordner` gewählt werden:
|
||||
|
||||
```bash
|
||||
./csr-intake-x86_64.run --data "$HOME/csr-intake-daten"
|
||||
./csr-intake-x86_64.run --version
|
||||
./csr-intake-x86_64.run --check-bundle
|
||||
./csr-intake-x86_64 --data "$HOME/csr-intake-daten"
|
||||
./csr-intake-x86_64 --version
|
||||
./csr-intake-x86_64 --check-bundle
|
||||
```
|
||||
|
||||
Die Anwendung ist für x86-64 Linux gebaut. Sie benötigt eine grafische Sitzung,
|
||||
Python 3, SQLite und NetworkManager. Einzelne Diagnosen verwenden Systemwerkzeuge
|
||||
wie `smartctl`, `stress-ng`, `ffmpeg`, `arecord`, `lsusb` und `xdg-open`. Fehlt ein
|
||||
Werkzeug, wird der Test als **nicht verfügbar** und nicht als Hardwarefehler bewertet.
|
||||
Die Anwendung ist für x86-64 Linux ab Kernel 4.4 gebaut. Clientprogramme für WLAN,
|
||||
HTTP, Audio, Video, SMART und USB werden in den Build übernommen, sofern sie auf dem
|
||||
Build-Rechner verfügbar sind. Benötigt werden nur eine grafische Linux-Sitzung, der
|
||||
Kernel und die Systemdienste für die tatsächlich verwendete Hardware, insbesondere
|
||||
der NetworkManager-Dienst für WLAN. Ein im Build nicht vorhandenes Diagnosewerkzeug
|
||||
macht nur den betreffenden Test **nicht verfügbar**.
|
||||
|
||||
## Konfiguration
|
||||
|
||||
@@ -85,13 +90,13 @@ aus und erzeugt anschließend genau ein verteilbares Artefakt:
|
||||
|
||||
```bash
|
||||
bash scripts/build-release.sh
|
||||
./dist/csr-intake-x86_64.run --check-bundle
|
||||
./dist/csr-intake-x86_64 --check-bundle
|
||||
```
|
||||
|
||||
Das Ergebnis liegt in `dist/csr-intake-x86_64.run`. `build/release.json` enthält
|
||||
Das Ergebnis liegt in `dist/csr-intake-x86_64`. `build/release.json` enthält
|
||||
Build-ID, Versionen und SHA-256-Prüfsummen der eingebetteten Programme. Die CI stellt
|
||||
bei jedem erfolgreichen Build eine neutrale `.run`-Datei ohne Zugangsdaten als
|
||||
Artefakt bereit.
|
||||
bei jedem erfolgreichen Build eine neutrale ELF-Datei ohne Zugangsdaten als Artefakt
|
||||
bereit.
|
||||
|
||||
Für eine werkstattgebundene Datei können `inventory-api-key` und
|
||||
`inventory-server.crt` vor dem Build in `.bundle-secrets/` abgelegt werden. Der Build
|
||||
@@ -106,6 +111,7 @@ einen lesbaren Zugangsschlüssel und darf nur wie ein Passwort weitergegeben wer
|
||||
| --- | --- |
|
||||
| `gui/` | Bedienoberfläche und geführte Tests |
|
||||
| `scanner/` | Hardwareerkennung und Messwerte |
|
||||
| `launcher/` | Statischer ELF-Starter und eingebettete Laufzeit |
|
||||
| `scripts/` | Build, Synchronisation und lokale Datenwerkzeuge |
|
||||
| `tests/` | Python- und Rauchtests |
|
||||
| `config.example/` | Beispiel für die Inventarverbindung |
|
||||
|
||||
Reference in New Issue
Block a user