check out:
- https://wiki.osdev.org/
- /r/osdev
- osdev forums
- i386 programmer's manual
- vnc
- cross compiler: https://wiki.osdev.org/GCC_Cross-Compiler
- Basic terminal support
- Keyboard inputs
- Paging
- Heap management (malloc/free)
- Userspace
- Graphics
- Multiprocessing
- File system
Run QEMU and listen for GDB connections via ./gdb.sh
. Then, in another terminal instance, execute ./debug.sh
. This opens gdb and connects to localhost:1234, as well as loads the symbol file generated by gdb.sh. Set break points with break
before running the OS via continue
(it automatically stops at the start).
NOTE: This is all for a VNC setup, so if you're using VNC, make sure to boot into the OS on VNC after you enter continue
in gdb, to get the OS running, for real.