CorexOS is a custom operating system for x86-64 PCs (with experimental ARMv8 support) based on the ToaruOS codebase. While ToaruOS provides the foundation, CorexOS expands, modifies, and rebrands the system with its own identity, UI resources, filesystem layout changes, and functionality improvements.
CorexOS continues the educational philosophy of ToaruOS: a compact, full desktop operating system with a composited GUI, kernel, libc, userspace, shell, graphics stack, and toolchain --- all inside one repository.
CorexOS inherits most architectural designs from ToaruOS, including: - a modular microkernel design - a composited window system - dynamic linking and ELF loader - terminal emulator - shared libraries - a C standard library - a dynamic scripting language (Kuroko) - many first-party applications
All external runtime dependencies are bundled in the repository, except Kuroko, which remains an external submodule.
CorexOS started as a personal fork of the ToaruOS project.
ToaruOS, created by Kevin Lange, is a well-known educational operating system used by hobby OS developers to learn kernel design, windowing systems, libc implementation, and dynamic linking. CorexOS builds upon this foundation while replacing branding, assets, UI visuals, configuration defaults, and filesystem structures to create a unique OS experience.
- Dynamic Userspace Linking with .so shared objects and working dlopen.
- Custom GUI & Windowing System based on ToaruOS Yutani, re-themed for CorexOS.
- Integrated Terminal with 24-bit color and Unix-style interface.
- CorexOS wallpapers, icons, and UI themes.
- VM Integration (VirtualBox, VMware).
- Kuroko Interpreter for scripting.
- Modular Kernel (Misaka-based).
- Kernel (Misaka-based): kernel/
- Window Compositor: apps/compositor.c
- Dynamic Linker: linker/linker.c
- Terminal Emulator: apps/terminal.c
- C Library: libc/
- Userspace Shell: apps/esh.c
- Kuroko Interpreter: kuroko/ (submodule)
- Userspace Applications: apps/
- Filesystem Staging: base/
CorexOS includes new branding, assets, defaults, and additional applications.
- Rebrand all graphical assets to Corex identity.
- Extend GUI and application ecosystem.
- Improve kernel stability and hardware support.
- Add new CorexOS drivers and utilities.
- Enhance POSIX compatibility.
- Update build scripts and toolchain.
- Merge useful upstream ToaruOS improvements while keeping CorexOS unique.
git clone https://github.com/hooosik/Corex-OS
cd Corex-OS
git submodule update --init kuroko
docker pull toaruos/build-tools:1.99.x
docker run -v `pwd`:/root/misaka -w /root/misaka -e LANG=C.UTF-8 -t toaruos/build-tools:1.99.x util/build-in-docker.sh
Then:
make run
qemu-system-x86_64 -enable-kvm -m 1G -device AC97 -cdrom image.iso -smp 2
- apps --- applications
- base --- ramdisk staging (Corex-branded)
- boot --- BIOS+EFI bootloader
- kernel --- Misaka-based kernel
- kuroko --- scripting language
- lib, libc --- libraries and C runtime
- linker --- ELF loader
- modules --- kernel modules
- util --- build tools
- .make --- generated Makefiles
Supports VirtualBox, VMware, and QEMU with inherited ToaruOS VM integration features.
CorexOS is distributed under the University of Illinois / NCSA License --- identical to ToaruOS. Because CorexOS is a derivative of ToaruOS, all ToaruOS copyright notices and licenses are preserved.
CorexOS is currently a personal fork and not a community project. Suggestions and forks are welcome.