laritOS is a highly-configurable, modular, test-driven developed operating system prototype created entirely from scratch, from bootloader to kernel, kernel to drivers, toolchain (including a minimal libc) to userspace applications.
The primary aim of laritOS is to provide a set of free resources (codebase, documentation, tutorials) for learning about operating system internals. Therefore, its focus is put mainly on simplicity, maintainability, modularity, debuggability and testability. Aspects such as performance, security, compatibility with existing OSes are not the priority for now.
The operating system is composed of the following 3 components, each of them with its corresponding repository:
| Component | Description |
|---|---|
| laritos | Kernel + drivers + board-specific resources + tests + misc tools |
| laritos-toolchain | Minimal libc + userspace apps building tools |
| laritos-apps | Userland applications such as shell, ps unix-like tool for listing processes, testing apps, etc |
For the complete OS documentation, please refer to the wiki page
armv7a)armv7a (arm 32 bits) arch has been implementedKbuild infrastructure, this is the same builder used by Linux ported to laritOSboard/<boardname/*.bi (board information) files. This could be seen as a very simplified version of the Linux device treeVFS) supporting ext2 and pseudofs (aka in-memory filesystems, e.g. /proc, stats fs)/property pseudo filesystem)armv7a)See laritos-toolchain repo for more info
ps program for listing active processesSee laritos-app repo for more info
See wiki page
laritOS is currently in alpha version, hence some features may not work as expected and stability is not guaranteed. Use at your own risk ?
The code is licensed under the MIT license.