Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/itsManjeet/rlxnix-kernel

a experimental monolithic kernel in rust
https://github.com/itsManjeet/rlxnix-kernel

kernel linux monolithic osdev rust

Last synced: 3 months ago
JSON representation

a experimental monolithic kernel in rust

Awesome Lists containing this project

README

        

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![GPL License][license-shield]][license-url]
![Rust](https://github.com/itsManjeet/rlxnix/workflows/Rust/badge.svg)





Logo


An experimental monolithic kernel in rust








·
Report Bug
·
Request Feature

## Table of Contents

* [Getting Started](#getting-started)
* [Requirements](#requirements)
* [Installation and Testing](#installation-and-testing)
* [Roadmap](#roadmap)
* [Contributing](#contributing)
* [License](#license)
* [Contact](#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
```bash
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](https://github.com/itsmanjeet/rlxnix/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**.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b 0.1.0`)
3. Commit your Changes (`git commit -m '[my-id] my awesome Feature'`)
4. Push to the Branch (`git push origin 0.1.0`)
5. Open a Pull Request

## License

Distributed under the GPL3 License. See `license` for more information.

## Contact
Manjeet Singh - [@releaxos](https://twitter.com/releaxos) - [email protected]

[Join](https://discord.gg/TXTxDTYcdg) our discord server for any query

## Acknowledgement

- [https://os.phil-opp.com/](https://os.phil-opp.com/)
- [blog os](https://github.com/phil-opp/blog_os)
- [osdev](https://osdev.org)
- [JamesM's kernel development](http://www.jamesmolloy.co.uk/tutorial_html/)

[contributors-shield]: https://img.shields.io/github/contributors/itsmanjeet/rlxnix.svg?style=flat-square
[contributors-url]: https://github.com/itsmanjeet/rlxnix/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/itsmanjeet/rlxnix.svg?style=flat-square
[forks-url]: https://github.com/itsmanjeet/rlxnix/network/members
[stars-shield]: https://img.shields.io/github/stars/itsmanjeet/rlxnix.svg?style=flat-square
[stars-url]: https://github.com/itsmanjeet/rlxnix/stargazers
[issues-shield]: https://img.shields.io/github/issues/itsmanjeet/rlxnix.svg?style=flat-square
[issues-url]: https://github.com/itsmanjeet/rlxnix/issues
[license-shield]: https://img.shields.io/github/license/itsmanjeet/rlxnix.svg?style=flat-square
[license-url]: https://github.com/itsmanjeet/rlxnix/blob/master/license
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=555