Skip to content

Latest commit

 

History

History
38 lines (29 loc) · 910 Bytes

README.md

File metadata and controls

38 lines (29 loc) · 910 Bytes

Booloader

Bootloader from Udemys: "Developing a Multithreaded Kernel From Scratch!" course

Prerequisites

  • 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

How to compile

make

How to run

qemu-system-x86_64 -hda ./bin/os.bin

or

./run.sh

Ctrl+a and then c to exit

How to debug

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

Additional files

Older version of the bootloader in 'real' mode can be found in 'old' folder