Es scheint ein Problem mit dem Freedos Bootloader zu geben. (Es scheint, dass der Bootcode unter bestimmten Umständen den Kernel nicht finden kann.)Bootloader debuggen mit gdb in qemu
Also versuche ich den Bootloader in qemu mit gdb zu debuggen. Im Anschluss an den auf mehrere Wiki gefunden Anweisungen und frei verfügbaren Online-Kurs Materialien, ich laufe qemu wie diese
qemu-system-i386 -fda fdboot.img -boot a -s -S
Und dann gdb verbinden wie diese
$ gdb
(gdb) target remote localhost:1234
ich durch die ersten Schritt 10 kann - mit 12 Anweisungen si
was ich nehme ist das SeaBIOS.
Aber nachdem ich versucht habe, in den Bootloader-Code zu wechseln, wird die Ausführung ohne Unterbrechung fortgesetzt, bis zur FreeDos-Menüaufforderung. Dies überspringt den Bootloader-Code vollständig, den ich Schritt für Schritt untersuchen möchte, während er ausgeführt wird.
Was muss ich tun, damit ich den Bootloader durchstarten kann?
[Sie können die freedos Disketten-Images von der Projekt-Website herunterladen, wenn Sie sich selbst ausprobieren möchten.]
Alternativvorschlag: BOCHS verfügt über einen integrierten Debugger, mit dem Sie einen Bootsektor in einem Schritt ausführen können. –