RuyiSDK 双周进展汇报 第 049 期已发布

RuyiSDK 双周进展汇报 第 049 期·2025 年 07 月 22 日

卷首语

近期,RISC-V 生态发展迎来了一系列重要活动——“RISC-V 中国峰会”、"RISC-V校园行·香港城市大学站"等活动相继举办。团队小伙伴积极参与其中,不仅展示了我们的成果,也与行业同仁进行了深入交流,共同探讨技术发展趋势。由于这段时间的精力部分投入在这些行业活动中,本期更新内容相对精简,还请大家理解。后续我们将持续带来更多精彩内容,敬请关注!

我们特别欣喜地发现,RuyiSDK 论坛 正变得越来越活跃,我们也收到了一些开发者在这里分享使用心得、提出宝贵建议。大家的每一条反馈我们都在认真对待,并已着手进行针对性优化——正是这些真诚的声音推动着我们不断进步,在此向所有支持者致以衷心感谢!也欢迎更多小伙伴加入,一起打造更好的 RuyiSDK。

如果您在使用过程中遇到任何问题,还可以通过以下方式获得支持:

根据当前规划,下一个开发版本将于 8月12日 发布,我们将持续优化功能体验,为大家带来更多惊喜。期待与您共同见证 RuyiSDK 的成长!

包管理器

RuyiSDK 0.38 对应的包管理器版本也为 0.38.0,已于今日发布。您可移步
GitHub ReleasesISCAS 镜像源下载体验。

本次 RuyiSDK 包管理器的更新主要包含了以下内容:

  • 为 RuyiSDK 设备安装器新增了 ruyi device flash 这一别名,以便理解记忆。感谢 RuyiSDK 社区论坛的 @Sequel 同学反馈!
  • ruyi 需要调用某些外部命令但无法找到时,如果当前终端可以交互,会等待您安装以便重试了。您可以在另一个终端下安装所需命令,再回到 ruyi 所在终端按回车键继续。您也可以按 Ctrl+C 退出。感谢 RuyiSDK 社区论坛的 @Sequel 同学反馈!

本次 RuyiSDK 软件源的更新主要包含了以下内容:

  • 完善了设备支持:
    • 新增了 Sipeed LicheePi 4A 的 RevyOS 的历史版本。感谢 @Cyl18 的贡献!
    • 新增了 Milk-V Duo 的 Arduino 的 1.1.2 与 1.1.4 两个版本。感谢 @Cyl18 的贡献!

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与
RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

IDE

RuyiSDK IDE 进展:

  • 新增了自定义统一日志和Console管理功能:
    • 统一日志管理:集成控制台输出、文件日志和Eclipse日志系统
    • 多级日志输出:支持DEBUG/INFO/WARN/ERROR分级输出
    • 日志存储:日志文件存储路径兼容XDG规范,默认存储于标准目录(~/.local/state/ruyisdkide/logs)
  • 代码规范化管理:对代码格式进行规范化调整,进行中

GCC

  • 支持了P扩展 v015 版本与B扩展、K扩展的重复部分指令编码,添加了相关测试用例,已同步至RUYISDK仓库与社区
  • 初步完成了P扩展 v015 版本的 intrinsic 草案,正在进行GCC开发支持
  • Rebase了P扩展 v0911 版本的GCC支持到 GCC15

V8

操作系统支持矩阵

1 个赞

兴冲冲的测试了一下,看起来逻辑上是清晰了,但是我没法继续测试了。我找不到foobar是个什么commad,谷歌搜出来是个什么音乐播放器,ruyi还能放音乐吗?还是什么类似于foo的占位符?不知道发版前到底有没有人测试呢。

2 个赞

0.38.1 版本应该已经修复了该问题,感谢您的反馈与支持!

2 个赞

tab

自动补全功能使用说明:

  1. ruyi 自动补全初期支持 Bash 与 Zsh 两种 shells。首先请在您的 shell profile(如 .bashrc.zshrc)的合适位置引入 ruyi 的自动补全脚本:

    # zsh 用户请将 bash 字样替换为 zsh 
    eval "$(ruyi --output-completion-script=bash)"
    
  2. 在ruyi 或其子命令后,使用 Tab 进行补全

2 个赞

请教个问题:更新0.38.1后,你们是否忘了同步github和中国科学院镜像的信息?
我是ruyi包管理器新手,我更新完0.38.1后运行:ruyi update ,屏幕显示的新闻有36条。之后,我运行切换仓库: ruyi config set repo.remote https://mirror.iscas.ac.cn/git/ruyisdk/packages-index.git ; 继续ruyi update, 显示的新闻只有35条,缺少0.38更新新闻。我使用ruyi news list , 显示的新闻也是只有35条。
如果的确是没同步,勿须感谢,我应该感谢你们的工作。如果是我弄错了,请告知,请体谅我是个新手。 :slightly_smiling_face:

4 个赞

您好,此问题现已修复,并感谢您暴露出了 ruyi 在使用非默认路径软件源时总会暴力替换相应分支 remote URL 的问题,该问题将在 ruyi 0.39.0 修复。

问题细节

由于权限原因,同步两个软件源 Git 仓库的脚本运行在我的测试机器上,复用了我的 packages-index 仓库的工作目录。当我需要向主线推送时,需要向 ruyisdk/packages-index 推送,但当我进行测试以便发起 PR 时,需要向我的 fork 推送。由于很久之前某次测试时我将 ruyi 配置为使用该仓库作为主仓库了:

[repo]
local = "/path/to/my/dev/workspace/packages-index"
remote = "https://github.com/xen0n/packages-index.git"
branch = "main"

目前 ruyi 会在每次 ruyi update 时,直接覆盖该 branch 的 remote 为此处设定的 URL,因此我上次做 ruyi update 之后,自动化脚本就只会将我的 fork 同步到 ISCAS 镜像源了,造成问题。

解决方法是在配置了 repo.local 选项时,如果检测到分支状态不一致,报错,让用户自行处理——如果用户懂得修改这些配置了,那么就可以假定该用户一定能自行管理 Git 仓库。

3 个赞

谢谢,我很高兴能解决问题。我等0.39吧,我很懒的。 :blush:


2 个赞