Freedos 引导加载程序似乎有问题。(在某些情况下,引导代码似乎找不到内核。)
所以我正在尝试使用 gdb 调试 qemu 中的引导加载程序。按照在几个 wiki 上找到的说明和免费提供的在线课程资料,我像这样运行 qemu
qemu-system-i386 -fda fdboot.img -boot a -s -S
然后像这样连接gdb
$ gdb
(gdb) target remote localhost:1234
我可以逐步完成前 10 到 12 条指令si
,我认为这些指令是 SeaBIOS。
但除此之外,当我尝试进入引导加载程序代码时,它会继续执行而不会中断,一直到 FreeDos 菜单提示符。这完全跳过了我想在执行时逐步检查的引导加载程序代码。
我需要做什么才能逐步通过引导加载程序?
[如果您想亲自尝试,可以从项目网站下载 freedos 软盘图像。]