Wie kann ich die Kernel-Logs auf dem Pixel 6 Pro auslesen, um Fehler zu diagnostizieren?

Melden
  1. Vorwort: Voraussetzungen und Vorsicht
  2. Verbindung und Grundbefehle mit ADB
  3. Logs ohne Root: Einschränkungen und Alternativen
  4. Rooting oder temporäre Root-Sitzung
  5. Persistente Kernel-Panic-Logs (pstore) und Crash-Analyse
  6. Analyse der Logs: Was suchen und wie filtern
  7. Spezielle Hinweise für Pixel 6 Pro (Tensor) und Sicherheit
  8. Zusammenfassung und praktische Schritte

Vorwort: Voraussetzungen und Vorsicht

Um Kernel-Logs (Kernel-Messages, dmesg, oops, panic-Logs) auf einem Pixel 6 Pro auszulesen, benötigen Sie Zugriff auf das Gerät per ADB (Android Debug Bridge) und in vielen Fällen Root-Rechte oder ein entsperrtes Bootloader, je nachdem, welche Logs und welche Persistenz Sie benötigen. Achten Sie darauf, dass unsachgemäße Änderungen am Kernel oder Rooting die Garantie beeinflussen können und Datenverlust riskieren. Erstellen Sie vor Eingriffen ein Backup wichtiger Daten.

Verbindung und Grundbefehle mit ADB

Installieren Sie die Android SDK Platform Tools auf Ihrem Rechner und aktivieren Sie auf dem Pixel 6 Pro in den Entwickleroptionen „USB-Debugging“. Verbinden Sie das Gerät per USB und prüfen Sie die Verbindung mit dem Befehl adb devices. Um Kernel-Messages direkt vom laufenden System zu sehen, verwenden Sie adb shell dmesg. Dieser Befehl liefert die aktuelle Kernel-Ringpuffer-Ausgabe. Für kontinuierliche Ausgabe können Sie adb shell dmesg -w verwenden, sofern auf dem Gerät eine dmesg-Implementierung mit -w vorhanden ist.

Logs ohne Root: Einschränkungen und Alternativen

Auf ungerooteten Geräten ist der Zugriff auf vollständige Kernel-Logs oft eingeschränkt. adb logcat zeigt hauptsächlich Benutzerraum-Logs und Teile des Kernel-Outputs, die an den Android-Logging-Subsystem (printk -> logcat via kmsg) weitergereicht wurden. Verwenden Sie adb logcat -b kernel (oder adb logcat -b all) – auf manchen Geräten ist der Kernel-Log-Buffer jedoch nur für root sichtbar. Wenn adb shell su nicht möglich ist, bleibt die Ausgabe teilweise abgeschnitten.

Rooting oder temporäre Root-Sitzung

Mit Root-Rechten (per Magisk oder entsperrtem Bootloader und temporärem Root) können Sie vollständige Kernel-Informationen lesen und Dateien im /proc und /sys Baum inspizieren. Nach Root: adb shell; su; dmesg > /sdcard/dmesg.txt um die Ausgabe zu speichern. Zusätzlich können Sie /proc/kmsg oder /sys/fs/pstore prüfen, um vergangene Kernel-Panics zu finden: adb shell su -c "cat /sys/fs/pstore/*" oder adb shell su -c "ls -l /sys/fs/pstore".

Persistente Kernel-Panic-Logs (pstore) und Crash-Analyse

Moderne Android-Builds aktivieren oft pstore oder Android-weitige Crash-Mechanismen. Prüfen Sie /proc/last_kmsg (ältere Systeme) oder /sys/fs/pstore für frühere Kernel-Panics. Auch die Datei /sys/kernel/debug/tracing/trace kann bei aktiviertem Ftrace nützliche Informationen liefern. Manche Pixel-Builds speichern traces in speziellen Crash-Dumps, die über adb pull vom Gerät gezogen werden können (z. B. unter /data/misc/last_kmsg, /data/misc/fs/pstore oder /data/vendor/qcom_logs). Beachten Sie, dass auf ungerooteten Geräten viele dieser Pfade geschützt sind.

Analyse der Logs: Was suchen und wie filtern

Suchen Sie nach Schlüsselwörtern wie "panic", "oops", "BUG", "Call trace", "WARNING", "fatal", "segfault" oder Treibernamen, die im Stacktrace auftauchen. Verwenden Sie Filter lokal: adb shell dmesg | grep -i "panic|oops|BUG|Call trace" oder ziehen Sie die komplette Logdatei mit adb pull und nutzen Sie grep, less, oder spezialisierte Tools (addr2line, kernel-objdump) auf dem Host, um Adressen auf Quelltext oder Symboltabellen zu mappen, falls Sie Zugriff auf das passende Kernel-Image/Debug-Symbole haben.

Spezielle Hinweise für Pixel 6 Pro (Tensor) und Sicherheit

Der Pixel 6 Pro verwendet den Google Tensor SoC; viele Kernel-Komponenten sind herstellerspezifisch und Teile der Treiber können proprietär sein. Google liefert Kernel-Quellen und teilweise Build-Artefakte, die zum Entschlüsseln von Adressen (Address Symbolication) notwendig sind. Prüfen Sie die offiziellen Kernel-Source-Releases von Google für Ihr Gerät und die passende Kernel-Config. Seien Sie besonders vorsichtig bei Änderungen an Low-Level-Komponenten; testen Sie auf nicht-produktiven Geräten, wenn möglich.

Zusammenfassung und praktische Schritte

Aktivieren Sie USB-Debugging, verbinden Sie per adb, versuchen Sie zuerst adb shell dmesg und adb logcat -b kernel. Für vollständige Logs oder pstore-Einträge benötigen Sie häufig Root oder entsperrten Bootloader; dann nutzen Sie su und prüfen /sys/fs/pstore, /proc/kmsg und speichern dmesg-Ausgaben. Analysieren Sie Logs mit grep und vergleichen Sie Adressen mit Kernel-Symbolen aus den offiziellen Quellen von Google. Wenn Sie konkrete Log-Auszüge haben, können Sie diese hier posten (ohne sensible Daten), dann helfe ich bei der Interpretation.

0