Tiny kernel (educational project)
make
gcc
orclang
nasm
ld
grub-mkrescue
/xorriso
qemu
Build:
> make
Run:
> make run
Debug:
> make P=debug run
- Boot
- Stack setup
- CPU capabilities checks
- Page table setup (using recursive mapping)
- GDT setup
- Switch to long mode
- VGA text buffer abstraction
- IDT setup and interrupts handling
- Remapping of the 8259 PIC and activation of maskable interrupts
- Physical memory allocation
- Virtual-to-physical memory mapping
- Kernel heap
- Basic keyboard abstraction (scan codes to key events to characters)