Algo que es bonito es hacer debugging de un Kernel Linux dentro de una máquina virtual con Qemu. Para poder hacer esto es importante disponer de Qemu pero compilado con la opción Debug.
El proceso para compilarlo sería más o menos como este (no obstante quizás pueda fallar si no dispones de ninja y otras dependencias):
$ bash
$ git clone https://gitlab.com/qemu-project/qemu
$ cd qemu/
$ git checkout tags/v6.2.0-rc2
$ ./configure --target-list=x86_64-softmmu --enable-debug
$ make -j$(nproc)
# make install
$ /usr/local/bin/qemu-system-x86_64 --version
Una vez compilado vamos a probarlo :).
$ qemu-system-x86_64 -gdb tcp::1234
$ qemu-system-x86_64 -s
Esos 2 comandos con esas opciones son idénticos. -s es más corto mientras que -gdb permite indicar protocolo y puerto.
-S freeze CPU at startup (use ‘c’ to start execution)
-s shorthand for -gdb tcp::1234
En esta captura se puede ver como el puerto 1234 se queda a la escucha.
Y eso es todo en esta entrada. La finalidad de indicar solamente como compilar Qemu con opción debug es para luego no tener que explicarlo en otro post donde entraremos en materia (simplemente enlazarlo).
Un saludo cordial.