eduOS is a real operating system project for kids, starting from a freestanding kernel and boot process.
This repository currently includes:
- A bootable 64-bit kernel (
_start) built with a linker script. - Limine bootloader integration.
- ISO image generation for BIOS/UEFI boot.
- QEMU run target for local testing.
The long-term goal is an OS where students can:
- Learn core CS concepts by interacting with system components.
- Write tiny programs in a safe sandbox.
- Explore graphics, files, and networking in age-appropriate lessons.
src/kernel/main.c: Kernel entrypoint and first terminal output.linker.ld: Freestanding kernel memory layout and entry symbol.config/limine.conf: Boot menu configuration.Makefile: Build, ISO packaging, and QEMU run commands.
Install build tools and emulator:
sudo apt update
sudo apt install -y make git xorriso qemu-system-x86Install or provide a freestanding toolchain:
- Preferred:
x86_64-elf-gccandx86_64-elf-ld - Alternative:
clang+ld.lld(see command below)
Default build (cross-compiler):
make isoBuild with clang/lld targeting freestanding ELF:
make clean
make CC=clang LD=ld.lld CFLAGS='-std=gnu11 -ffreestanding -fno-stack-protector -fno-pic -m64 -mno-red-zone -O2 -Wall -Wextra --target=x86_64-elf'Output files:
build/eduos.elfbuild/eduos.iso
make run-guiYou should see a QEMU window, the Limine boot entry, then the eduOS kernel banner.
make run-headlessThis mode uses QEMU debug console output (port 0xE9) so the kernel banner appears directly in your terminal.
make iso
make run-gui
# or
make run-headlessPhase 1: Kernel foundations
- Interrupt descriptor table (IDT) and exception handlers.
- Physical + virtual memory management.
- Timer and simple cooperative scheduler.
Phase 2: Learning-first user environment
- Text-mode shell with kid-friendly commands (
learn,draw,math,code). - Tiny bytecode interpreter for beginner coding lessons.
- Virtual file system for lesson packs and saved projects.
Phase 3: Safety and classroom features
- Sandboxed app model.
- Teacher control panel and lesson deployment.
- Activity logs and progress tracking.
Phase 4: Hardware and polish
- Graphics mode with educational UI.
- Input/audio/network drivers.
- Installer image and release process.
- The repository clones Limine into
.limine/during build. - This is an early kernel prototype intended to grow into a complete OS.