Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/infinityos-dev/core
Lightweight easy to use operating system made to limit e-waste
https://github.com/infinityos-dev/core
hobby-os infinityos kernel operating-system osdev rust rust-os toy-os x86-64
Last synced: 3 days ago
JSON representation
Lightweight easy to use operating system made to limit e-waste
- Host: GitHub
- URL: https://github.com/infinityos-dev/core
- Owner: infinityos-dev
- License: agpl-3.0
- Created: 2025-01-10T08:02:15.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-02-12T14:45:51.000Z (8 days ago)
- Last Synced: 2025-02-12T14:51:09.151Z (8 days ago)
- Topics: hobby-os, infinityos, kernel, operating-system, osdev, rust, rust-os, toy-os, x86-64
- Language: Rust
- Homepage: https://infinityos-dev.github.io/
- Size: 169 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# **InfinityOS**
>[!IMPORTANT]
>InfinityOS is still in very early development, is being developed on and off, and is currently not ready for normal usage.Welcome to **InfinityOS**, an experimental operating system written in Rust. This project explores the boundaries of Rust in systems programming and serves as a platform for learning and innovation.
## **Features**
- **Rust-Powered**: Fully written in Rust, focusing on safety, performance, and modern systems programming practices.
- **Bare Metal Development**: Runs directly on hardware, without relying on an existing operating system.
- **Learning-Oriented**: Aimed at understanding OS architecture, low-level programming, and Rust's capabilities in systems development.
- **Modular Design**: Designed for extensibility and future feature development.## Building
This project requires a nightly version of Rust because it uses some unstable features. At least nightly _2020-07-15_ is required for building. You might need to run `rustup update nightly --force` to update to the latest nightly even if some components such as `rustfmt` are missing it.
You can build the project by running:
```
cargo build
```To create a bootable disk image from the compiled kernel, you need to install the [`bootimage`] tool:
[`bootimage`]: https://github.com/rust-osdev/bootimage
```
cargo install bootimage
```After installing, you can create the bootable disk image by running:
```
cargo bootimage
```This creates a bootable disk image in the `target/x86_64-infinity_os/debug` directory.
Please file an issue if you have any problems.
## Running
You can run the disk image in [QEMU] through:
[QEMU]: https://www.qemu.org/
```
cargo run
```[QEMU] and the [`bootimage`] tool need to be installed for this.
You can also write the image to an USB stick for booting it on a real machine. On Linux, the command for this is:
```
dd if=target/x86_64-infinity_os/release/bootimage-infinity_os.bin of=/dev/sdX && sync
```Where `sdX` is the device name of your USB stick. **Be careful** to choose the correct device name, because everything on that device is overwritten.
## Testing
>[!NOTE]
>You will need QEMU to test properlyTo run the unit and integration tests, execute `cargo test`.