WSL装RuyiSDK实操记录(修改版)

一、运行环境

本次实操环境:

  • 系统:Windows WSL-Ubuntu 24.04
  • 架构:x86_64
  • 用途:完成 RuyiSDK 安装、环境排错、工具链部署、简单程序编译与运行全流程记录

二、WSL2 网络 DNS 问题排查与解决

问题现象

刚开始使用 RuyiSDK 官方源下载安装时,出现域名解析失败、连接超时、无法下载。

问题原因

WSL2 会自动刷新、重置 DNS 服务器,导致域名解析异常,访问外部官方源不稳定。

解决操作步骤

1. 在 WSL 终端编辑配置文件:

sudo vim /ect/wsl.conf

2. 写入以下配置,关闭自动 DNS 生成:

[network]
generateResolvConf = false

3. 保存退出,关闭整个 WSL 终端,重新打开。
4. 手动配置公共固定 DNS,刷新网络后,域名解析恢复正常,可正常下载官方资源。

三、RuyiSDK 包管理器安装过程

1. 优先使用中科院镜像源替换官方源,下载速度更快、更稳定。
2. 按照官方文档步骤,依次执行下载、授权、安装命令,顺利完成安装。
3. 首次终端输入 ruyi 启动时,弹出遥测数据收集提示。
4. 等待初始化更新完成,进入正常 RuyiSDK 命令交互状态,无报错。

四、RuyiSDK 基础功能实操

  1. 查看可用软件包
ruyi list

查看当前支持的工具链、开发板镜像、可用软件包列表。

  1. 安装 GNU 上游工具链
ruyi install gnu-upstream

等待自动下载、解压、部署工具链,安装完成可正常调用。

  1. 编写简单测试程序

新建 hello.c 文件,写入基础测试代码:

#include <stdio.h>
int main()
{
printf(“Hello RuyiSDK\n”);
return 0;
}
  1. 动态编译遇到的问题

默认直接动态编译后,用 QEMU 模拟运行时,提示:
找不到 RISC-V 动态链接器

原因:
WSL2 本地环境没有适配 RISC-V 架构的动态运行库,无法解析动态链接文件。

  1. 改用静态编译解决问题

编译时加上 -static 参数,进行静态编译:

# 示例编译命令
riscv64-linux-gnu-gcc hello.c -o hello -static

编译生成纯静态可执行文件,不依赖外部动态库。

  1. QEMU 模拟器正常运行

静态编译后的程序,可在 QEMU 中正常运行,成功打印:

Hello RuyiSDK

五、整体使用总结

1. WSL2 使用 RuyiSDK 前,一定要先处理 DNS 自动重置问题,否则容易解析失败、下载超时;
2. 切换国内中科院镜像源,安装速度快、稳定性高,适合国内网络环境;
3. 首次启动建议关闭遥测数据上传,保护本地使用隐私;
4. 在 WSL 环境下编译 RISC-V 程序,新手优先用静态编译,避免缺少动态链接库导致运行报错;
5. 整体安装流程清晰,解决网络 DNS 后,后续工具链安装、程序编译运行都很顺畅。

2 个赞

感谢总结经验~网络问题一直是随处可见的坑:joy: