android-unlock-and-more-box/firmware/README.md

50 lines
1.6 KiB
Markdown

# Firmware-Library
Hier liegen die Firmware-Dateien, die aubox indexiert. Im Container ist
das Verzeichnis als `/firmware` gemountet.
## Layout-Vorschlag
Ablage frei wählbar — die Library scannt rekursiv und identifiziert über
Magic-Bytes, nicht über Pfad. Trotzdem hilfreich:
```
firmware/
├── huawei/
│ ├── WAS-LX1/
│ │ ├── EMUI8_C432_8.0.0.367.app
│ │ └── EMUI8_C432_8.0.0.367.app.sha256
│ └── EML-L29/
├── samsung/
│ └── SM-G960F_xx.tar.md5
├── mediatek/
└── firmware.db # ← SQLite-Index, wird beim ersten Scan erzeugt
```
## Was wird erkannt
- **Huawei `update.app`**: Hardware-ID, Region, Section-Layout, BOOT/SYSTEM
vorhanden? — voll automatisch
- **MediaTek scatter**: aktuell nur Kandidaten-Erkennung über Filename
- **Samsung Odin (`*.tar.md5`)**: aktuell nur Kandidaten-Erkennung
Mehr Parser folgen, sobald der jeweilige Workflow gebraucht wird.
## Datenbank
Die SQLite-Datei (`firmware.db`) ist Teil der Library. Sie wandert mit
einem Backup oder Sync mit. Schema steht in `aubox/library/db.py`.
## Git und Größe
Standardmäßig sind die Binaries in `.gitignore` ausgenommen (typisch
2-8 GB pro update.app). Wenn du sie trotzdem ins Repo legen willst:
- **git-lfs** ist die einzig sinnvolle Option — `git lfs track "*.app"` etc.
- Direktes `git add` einer 4-GB-Datei macht den Repo-Pull für andere zur Hölle.
- Ein Backup-Repo extra für Firmware (LFS) ist sauberer als alles in einem.
Die `firmware.db` selbst ist klein (KB) und kann ohne LFS committet werden,
falls du das Inventory teilen willst — sie enthält nur Metadaten, nicht
die Binaries.