20 releases (5 breaking)
| 0.7.10 | May 26, 2025 |
|---|---|
| 0.7.5 | Feb 8, 2025 |
| 0.1.1 | Nov 14, 2024 |
#95 in Operating systems
72KB
2K
SLoC
K-Scale OS
Welcome to the K-Scale Operating System!
Building
Prerequisites
crosstoolchain
You can install cross by running:
cargo install cross
Native build
Native build:
cargo build
You can run the kos-stub endpoint for testing purposes using the command:
cargo run --bin kos-stub
After doing this, you can test the endpoint using the pykos client:
import pykos
client = pykos.KOS("127.0.0.1")
Cross build
Cross build for kbot:
cross build --release --target aarch64-unknown-linux-gnu
Running
RUST_LOG=debug cargo run
You can specify logging levels for individual modules by adding module_name=log_level to the RUST_LOG environment variable. For example:
RUST_LOG=debug,krec=warn cargo run
List of features (--features / -F flag)
Features are how you specify the specific platform to run K-OS on (e.g. -F kos-kbot when running on K-Bot)
- kos-kbot
- zeroth-01 (not finished)
- sim (not finished)
Adding a new embodiment
Reference the existing platforms / features in platforms.
You essentially create another package (Cargo.toml, lib.rs, etc) with the necessary actuator and imu implementations according to the specifications in kos-core
To save trace logs to a file, pass the --log flag:
cargo run -- --log
Contributing
- Use
cargo fmt --allto format the code. - Use
cargo clippyto check for lint errors. - Use
cargo testto run the tests. - Use
tracingfor logging. - Use
eyreto handle errors. - No
unwrap()orexpect().
License
This project is licensed under the MIT License. See the LICENSE file for details.
Dependencies
~18–32MB
~464K SLoC