1
3
Fork
You've already forked emexOS
2
this is the Official emexOS repository on Codeberg
  • C 93.8%
  • Makefile 3.5%
  • Zig 0.8%
  • Assembly 0.6%
  • Python 0.6%
  • Other 0.6%
2026年06月11日 14:06:56 +02:00
.github/workflows feat: added workflow to deploy website automatically 2026年02月28日 20:02:40 +00:00
.zed ipc, whatever 2026年03月08日 13:19:28 +01:00
docs half working multitasking 2026年03月15日 13:54:17 +01:00
dsk new bootup design 2026年06月11日 14:06:56 +02:00
emex new bootup design 2026年06月11日 14:06:56 +02:00
include new screenshots in include/screenshots 2026年05月25日 10:25:56 +02:00
tools refactor 6 2026年05月24日 22:36:09 +02:00
user new bootscreen (use -DBS_DEBUG=1 to disable), deleted binaries (again...) 2026年06月09日 17:59:43 +02:00
.build new bootup design 2026年06月11日 14:06:56 +02:00
.editorconfig feat: added editorconfig and updated flake 2026年02月28日 20:54:59 +00:00
.gitignore refactor 6 2026年05月24日 22:36:09 +02:00
ATTRIBUTION.md kernel services > installer (not working...) :( 2026年03月24日 16:58:23 +01:00
build.zig [zig build] fixes 2025年11月23日 19:25:55 +03:00
common.mk new bootup design 2026年06月11日 14:06:56 +02:00
flake.lock fix: added const char *s back to #define FHDR in console.h 2026年03月01日 08:35:29 +00:00
flake.nix fix: added const char *s back to #define FHDR in console.h 2026年03月01日 08:35:29 +00:00
LICENSE LICENSE 2026年01月03日 17:10:57 +01:00
limine.conf new bootup design 2026年06月11日 14:06:56 +02:00
Makefile new bootup design 2026年06月11日 14:06:56 +02:00
README.md removed contributors from readme 2026年05月25日 10:52:13 +02:00

emexOS

a simple x86_64 Operating System in C made from scratch

GitHub License GitHub repo size GitHub Repo stars

-> emexOS is not based on any existing kernel <-
Discord Badge

What is emexOS?

emexOS is a small graphical operating system entirely written from scratch in C by emex and all its contributors. It's designed for customizer and retro-enthusiasts, who want to fully change the look of their system and love retro-style.

Build Dependencies

For building and compiling emexOS, ensure you have the following installed:

  • x86_64 GCC cross-compiler - This is our preferred compiler for the source code. Currently, emexOS only supports 64-bit x86 machines, but we plan to support more architectures in the future.
  • NASM - Assembler.
  • QEMU - Our preferred emulator.
  • Xorriso - ISO creation.
  • Git and wget - To fetch dependencies.
  • CPIO (use brew install cpio) - For the RAM disk.

You can also use Zig instead of GCC if you prefer to.

For Nix Users

Ensure you have flakes enabled first, then run nix develop to enter the provided development shell which will have all build dependencies and such installed for you. I'd recommend updating the flake using nix flake update as it's sometimes not updated for long periods of time.

Building and Compiling

With all build dependencies installed, you can finally build and run emexOS.

Using gnu-make

  • make fetchDeps - Fetch all libraries and such that emexOS depends on e.g. Limine. git and wget are used for this.
  • make - Build emexOS.
  • make run - Emulate emexOS using QEMU.
  • make clean - Clean up all build outputs.

Using Zig

  • zig build - Fetch, build and run.
  • zig build -Dnofetch - Build and run.
  • zig build -Dclean - Remove (cache, output), fetch, build and run.
  • zig build -Dnofetch -Dclean - Remove (cache, output), build and run.

More Screenshots

Desktop

After booting, you will get into login and will be asked for a password and username, both are emex by default. but you can change it in user/apps/login/login.c .

Currently, no SMP support is available just yet so emexOS runs using only a single core.

readme by emex, Voxi0 and Bi Moz