Aether is a hobby operating system in development. Code is written primarily in the Rust language. The OS targets rather modern machines with x86_64 (amd64) and aarch64 (64-bit arm) architectures.
The architecture is of a microkernel design. Most OS responsibilities should be fulfilled by userspace servers, as opposed to fulfilled by a kernel of monolithic design.
The project is in its early stages of development. See BACKLOG.md for known limitations and planned improvements.
Note that currently the kernel is being rewritten.
- Dual-architecture support: x86_64 and aarch64
- Limine bootloader integration (UEFI + BIOS on x86_64, UEFI on aarch64)
- Framebuffer early state logging support
The documentation is available in the docs/ directory.
Note that due to the ongoing kernel rewrite, the docs are not up to date right now.
- GNU Make
- QEMU —
qemu-system-x86_64and/orqemu-system-aarch64 - For aarch64: QEMU with EDK2 firmware (provided in the
3rdparty/edk2/directory)
Build and run in QEMU:
make qemu ARCH=x86_64
# or
make qemu ARCH=aarch64Build only (without running):
make all ARCH=x86_64
# or
make all ARCH=aarch64Start QEMU with a GDB/LLDB stub on port 1234 (execution paused at start):
make qemu ARCH=x86_64 DEBUG=1
# or
make qemu ARCH=aarch64 DEBUG=1Then attach your debugger.
The Aether project's licensing policy is located in the LICENSE file.
Contributions are welcome!
For more information on contributing to this project, please see CONTRIBUTING.md.