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>
13 lines
279 B
Desktop File
13 lines
279 B
Desktop File
[Unit]
|
|
Description=Aime: /boot der eMMC auf die SD-Karte spiegeln (Bootkette konsistent halten)
|
|
After=local-fs.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
RemainAfterExit=yes
|
|
ExecStart=/opt/callrec/aime-bootsync.sh
|
|
ExecStop=/opt/callrec/aime-bootsync.sh
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|