pre-task:RuyiSDK 安装与初次使用笔记

一、测试环境

  • 操作系统:Windows + WSL

  • Linux 发行版:Ubuntu

  • 主机架构:x86_64

  • 工具:RuyiSDK Package Manager / ruyi

二、安装过程

新装 Ubuntu 需安装 Python 依赖:

Bash

sudo apt update
sudo apt install python3-pip

1.RuyiSDK 安装

绕过 PEP 668 限制安装

  • 为避免 externally-managed-environment 报错,使用 --break-system-packages 参数强制安装:

Bash

pip3 install ruyi --break-system-packages

配置环境变量

  • 将 ruyi 可执行文件路径加入 PATH

Bash

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

2.工具链与模拟器安装

  • 获取工具链与模拟器

Bash

# 安装 GNU 交叉编译工具链
ruyi install gnu-upstream

# 搜索并安装 QEMU 模拟器
ruyi list --name-contains qemu
ruyi install qemu-user-riscv-upstream

补充系统依赖

  • 若安装过程中出现缺少 zstd 的循环报错,按 Ctrl+C 中断并安装依赖,后重新执行 Ruyi 安装命令:

Bash

sudo apt install zstd

3.创建与激活虚拟环境 (venv)

  • 通过 venv 功能集成工具链与模拟器:

Bash

# 创建虚拟环境
ruyi venv -t gnu-upstream -e qemu-user-riscv-upstream ./rv-env

# 激活虚拟环境
source ./rv-env/bin/activate

激活后终端提示符前显示 «Ruyi rv-env»

4.交叉编译与验证

编写 C++ 源码

  • 在虚拟环境中创建 hello.cpp

Bash

echo '#include <iostream>' > hello.cpp
echo 'int main() { std::cout << "Hello, RISC-V from RuyiSDK!" << std::endl; return 0; }' >> hello.cpp

交叉编译

  • 使用工具链编译代码为 RISC-V 架构可执行文件:

Bash

riscv64-unknown-linux-gnu-g++ hello.cpp -static -o hello_cpp

架构验证

  • 验证编译产物架构:

Bash

file hello_cpp

模拟运行

  • 运行程序:

Bash

./hello_cpp

三、 进阶体验:VS Code 插件安装使用

对于不熟悉命令行的初学者,RuyiSDK 提供了体验极佳的 VS Code 官方插件

1. 环境打通

在 WSL2 终端项目中输入 code .,可无缝唤醒 Windows 侧的 VS Code 并打通底层 Linux 环境。安装官方 RuyiSDK 插件后,系统会自动检测到本地的 Ruyi 核心。

2. 图形化包管理与环境构建

  • 可视化商店:插件提供了直观的 Packages 界面,可直接鼠标点击安装/卸载工具链与模拟器,已安装的包会自动打上 Installed 标签。

  • 一键 Venv 构建:通过命令面板 (Ctrl+Shift+PRuyi: Create a New Venv),可直接在下拉菜单中点选 gnu-upstream 工具链、qemu 模拟器以及 generic 架构配置。

  • 激活:创建完成后,在左侧边栏一键点击即可激活环境,IDE 底部状态栏与集成终端会自动切换至该虚拟环境,彻底免去手敲配置命令的烦恼。

四、 结语

  1. 使用体验

    • RuyiSDK 的 venv 功能简化了 RISC-V 交叉编译环境的配置流程,替代了手动设置环境变量和路径的步骤。 提供了一个高度集成的工具链,涵盖了从编译到模拟的各个环节。使用 ruyi install 安装 GNU RISC-V 工具链和 QEMU 模拟器时,整个过程顺利且高效。
    • vs code插件通过图形化界面替代了底层 CLI 命令,实现了包管理与虚拟环境配置的可视化,降低了 RISC-V 交叉编译环境的搭建复杂度。
  2. 在安装过程中,我主要关注到了以下问题:

    • 新手可能不清楚 Windows 环境下需要先使用 WSL / Linux 环境;

    • 初次接触 RISC-V 工具链时,对 toolchain、profile、venv、QEMU 等概念可能需要更友好的解释;

    • 如果能提供“Windows 用户从零开始安装”的单独教程,可能会降低新用户的上手成本。

1 个赞