45个版本
0.3.54 | 2021年12月9日 |
---|---|
0.3.53 | 2021年9月4日 |
0.3.52 | 2021年8月10日 |
0.3.51 | 2021年6月24日 |
0.3.10 | 2019年10月6日 |
404 in 操作系统
2MB
41K SLoC
RustyHermit: libhermit-rs
libhermit-rs 是 RustyHermit 单核操作系统项目的内核。
构建内核
通常内核会被链接为静态库,用于你的应用程序。
- Rust应用程序:请参阅 rusty-hermit 仓库中的说明。
- 对于C/C++应用程序:请参阅 hermit-playground 仓库中的说明。
独立静态库构建
如果这不符合你的需求,并且你想构建内核作为静态库以供后续链接,你需要以下内容
Rust nightly 工具链(官方网站)、Rust运行时源代码和 llvm-tools
rustup toolchain install nightly
rustup component add rust-src llvm-tools-preview
然后你可以使用以下命令构建 libhermit-rs
cargo build -Z build-std=core,alloc,panic_abort --target x86_64-unknown-none-hermitkernel
生成的库可以在 target/x86_64-unknown-none-hermitkernel/debug/libhermit.a
控制内核消息的详细程度
libhermit-rs 使用轻量级日志库 log 来打印内核消息。环境变量 HERMIT_LOG_LEVEL_FILTER
控制详细程度。你可以在编译时设置它为一个匹配 LevelFilter 名称的字符串。如果变量未设置或名称不匹配,则默认使用 LevelFilter::Info
。
$ HERMIT_LOG_LEVEL_FILTER=Debug cargo build -Z build-std=core,alloc,panic_abort --target x86_64-unknown-none-hermitkernel
致谢
libhermit-rs 以下教程和软件发行版中提取
HermitCore的Emoji由EmojiOne免费提供。
许可证
根据以下任意一项许可证授权:
- Apache License,版本2.0(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
供您选择。
贡献
除非您明确声明,否则任何您有意提交以包含在作品中的贡献(根据Apache-2.0许可证定义),均应按上述方式双许可,不附加任何额外的条款或条件。
libhermit-rs正在GitHub上开发GitHub。创建您自己的分支,向我们发送pull请求,并在Slack上与我们聊天。
依赖项
~5MB
~70K SLoC