¿Cómo depurar el kernel de Linux con GDB y QEMU?

Soy nuevo en el desarrollo del kernel y me gustaría saber cómo ejecutar / depurar el kernel de Linux utilizando QEMU y gdb. De hecho, estoy leyendo el libro de Robert Love, pero desafortunadamente no ayuda al lector a instalar herramientas adecuadas para ejecutar o depurar el kernel ... Entonces, lo que hice fue seguir este tutorial.http://opensourceforu.efytimes.com/2011/02/kernel-development-debugging-using-eclipse/. Estoy usando eclipse como un IDE para desarrollar en el kernel, pero primero quería que funcionara bajo QEMU / gdb. Así que lo que hice hasta ahora fue:

1) Para compilar el kernel con:

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

2) Una vez que finaliza la compilación, ejecuto Qemu usando:

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

que lanzan el kernel en estado "detenido"

3) Por lo tanto, tengo que usar gdb, intento el siguiente comando:

gdb ./vmlinux

que se ejecuta correctamente pero ... Ahora no sé qué hacer ... Sé que tengo que usar la depuración remota en el puerto 1234 (puerto predeterminado usado por Qemu), usando vmlinux como el archivo de la tabla de símbolos para depuración

Entonces, mi pregunta es: ¿Qué debo hacer para ejecutar el kernel en Qemu, adjuntar mi depurador y así, trabajar juntos para facilitar mi vida con el desarrollo del kernel?

Respuestas a la pregunta(5)

Su respuesta a la pregunta