A Lightweight Operating System Built for Object Storage
Helios is a hobby project aimed at building an Operating System and its core components from scratch, documented step-by-step in my blog. The goal is to take a structured, phased approach; starting with a fully functional Object Storage daemon running on Linux, and progressively migrating it to run on a custom kernel.
Central to this approach is the Helios System Call Interface (helios-sci), an abstraction layer that exposes networking, storage, and other OS primitives in a way that's compatible with both Linux and helios-core. This means the daemon itself remains largely untouched as the underlying platform evolvesm, ideally just a feature flag away from switching targets. The final architecture is outlined below.
This project acts as a mono-repo combining the functionalities of all of it's subprojects. This means that helios stores all of the required scripts for developing, building, and using the submodules together. Certain submodules (i.e. helictl, helios-http, helid) are capabale of being used on their own and will have associated documentation regarding how to use them on their own as either a binary, or a library.
- Clone the repository and submodules:
git clone --recurse-submodules git@github.com:mhambrec/helios.git - Copy
.env.exampleto.envand modify as necessary. The defaults target a 64-bitx86_64kernel build out of the box. - Run
justto view the more standard task running commands (i.e.just build <crate>,just gdb <crate>). - For more finegrained build commands and detailed coding standards and information review the advanced development documentation.
- Helios Kernel (helios-core): The kernel of the Helios operating system.
- Helios System Call Interface (helios-sci): Kernel operation abstraction layer for the Helios ecosystem.
- Helios Daemon (helid): Filesystem storage control daemon.
- Helios Control (helictl): Remote CLI control application for interacting with a
helidservice. - Helios HTTP (helios-http): Simple HTTP server built on top of the Helios TCP stack.
Important Note: This is an active learning project, expect rough edges and frequent change
