Jak debugować jądro Linuksa za pomocą GDB i QEMU?

Jestem nowym użytkownikiem rozwoju jądra i chciałbym wiedzieć, jak uruchamiać / debugować jądro Linuksa przy użyciu QEMU i gdb. Właściwie to czytam książkę Roberta Love, ale niestety nie pomaga ona czytelnikowi w zainstalowaniu odpowiednich narzędzi do uruchamiania lub debugowania jądra ... Więc to, co zrobiłem, było następujące:http://opensourceforu.efytimes.com/2011/02/kernel-development-debugging-using-eclipse/. Używam eclipse jako IDE do rozwijania na jądrze, ale najpierw chciałem, aby działało ono pod QEMU / gdb. Tak więc do tej pory zrobiłem:

1) Aby skompilować jądro za pomocą:

make defconfig (then setting the CONFIG_DEBUG_INFO=y in the .config)
make -j4

2) Po zakończeniu kompilacji uruchamiam Qemu, używając:

qemu-system-x86_64 -s -S /dev/zero -kernel /arch/x86/boot/bzImage

które uruchamiają jądro w stanie „zatrzymanym”

3) Dlatego muszę używać gdb, próbuję następującej komendy:

gdb ./vmlinux

które działają poprawnie, ale ... Teraz nie wiem co robić ... Wiem, że muszę użyć zdalnego debugowania na porcie 1234 (domyślny port używany przez Qemu), używając vmlinux jako pliku tabeli symboli dla debugowanie.

Więc moje pytanie brzmi: Co powinienem zrobić, aby uruchomić jądro w Qemu, dołączyć do niego mój debugger, a tym samym zmusić ich do współpracy, aby ułatwić mi życie dzięki rozwojowi jądra.

questionAnswers(5)

yourAnswerToTheQuestion