![如何使用 Virtualbox 和 Kali Linux 在调试模式下运行内核并等待 KGDB?](https://linux22.com/image/109263/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20Virtualbox%20%E5%92%8C%20Kali%20Linux%20%E5%9C%A8%E8%B0%83%E8%AF%95%E6%A8%A1%E5%BC%8F%E4%B8%8B%E8%BF%90%E8%A1%8C%E5%86%85%E6%A0%B8%E5%B9%B6%E7%AD%89%E5%BE%85%20KGDB%EF%BC%9F.png)
我正在尝试使用 调试 Linux 内核Virtualbox
,但无法使其工作。
这是我所做的。
使用以下配置编译内核
CONFIG_HAVE_ARCH_KGDB=y CONFIG_KGDB=y CONFIG_KGDB_SERIAL_CONSOLE=y CONFIG_KGDB_TESTS=y CONFIG_KGDB_TESTS_ON_BOOT=y CONFIG_KGDB_TESTS_BOOT_STRING="V1F100" CONFIG_KGDB_LOW_LEVEL_TRAP=y CONFIG_KGDB_KDB=y CONFIG_KDB_DEFAULT_ENABLE=0x1 CONFIG_KDB_KEYBOARD=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
安装编译好的内核。
添加启动参数
kgdbwait kgdboc=ttyS1,115200
而且它不会等待KGDB
。但是,当我尝试仅使用串行端口来获取启动过程输出时,console=tty0 console=ttyS0,115200
它就可以工作了。
内核是Linux/x86 4.9.16 Kernel
(Kali linux)。