6个版本

新版本 0.7.0 2024年8月22日
0.6.2 2024年7月9日
0.6.0 2024年6月29日
0.1.5 2024年2月6日

#60 in 操作系统

Download history 3/week @ 2024-05-03 3/week @ 2024-05-17 2/week @ 2024-05-24 235/week @ 2024-05-31 66/week @ 2024-06-07 6/week @ 2024-06-14 300/week @ 2024-06-21 241/week @ 2024-06-28 257/week @ 2024-07-05 38/week @ 2024-07-12 2/week @ 2024-07-19 124/week @ 2024-08-16

124 每月下载量

MPL-2.0 许可证

175KB
4K SLoC

使用Asterinas OSDK加速操作系统开发

Crates.io OSDK Test

它是做什么的?

OSDK(操作系统开发套件)旨在简化Rust操作系统的开发。它通过利用由Asterinas最初提出的framekernel架构来简化流程。

cargo-osdk 是一个命令行工具,用于简化基于framekernel架构的项目管理。与Rust项目的Cargo类似,cargo-osdk 允许方便地进行构建、运行和测试项目。

安装工具

要求

目前,cargo-osdk 仅支持x86_64 ubuntu系统。

要使用QEMU运行内核,cargo-osdk 需要安装以下工具

  • Rust >= 1.75.0
  • cargo-binutils
  • gcc
  • qemu-system-x86_64
  • grub-mkrescue
  • ovmf
  • xorriso

有关如何安装Rust的说明,您可以参考官方网站

安装Rust后,您可以通过以下方式安装Cargo工具

cargo install cargo-binutils

其他工具可以通过以下方式安装

apt install build-essential grub2-common qemu-system-x86 ovmf xorriso

安装

然后,可以通过以下方式安装cargo-osdk

cargo install cargo-osdk

升级

如果已经安装了cargo-osdk,可以通过以下方式升级该工具

cargo install --force cargo-osdk

入门

在此,我们提供了一个简单的示例,演示如何使用cargo-osdk创建和运行一个简单的内核。

使用cargo-osdk,可以通过一条命令创建一个内核项目

cargo osdk new --kernel my-first-os

然后,您可以使用以下命令运行内核

cd my-first-os && cargo osdk run

您将在控制台看到Hello world from guest kernel!

基本用法

cargo-osdk 的基本用法是

cargo osdk <COMMAND>

目前我们支持以下命令

  • new:创建一个新的内核包或库包
  • build:编译项目及其依赖项
  • run:使用VMM运行内核
  • debug:通过GDB调试远程目标
  • 测试:通过启动虚拟机来执行内核模式单元测试。
  • 检查:分析当前包并报告错误。
  • clippy:检查当前包并捕获常见错误。
  • doc:构建Rust文档。

以下命令可用于发现每个命令的可用选项。

cargo osdk help <COMMAND>

OSDK清单

cargo-osdk 使用名为 OSDK.toml 的配置文件来定义其精确行为。有关清单规范的更多信息,请参阅 此书

贡献

Asterinas OSDK 作为 Asterinas 的子项目开发。它与内核共享相同的仓库和版本规则。请根据 Asterinas 的贡献指南为 OSDK 做贡献。

Visual Studio Code 用户注意事项

要启用 OSDK 的编辑器高级功能,请使用 文件 > 从文件打开工作区... 菜单项打开 Asterinas 仓库作为工作区,并将 Asterinas 仓库根目录中的 .code-workspace 文件作为配置。

依赖项

~7–9.5MB
~166K SLoC