A small kernel to understand low-level concepts (work in progress).
The kernel contains the following features:
- It is loaded via GRUB legacy;
- It maps the first 3MB of memory;
- It manages paging (+ segmentation);
- It configures software and hardware interrupts;
- It sets up the keyboard for input;
- It writes some data to COM1 serial port;
- It logs what it's doing to the screen.
This code requires bochs
or qemu
as emulator(s).
cd ~/path/to/repo
make
make run
for qemu ormake run-bochs
for bochs