feat(system): System von der SD-Karte auf die eMMC umgezogen
Alles lag auf der SD (System, DB, Aufnahmen, Modelle), die verloetete eMMC lag ungenutzt daneben. SD-Karten sterben im Dauerbetrieb meist ohne Vorwarnung, und Aime schreibt bei jeder Aufnahme WAV + MP3 plus DB und Suchindex. Die eMMC meldet ihren Verschleiss: life_time 0x01, pre_eol 0x01 = unter 10 % verbraucht. Vorher vollstaendige Sicherung der SD gezogen und verifiziert (94.501 Eintraege = find / -xdev, SHA-256-Stichprobe). Drei Erkenntnisse: 1. mkfs.ext4 (e2fsprogs 1.47) setzt orphan_file, was das Incompat-Merkmal orphan_present mitbringt -- U-Boots ext4-Leser verweigert dann das Lesen. Vor dem ersten Start entfernt: tune2fs -O ^orphan_file,^metadata_csum_seed. 2. U-Boot liest boot.scr und armbianEnv.txt von der SD, solange sie steckt -- nachgewiesen, indem die SD-Konfiguration testweise wieder auf die SD-Root zeigte und das Board prompt das alte System hochfuhr. 3. Daher aime-bootsync.service: spiegelt /boot beim Start und beim Herunterfahren auf die SD. Sonst liefe ein Kernel-Update auseinander (neue Module auf der eMMC, alter Kernel von der SD). Faellt die SD aus, greift die vollstaendige eMMC-Bootkette. Ergebnis: / = mmcblk0p1 (aime-emmc), keine fehlgeschlagene Unit, dieselben fuenf Dienste aktiv wie vorher, HTTP 200, NPU v0.9.8, Suchindex 1799/1799. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
aa0098ae01
commit
0aa6a37325
@@ -3,6 +3,42 @@
|
||||
Chronik der Entwicklungsschritte. **Regel: jede zukünftige Änderung bekommt hier einen Eintrag** (Datum,
|
||||
Was, Warum, betroffene Dateien/Backups).
|
||||
|
||||
## 2026-08-03 — System von der SD-Karte auf die eMMC umgezogen
|
||||
|
||||
**Warum:** alles lag auf der SD-Karte (System, Datenbank, Aufnahmen, Modelle), die verlötete eMMC lag
|
||||
ungenutzt daneben. SD-Karten sind der übliche Ausfallpunkt im Dauerbetrieb und sterben meist ohne
|
||||
Vorwarnung; Aime schreibt bei jeder Aufnahme WAV + MP3 plus Datenbank und Suchindex. Die eMMC meldet
|
||||
ihren Verschleiß sogar: `life_time 0x01`, `pre_eol_info 0x01` — unter 10 % verbraucht.
|
||||
|
||||
**Vorher gesichert:** vollständige Sicherung der SD (22,4 GB tar + Bootbereich + SQL-Dump), verifiziert
|
||||
über Eintragszahl (94.501 = `find / -xdev`) und SHA-256-Stichprobe.
|
||||
|
||||
**Ablauf:** eMMC formatiert (die alte Armbian-Karteileiche dort mit einer veralteten `callrec`-Version
|
||||
ist damit weg), `rsync -aHAX --one-file-system` in zwei Runden — erste im laufenden Betrieb (28,5 GB in
|
||||
7:25 min, 61 MB/s), zweite mit gestoppten Diensten als Delta (4 s). Danach `fstab` und `armbianEnv.txt`
|
||||
auf die neue UUID, `e2fsck`, Stichproben, Dateilistenvergleich (Differenz: exakt die zwei Dateien, die
|
||||
ich selbst nach dem Sync angelegt hatte).
|
||||
|
||||
Drei Dinge, die dabei zu lernen waren:
|
||||
|
||||
1. **`orphan_file` blockiert U-Boot.** `mkfs.ext4` (e2fsprogs 1.47) setzt `orphan_file` und
|
||||
`metadata_csum_seed`; ersteres bringt das Incompat-Merkmal `orphan_present` mit, und ein Treiber,
|
||||
der es nicht kennt, *muss* das Lesen verweigern. Die funktionierende SD-Partition hatte beides
|
||||
nicht. Vor dem ersten Start entfernt: `tune2fs -O ^orphan_file,^metadata_csum_seed`.
|
||||
2. **U-Boot liest die Bootdateien von der SD-Karte**, solange sie steckt — nachgewiesen, indem die
|
||||
SD-`armbianEnv.txt` testweise wieder auf die SD-Root zeigte: das Board fuhr prompt das alte System
|
||||
hoch. Kernel kommt also von der SD, Root von der eMMC.
|
||||
3. Deshalb **`aime-bootsync.service`** (neu): spiegelt `/boot` beim Start und beim Herunterfahren auf
|
||||
die SD. Ohne das würde ein Kernel-Update auseinanderlaufen — neue Module auf der eMMC, alter Kernel
|
||||
von der SD. Fällt die SD aus, findet U-Boot dort nichts und nimmt die vollständige eMMC-Bootkette.
|
||||
|
||||
**Ergebnis:** `/` = `mmcblk0p1` (`aime-emmc`), 28 GB von 58 GB belegt. Die SD ist im Betrieb nicht
|
||||
eingehängt. Keine fehlgeschlagene Unit, dieselben fünf Dienste aktiv wie vor dem Umzug, Aime antwortet
|
||||
mit HTTP 200, NPU-Treiber v0.9.8, Suchindex 1799/1799 Passagen, 50,8 °C.
|
||||
|
||||
Dateien: `app/aime-bootsync.sh` (neu), `system/aime-bootsync.service` (neu), Kapitel
|
||||
[01 – Hardware](01-hardware.md) und [07 – Betrieb](07-betrieb.md).
|
||||
|
||||
## 2026-08-02 (spät) — Knöpfe rutschten aus der Zeile, 242 MB Dateileichen geräumt
|
||||
|
||||
**1. Zeilenumbruch in der Aufnahmenliste.** Bei schmaler Liste schob ein langer Titel die Knöpfe aus der
|
||||
|
||||
Reference in New Issue
Block a user