This is a simple x86 32 bit operating system written from scratch, based on Carlos Fenollosas OS tutorial. It contains the following components:
- Boot loader
- Operating system kernel, including
- ISRs to handle CPU interrupts
- VGA driver
- Keyboard driver
- Shell
- Dynamic memory allocation
brew install qemu nasmhttps://github.com/lordmilko/i686-elf-tools#mac-os-x
brew install i386-elf-binutils
brew install i386-elf-gcc
brew install i386-elf-gdb
export PATH="/usr/local/Cellar/x86_64-elf-binutils/<version>/bin/:/usr/local/Cellar/x86_64-elf-gcc/<version>/bin/:/usr/local/Cellar/i386-elf-gdb/<version>/bin:$PATH"
make run
make debug
In GDB shell:
- Set breakpoint at function (e.g.
start_kernel):b start_kernel - Start execution:
c - Jump to next instruction:
n - Print variable:
p <variable_name>