Popcorn is a lightweight, modular kernel framework designed to make operating system development more accessible and intuitive. Built with a focus on simplicity and extensibility, it provides developers with a solid foundation for exploring system programming and OS concepts.
Extend kernel functionality through modular "pops" that can be easily integrated into the system.
Written primarily in C with only essential assembly code, making it more approachable for beginners.
Full support for Windows Subsystem for Linux, making development accessible across platforms.
The core of Popcorn's extensibility lies in its Pop Module system. Each "pop" is a self-contained module that can register itself with the kernel:
typedef struct {
const char* name; // Module name
const char* message; // Display message
void (*pop_function)(); // Module functionality
} PopModule;
Popcorn provides a streamlined build system with both automated and manual options:
To build and run Popcorn, you'll need:
To work on Popcorn at a fluid level, you'll need:
WSL is strongly recommended but this can run in Linux environments natively. It cannot run in Mac or Windows environments natively. Windows 11 and WSL 2.0 are strongly recommended.
To be fair, Popcorn is really simple right now and has little functionality. However, I'm planning on building upon it over the next couple months to get a working ISO and having more kernel functionality later. Check the GitHub for the latest features regardless!