rlxnix-kernel
rlxnix-kernel copied to clipboard
a experimental monolithic kernel in rust
An experimental monolithic kernel in rust
·
Report Bug
·
Request Feature
Table of Contents
-
Getting Started
- Requirements
- Installation and Testing
- Roadmap
- Contributing
- License
- Contact
Getting Started
rlxnix is a experimental monolithic kernel written in rust for analyzing and learning the internals of operating system in a memory safe language.
Requirements
- rust, cargo (testing)
- qemu
Installation and Testing
cargo run
Roadmap
- [x] Target x86_64
- [x] Setup std macros via vga memory (print!,println!)
- [x] Unit testing framework
- [x] Descriptor tables
- [x] IRQ and ISRS
- [x] Implement basic Paging
- [x] Allocator Framework
- [ ] Buddy allocator ??
- [ ] Multitask Await/Async
- [ ] Virtual filesystem
- [ ] Initrd Support
- [ ] Usermode
- [ ] Switch to ring 0 -> 3
- [ ] Basic syscall support
- [ ] C runtime libraries
- [ ] Modules Support
See the open issues for a list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b 0.1.0
) - Commit your Changes (
git commit -m '[my-id] my awesome Feature'
) - Push to the Branch (
git push origin 0.1.0
) - Open a Pull Request
License
Distributed under the GPL3 License. See license
for more information.
Contact
Manjeet Singh - @releaxos - [email protected]
Join our discord server for any query