Welcome to Hexium OS, an experimental operating system written in Rust. This project explores the boundaries of Rust in systems programming and serves as a platform for learning and innovation.
- π Limine Bootloader
- π» Flanterm terminal
- π Global Descriptor Table
- β‘ Interrupts
- π Paging Support
- π Serial Support
- π§ Memory Management
- ποΈ In-memory File System
- π― Task State Segment
- π§ Heap allocator
- β¨οΈ Keyboard Driver
- π Multitasking (Unavailable. see #30)
- ποΈ Virtual Filesystem
- β Shell
- β ACPI/AML Shutdown
- β CpuId Support
- β Mouse Driver
- β Graphical Interface
- β ELF Loader
- β Network Driver
- β Audio Driver
- β FAT32 Support
- β OpenGL-like API
- β C/C++ Compiler
- β Rust Standard Library
- β Processes
- β Installation Setup
- β Web Browser
- β User Documentation
- β Package manager
This project requires a nightly version of Rust because it uses some unstable features. You might need to run rustup update nightly --force
to update to the latest nightly even if some components such as rustfmt
are missing it. Additionally, ensure you have rustc
and cargo
version 1.86 or higher installed.
You will also need xorriso
, a tool for creating ISO images.
You can build the project by running:
make
This creates an ISO
You can run the disk image in QEMU through:
make run
/initrd/ # The initial ramdisk
/kernel/src/ # Kernel source code
/kernel/target/ # Kernel output directory
/limine # Limine and UEFI binaries (generated)
/ovmf # Virtual firmware (generated)
/tools # Build & helper scripts/tools
This project is licensed under the GNU General Public License v3.0 - see the COPYING file for details.