Wygląda na to, że wystąpił problem z programem ładującym Freedos. (Wygląda na to, że kod bootcode nie może znaleźć jądra w pewnych okolicznościach.)Debugowanie bootloadera z gdb w qemu
Próbuję więc debugować bootloader w qemu z gdb. Postępując zgodnie z instrukcjami podanymi na kilku wiki i łatwo dostępnych materiałów, kurs online, biegnę qemu jak ten
qemu-system-i386 -fda fdboot.img -boot a -s -S
a następnie podłączyć gdb jak ten
$ gdb
(gdb) target remote localhost:1234
mogę przejść przez pierwsze 10 - 12 instrukcji z si
który zakładam jest SeaBIOS.
Ale po tym, kiedy próbuję wkroczyć do kodu bootloadera, kontynuuje on wykonywanie bez łamania, aż do polecenia menu FreeDos. To całkowicie pomija kod bootloadera, który chciałbym zbadać krok po kroku podczas jego wykonywania.
Co muszę zrobić, aby móc wykonać krok bootloadera?
[Można pobrać FreeDOS obrazów dyskietek ze strony internetowej projektu, jeśli chcesz spróbować samemu.]
Alternatywna sugestia: BOCHS ma wbudowany debugger, który pozwoli ci jednoetapowy sektor rozruchowy. –