Ich versuche, Kexec-/Kdump-Sachen zu verwenden, um Kernel-Abstürze zu debuggen. Ich kann den abgestürzten Kernel erfolgreich laden und den VMcore aus dem abgestürzten Kernel dumpen.
Prozess /proc/vmcore ... 0 -r-------- 1 root root 3,8 G 1. Januar 00:02 /proc/vmcore
Aber wenn ich versuche, mit vmcore-dmesg das Absturzprotokoll zu extrahieren, erhalte ich die folgende Fehlermeldung und die Absturzprotokolldatei ist 0 Byte groß.
Absturzprotokoll generieren: Kein Programmheader, der vaddr 0xffffff8008ba3560 abdeckt. Kexec-Fehler gefunden? -rw-r--r-- 1 root root 0 1. Januar 00:02 crash.log
Als ich dazu recherchierte, fand ich einen entsprechenden Patch (https://patchwork.kernel.org/patch/9273231/). Aber es hat nicht geholfen.
Die Versionen des Hauptkernels und des Absturzkernels sind unterschiedlich. Muss ich für beide Kernel dieselbe Version verwenden? Irgendeine Idee dazu?
Danke
Antwort1
Das Problem wurde behoben, nachdem für die Haupt-App und die abgestürzte App der gleiche Kernel verwendet wurde. Außerdem wurden die Kexec-Tools auf 2.0.19 aktualisiert.