似乎是与FreeDOS的引导程序的问题。 (看来,启动代码找不到在某些情况下的内核。)
所以我想用gdb调试bootloader的QEMU。 以下几个wiki和在线免费提供课程材料中的说明,我跑QEMU这样
qemu-system-i386 -fda fdboot.img -boot a -s -S
然后连接这样GDB
$ gdb
(gdb) target remote localhost:1234
我可以单步的前10 - 12指令si
我假设是SeaBIOS。
但过去,当我尝试步入Bootloader代码,它继续执行而不破,一路攀升到FreeDOS的菜单提示。 这完全跳过Bootloader代码,我想,因为它被执行以检查一步一步来。
我需要做什么做的,这样我可以一步虽然引导程序?
[您可以从项目的网站,如果你想尝试自己下载FreeDOS的软盘镜像。]