Rootfs am Anmeldeversuch erkennen, nicht an Pfaden

Der zweite Bootstrap-Lauf brach ab, obwohl beim ersten alles stand: proot-distro
hat sein Ablageformat gewechselt — sichtbar an 'Migrating legacy container' —
und danach lag das Rootfs nicht mehr dort, wo meine Prüfung nachsah. Sie meldete
'nicht installiert', die folgende Installation scheiterte an 'already installed',
und der Lauf brach ab. Ein Fehler in der Erkennung, nicht auf dem Gerät.

Geprüft wird jetzt mit 'proot-distro login <distro> -- true'. Das fragt nicht, wo
etwas liegt oder wie eine Ausgabe formatiert ist, sondern ob es funktioniert —
und überlebt damit auch den nächsten Formatwechsel.

Zusätzlich gilt 'already installed' nicht mehr als Fehler: entscheidend ist
allein, ob die Anmeldung danach klappt. Tut sie es nicht, nennt das Skript die
Handgriffe zum Neuaufsetzen, statt nur abzubrechen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Stefan
2026-08-10 22:03:26 +02:00
co-authored by Claude Opus 5
parent 10851df46a
commit f20ad44e25
2 changed files with 38 additions and 9 deletions
+6 -4
View File
@@ -100,11 +100,13 @@ voraussetzungen_pruefen() {
fi
ok "proot-distro ausführbar"
if proot-distro list --installed 2>/dev/null | grep -q "^$distro\b" \
|| [ -d "$PREFIX/var/lib/proot-distro/installed-rootfs/$distro" ]; then
ok "$distro-Rootfs vorhanden"
# Anmeldeversuch statt Pfad- oder Ausgabeprüfung: proot-distro hat sein
# Ablageformat gewechselt, und danach lag das Rootfs woanders als erwartet.
# Diese Prüfung fragt nicht, wo etwas liegt, sondern ob es funktioniert.
if proot-distro login "$distro" -- true >/dev/null 2>&1; then
ok "$distro-Rootfs lauffähig"
else
fail "$distro-Rootfs fehlt"
fail "$distro-Rootfs fehlt oder startet nicht"
hint "Nachholen mit: bash spike/00-bootstrap-termux.sh"
fehlt=1
fi