A bootable multitasking kernel built in no-lib C, featuring memory management, ELF program execution, and a basic command-line interface. Also includes a keyboard driver and FAT16 read support.
Install the following:
- An i686-elf-gcc cross-compiler
- NASM
- QEMU (qemu-system-i386)
export PREFIX="/path/to/cross/compiler"
export TARGET="i686-elf"
export PATH="$PREFIX/bin:$PATH"
make all
qemu-system-x86_64 -hda ./bin/os.bin -display cursesThis project taught me:
- x86 protected mode and memory segmentation
- Page table management and virtual memory
- ELF format and program loading
- Interrupt handling and device drivers
- Low-level systems programming
I plan to add multi-arch functionality with ARM or RISC-V support
MIT