wie debuggen Kernel laden und intrd laden in virtualbox

9

Ich habe den Linux-Kernel-Repo auf meinem Arch gehosteten Rechner geklont (Host ist Ubuntu 16.04). Vor zwei Wochen konnte ich in den neuen Kernel booten (damals war es 4.11.rc06), dann habe ich git pull gemacht und alles neu kompiliert und es bleibt einfach hängen, nachdem "initial ramdisk image ..." geladen wurde.

Also habe ich versucht, git clean -xfd then make localmoduleconfig auf die Standardwerte für alles zu antworten, dann make dann make modules_install dann mkinitcpio -p linux.4.11.custom und natürlich sudo cp -v arch/x86_64/boot/bzImage /boot/vmlinuz-linux.4.11.custom .

Nachdem ich festgestellt habe, dass es in der Tat hängt, habe ich versucht mehr git zieht, reinigt mehr, aber nichts hat sich geändert.

Das Ausführen des gleichen Kernels von der gleichen Quelle auf einem echten Rechner bootet. Ich konnte keinen aufgezeichneten Fehler in der Virtualbox finden oder ein Update für Ubuntu finden.

Als nächstes habe ich versucht, es selbst zu debuggen, indem ich dem Linux-Befehl des Grubs hinzugefügt habe: debug earlyprintk=vga,keep und sogar die initrd-Zeile entfernend, die noinitrd zum Kernel hinzufügt, aber ich bekomme keinen Fehler. Nur ein Bildschirm mit den "Echo" -Meldungen des Grubs, der für immer so bleibt.

  1. Wie kann ich es debuggen?
  2. Hat jemand eine Idee, was man tun kann?
codeScriber 12.05.2017, 21:23
quelle

1 Antwort

0

Um zu überprüfen, ob der Kernel überhaupt startet, würde ich KDB (Kernel-Debugger) verwenden und sehen, ob Sie beim Start eine Eingabeaufforderung erhalten.

Zum besseren Debugging würde ich versuchen, KGDB (GDB für Kernel) zum Laufen zu bringen.

Sie können beide aktivieren, um alle Optionen verfügbar zu haben. Siehe folgenden Link für weitere Informationen:

Ссылка

    
Mats 14.08.2017 16:48
quelle