Bootloader from Udemys: "Developing a Multithreaded Kernel From Scratch!" course
- Install cross platform gcc with no dependencies on native libraries, visit this page for more info: https://wiki.osdev.org/GCC_Cross-Compiler
- sudo apt install nasm
- sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
make
qemu-system-x86_64 -hda ./bin/os.bin
or
./run.sh
Ctrl+a and then c to exit
Note : 16 bit code debugging didn't work for me, just 32-bit protected mode
Run gdb and then:
target remote | qemu-system-x86_64 -hda ./bin/os.bin -S -gdb stdio
This will stop before the first instruction (thanks to -S flag). You can now setup breakpoint to any address
Older version of the bootloader in 'real' mode can be found in 'old' folder