Welcome to the Rust library for KolibriOS, a lightweight and fast open-source operating system. This library provides Rust developers with tools and abstractions to build applications for KolibriOS, leveraging Rust's safety and performance.
- Safe and idiomatic Rust APIs for KolibriOS system calls and functionality.
- Easy integration with existing KolibriOS development workflows.
- Cargo-based build system for streamlined compilation and binary generation.
- Example-driven development with sample applications to get started quickly.
To build and use this library, ensure you have the following tools installed:
- Rust Toolchain: Install Rust via rustup.
- cargo-binutils: Required for binary manipulation. Install it with:
cargo install cargo-binutils
- llvm-tools-preview: Required for additional Rust tooling. Install it with:
rustup component add llvm-tools-preview
- FASM (Flat Assembler): A working installation of FASM is required for assembling KolibriOS binaries.
- cargo-make: Used for managing build tasks. Install it with:
cargo install cargo-make
Once the prerequisites are installed, building the library and examples is straightforward. To compile an example application and produce a ready-to-use binary in the project root, run:
cargo make --profile production example <example_name>Replace <example_name> with the name of the example you want to build (e.g., hwa). The resulting binary will be compatible with KolibriOS.
The repository includes several example applications to demonstrate the library's capabilities. To explore them:
- Navigate to the
examples/directory. - Check the available examples (e.g.,
bf,hwa). - Build an example using the command above.
For instance, to build and run the hwa example:
cargo make --profile production example hwaThe binary will be generated in the project root, ready to be run on KolibriOS.
-
Clone the Repository:
git clone https://github.com/paulcodeman/rust-kolibrios.git cd rust-kolibrios -
Install Dependencies: Follow the Prerequisites section to set up your environment.
-
Build an Example: Use the
cargo makecommand to build an example, as described in Building the Library. -
Run on KolibriOS: Copy the generated binary to a KolibriOS environment (e.g., via a floppy disk image or emulator) and execute it.
Contributions are welcome! Whether you're fixing bugs, adding new features, or improving documentation, your help is appreciated. To contribute:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/your-feature). - Commit your changes (
git commit -m "Add your feature"). - Push to the branch (
git push origin feature/your-feature). - Open a pull request.
Please read our Contributing Guidelines for more details (create this file if it doesn’t exist).
This project is licensed under the MIT License. See the LICENSE file for details.
If you encounter issues or have questions, feel free to open an issue on the GitHub Issues page. You can also reach out to the community via KolibriOS forums or check the Rust community for additional support.