About Popcorn

UEFI first. Native BOOTX64.EFI, modern display modes, CI on the UEFI image.

What it is

Popcorn is an exo/mono hybrid kernel for x86-64. A layered core owns interrupts, memory, scheduling, and syscalls. New devices land in Rust. The longer goal is a real kernel on modern firmware, not a demo that only boots under old BIOS tricks.

How it is built

UEFI + GRUB

Primary path is UEFI. GRUB Multiboot2 ISO stays for a second boot check.

C + Rust

Asm/C keep entry, IDT, PMM, and early bring-up. Rust owns drivers, screen backends, pops, and the catalog.

Driver network

Devices register once and show up to the shell. Screen, serial, keyboard, clock, block, and more.

Pop modules

Small add-ons (sysinfo, cpu, memory, uptime, …). Dolphin is the in-kernel editor.

v0.7 today

  • ✦ Boot: UEFI loader + GRUB ISO, ./scripts/core.sh, QEMU smoke in CI
  • ✦ Memory: PMM, 4-level paging, per-task address spaces
  • ✦ Time/tasks: timer, preemption, sleep/wake
  • ✦ Devices: Rust drives for screen, input, serial, block (ram/virtio/NVMe/USB)
  • ✦ Shell: interactive console, drive/dev/disk/catalog commands

Still ahead: ring-3 programs, ELF loader, full VFS, networking, real-hardware soak.

Build

  • ✦ ./scripts/core.sh (build, QEMU, test-uefi)
  • ✦ Needs NASM, ELF GCC/ld, rustc/cargo, QEMU, OVMF, ISO tools

Below v1.0 is unstable. Scripts are AS-IS.