Zum Hauptinhalt springen

Zweiwöchentlicher RuyiSDK-Bericht

Erhalten Sie alle zwei Wochen die neuesten Entwicklungsupdates

第 033 期·2024 年 11 月 19 日

· 5 Minuten Lesezeit
xijing21
RuyiSDK 项目经理

卷首语

RuyiSDK包管理器 V0.22 版本已于今日发布。包管理器近期主要针对 Linux发行版的兼容性支持进行了核心依赖的调研和调整,以满足 Debian、RevyOS、RuyiOS(开展中)、Ubuntu、Fedora、deepin、Arch Linux等发行版的兼容性需求。并新增了 RuyiSDK 的平台支持文档 告知用户RuyiSDK的兼容性支持计划。

此外支持矩阵和 SDK验证都重点针对 Milkv Duo 进行测试和更新;Eclipse插件目前通过公开学习日志等方式希望更多人能够了解并加入到Eclipse插件开发,欢迎有兴趣的开发者们加入。

RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.23 版本将在 12 月 3 日发布。

包管理器

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

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

  • 新增了 RuyiSDK 的平台支持文档,基于此完善了 RuyiSDK 包管理器的平台兼容性:
    • 将 Python 版本的最低要求降至 3.10,以与 Ubuntu 22.04 LTS 系统默认 Python 版本保持兼容。
    • 降低了各种 Python 依赖关系的版本要求,以支持与 Ubuntu 22.04 LTS 系统提供软件包配合工作。
    • 按照 Python 打包标准,新增声明 ruyi 入口点,以便发行版打包机制自动识别、处理。

**注意:**我们将于 RuyiSDK 0.23 版本增加 RuyiSDK 遥测数据的上传功能,并可能在 CI 环境将其默认开启。届时,您可自行决定是否主动上传这部分匿名统计信息,以便 RuyiSDK 团队改进产品;您也可以选择删除先前的遥测数据,以及是否禁用遥测。您可用 ruyi self clean --telemetry 删除所有的遥测信息,包括设备信息。详情请见 RuyiSDK 0.19 的发布说明:《RuyiSDK 双周进展汇报 第 030 期·2024年09月30日》

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

IDE

"探路 Eclipse RISC-V 插件开发”系列学习日志已将前期学习总结梳理后通过 eclipse-myplugins 公开分享,配套的视频后续也可访问 B站 ,欢迎更多的人加入到 Eclipse RISC-V 插件的学习和开发。

GCC

添加了TARGET_CLONE特性的支持,目前已合入gcc上游,继续添加P扩展的草案支持,开始进行svvptc扩展的工具链支持工作

V8

  1. 适配上游 硬编码实现JumpTableAssembler的 jit 功能。
  2. 在 v8 模拟器中实现 js 堆栈切换。
  3. 适配turboshaf中word32cmpare的指令选择并修复 turboshaf相关的错误。

操作系统支持矩阵

丁丑小队本周完成了对 LPi4A & Pioneer Box Firefox 的可用性观测,以及 Milk-V Duo 系列的 RT-Thread / Smart 测试,计划后续一同加入支持矩阵中。

测试报告现已公开。

SDK

完成 Milkv Duo 官方SDK 的验证及缺陷总结,为后续SDK优化做准备。

第 032 期·2024 年 11 月 05 日

· 8 Minuten Lesezeit
xijing21
RuyiSDK 项目经理

卷首语

RuyiSDK包管理器 V0.21 版本已于今日发布。包管理器近期主要修复了一些测试出的缺陷,并增加兼容性支持和一些小功能的实现,进一步完善了包管理器工具;

Milkv Duo SDK建设计划已经完成第一阶段的验证和缺陷整理,后续可以有针对性的进行SDK的优化了。

《从零开始开发VSCode插件与Ruyi IDE插件》 第3课已经上线B站。Eclipse 插件开发当前成功的搭建并解决了依赖项的问题,eclipse-embed-cdt/eclipse-plugins下的所有插件已经可以在Eclipse IDE中以插件工程方式成功运行和调试,后续可以基于现有的嵌入式插件学习并开展相关开发工作了。

操作系统支持矩阵本期有大量更新,包括了测试报告元数据、首页表格 CI、issue 模板、测试报告更新等。

RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.22 版本将在 11 月 19 日发布。

包管理器

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

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

  • 将 RuyiSDK 软件源打包辅助命令 ruyi admin manifest 重命名为 ruyi admin checksum 了。如果您在为 RuyiSDK 打包,您可能需要更新您的脚本。
  • ruyi self clean 支持删除新闻(ruyi news)的阅读状态了:ruyi self clean --news-read-status
  • ruyi self clean 也支持一次性删除 ruyi 产生的所有可变状态文件了:ruyi self clean --all
  • 修复了 ruyi 测试用例与 Python 3.11 的兼容性。我们现在以 CI 形式确保 ruyi 能够在 Python 3.11、3.12、3.13 这三个版本通过测试,这将有助于保障后续 ruyi 在多种 Linux 发行版上的兼容性。
  • 新增声明了遗漏的 typing_extensions 依赖,以修复第三方打包。
  • 重构了 ruyi 子命令的声明与实现方式,后续扩展 ruyi 命令行功能更加方便了。

注意:我们可能在今后的一到两个版本期间,实装 RuyiSDK 遥测机制。届时,您可自行决定是否主动上传这部分匿名统计信息,以便 RuyiSDK 团队改进产品;您也可以选择删除先前的遥测数据,以及是否禁用遥测。您可用 ruyi self clean --telemetry 删除所有的遥测信息,包括设备信息。详情请见 RuyiSDK 0.19 的发布说明:《RuyiSDK 双周进展汇报 第 030 期·2024年09月30日》

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

IDE

从零开始开发VSCode插件与Ruyi IDE插件 第3课已经上线B站。视频可以在观看。欢迎点赞关注一键三连!

Eclipse 插件开发当前成功的搭建并解决了依赖项的问题,[eclipse-embed-cdt/eclipse-plugins](https://github.com/eclipse-embed-cdt/eclipse-plugins下的所有插件已经可以在Eclipse IDE中以插件工程方式成功运行和调试,后续可以开展相关开发工作了。

GCC

继续推进P扩展在binutils上的草案支持,尝试更新新32位在glibc上的支持工作

LLVM

本期暂无ruyisdk相关更新。

V8

  1. 修复和完善TurboShaft IR、Maglev JIT 的RISC-V架构相关部分。
  2. 继续移植LeapTiering特性。
  3. 实现wasm JSPI特性。

官网

RuyiSDK官网博客板块中新增文章:Eclipse 上游初步支持 RISC-V,每日构建镜像已经可以下载试用

操作系统支持矩阵

本期支持矩阵有大量更新,包括:测试报告元数据、首页表格 CI、issue 模板、测试报告更新等等。

  • CI Table gen PR #49
  • VisionFive2/Ubuntu Ubuntu 24.10 & Ubuntu 24.04.1 LTS PR #50
  • VisionFive2/Openkylin Openkylin 2.0,VisionFive2/Alpine PR #51
  • PIC64GX/Ubuntu Ubuntu 24.10 PR #52
  • CI Push Error fix PR #53
  • BPI-F3 Bianbu v2.0:PR #54
  • NeZha-D1s/Ubuntu: update test report for Ubuntu 24.10 and Ubuntu 24.04.1 LTS PR #55
  • Metadata: Refactor and add sys variant PR #56
  • VisionFive/Alpine: add test report, VisionFive2/Alpine: fix typo PR #57
  • Icicle/Ubuntu: update test report for Ubuntu 24.10 and Ubuntu 24.04.1 LTS:PR #58
  • Mars/Ubuntu: update test report for Ubuntu 24.10 and Ubuntu 24.04.1 LTS:PR #59
  • Unmatched/Ubuntu: update test report for Ubuntu 24.10 and Ubuntu 24.04.1 LTS:PR #60
  • D1_LicheeRV/Ubuntu: update test report for Ubuntu 24.10 and Ubuntu 24.04.1 LTS:PR #61
  • LPi4a: Update RevyOS to 20240720:PR #62
  • LPi4a/openKylin: Update to 2.0:PR #63
  • CI: Modify table to pages:PR #64
  • README: Remove all svgs and use pages from ci:PR #65
  • VisionFive2/Archlinux: update archlinux to cwt23:PR #66
  • VisionFive2/DietPi: add test report:PR #67
  • VisionFive2/openSUSE: update openSUSE test report:PR #68
  • PIC64GX/Ubuntu: fix typo:PR #69
  • duo: Add uniproton basic support:PR #70
  • README: Add desc for tools:PR #71
  • CI: Tables gen CI redesign:PR #72
  • Template: Add new templates:PR #74
  • CI: Add debug mode and pr target:PR #76
  • Metadata: fix and tweaks:PR #89
  • BPI-F3: Added Fedora test report:PR #90
  • duo256m/openeuler: Add openEuler support for duo256:PR #91
  • BPI-F3: Added OpenWrt test report:PR #93
  • Metadata: sync metadata and test report:PR #94
  • LPi4a/deepin: Update to 20240815 PR #95
  • Metadata: Add multi-language support PR #96
  • Duo/BuildRoot: Update to v1.1.3 PR #98

SDK

完成 Milkv Duo 官方SDK 的验证及缺陷总结,为后续SDK优化做准备。

第 031 期·2024 年 10 月 22 日

· 6 Minuten Lesezeit
xijing21
RuyiSDK 项目经理

卷首语

RuyiSDK V0.20 版本已于今日发布。为了简化打包和供应链安全的考虑,包管理器工具移除了插件机制的 Starlark 沙箱,同时完善了遥测功能,增加了禁用遥测选项、清除本地已收集的信息等功能;并修复了一些已知bug。

LLVM新增了rv64ilp32 ABI的支持,目前可以成功编译 rv64ilp32 Linux kernel(bf63582b08)并进入用户态了,这项成果已在玄铁团队的宣传材料中得到展示。LLVM 对 XTHeadVector 拓展的支持正在逐渐 rebase 到 LLVM 19.1.1 上,目前已经完成了大部分的 rebase 工作,进入测试阶段。

操作系统支持矩阵部分新增和更新了数十项信息,并且建设CI生成SVG格式的统计表格,使得展示和浏览效果更佳。并为所有测试报告都添加了元数据,方便后续与 packages-index 同步更新。

《从零开始开发VSCode插件与Ruyi IDE插件》 第2课已经上线B站。

RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.21 版本将在 11 月 5 日发布。

包管理器

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

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

  • ruyi self uninstall --purge 不会遗留遥测数据了。
  • 修复了 ruyi admin 子命令无法被调用的问题。
  • 修复了 Ruyi 虚拟环境中,向无 target tuple 前缀的命令(如一系列 LLVM 工具)的转发。
  • 应 RuyiSDK 项目需求方要求,移除了插件机制的 Starlark 沙箱。这有助于简化打包与降低开发门槛:按照 RuyiSDK 当前的威胁模型(threat model),沙箱机制不会带来额外的安全性。

注意:由于 Starlark 与 Python 存在细微的语义差异,在升级到 ruyi 0.20.0 之后,您必须将软件源 ruyi update 到最新,才能继续使用 ruyi 的部分功能(如 ruyi venv 等)。除此之外,我们预计插件机制的技术细节变更不会对实际使用造成影响。

注意:我们可能在今后的一到两个版本期间,实装 RuyiSDK 遥测机制。届时,您可自行决定是否主动上传这部分匿名统计信息,以便 RuyiSDK 团队改进产品;您也可以选择删除先前的遥测数据,以及是否禁用遥测。您可用 ruyi self clean --telemetry 删除所有的遥测信息,包括设备信息。详情请见 RuyiSDK 0.19 的发布说明:《RuyiSDK 双周进展汇报 第 030 期·2024年09月30日》

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

IDE

从零开始开发VSCode插件与Ruyi IDE插件 第2课已经上线B站。视频可以在观看。欢迎点赞关注一键三连!

GCC

支持了ssqosid扩展,正在添加P扩展的新草案支持中(p-dev分支),提交了target_clone功能的patch支持

LLVM

  • 支持 rv64ilp32 ABI,目前可以成功编译 rv64ilp32 Linux kernel(bf63582b08)并进入用户态了(需要使用 rv64ilp32 分支下的代码),还有部分小问题正在修复中
  • XTHeadVector 拓展正在逐渐 rebase 到 LLVM 19.1.1 上,目前已经完成了大部分的 rebase 工作,正在进行测试

V8

  1. 修复若干Maglev相关的CI bug。
  2. 继续完善leaptiering特性。

官网

本期暂无更新。

操作系统支持矩阵

新增:

  • VisionFive 2 / NetBSD
  • Duo 256M / Alpine, Arch Linux
  • Mango MQ Pro / NetBSD
  • Duo S / Arch Linux
  • Huashan Pi / buildroot
  • Milk-V Jupiter / Bianbu 1.0
  • CI 生成首页表格 SVG

更新:

  • VisionFive 2 / Ubuntu: 24.04 LTS -> 24.04.1 LTS, 24.10
  • BPI-F3: typo fix
  • VisionFive 2 / openKylin: 2.0
  • PIC64GX / Ubuntu: 24.10

此外,我们为所有测试报告都添加了元数据,方便后续与 packages-index 同步更新。

第 030 期·2024 年 09 月 30 日

· 10 Minuten Lesezeit
xijing21
RuyiSDK 项目经理

卷首语

RuyiSDK V0.19 版本已于今日发布。包管理器工具为 ruyi venv 新增了多工具链支持,目前可以为一个虚拟环境配置多个 target tuple 互不相同的工具链包,满足sdk构建时多工具链的需求。同时,RuyiSDK 开始了基础的遥测功能采集用户数据,目前完成了基础数据的采集(当前存储在用户本地),后续上传功能会在用户隐私协议、后端服务器就绪后正式启用。收集的 ruyi 安装信息、ruyi install 执行信息将帮助我们了解 RuyiSDK 的装机情况、编译器等工具的安装情况等。

此外,ruyi 工具基于主流的Linux发行版的打包工作基本完成,已经基于Debian、Ubuntu、Fedora、openEuler、Arch Linux等多个Linux发行版的流行版本完成了 ruyi v0.18 的打包,目前初步开放供用户尝鲜。

Eclipse 上游初步支持 RISC-V每日构建镜像已经可以下载试用。 Visual Studio Code IDE插件也正式开启开发,并输出视频教程以吸引更多开发者参与,第一课将于十月一日零点推送,欢迎关注

RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.20 版本将在 10 月 22 日发布。

包管理器

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

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

  • 修复了当环境 locale 配置在本机上无效时,ruyi news list 在官方软件源上崩溃的问题。这也是 RuyiSDK 包管理器的首个来自外部贡献者的贡献。感谢 RekiDunois
  • 为打包工作者新增了 ruyi admin format-manifest 命令,用来自动格式化软件包描述文件,确保符合标准格式。
  • ruyi venv 新增了多工具链支持:可以为一个虚拟环境配置多个 target tuple 互不相同的工具链包了。
  • 新增了 ruyi self clean 命令,用来清理 Ruyi 产生的各种数据,释放存储空间。
  • 对于发行版直接再次分发 RuyiSDK 官方编译 ruyi 二进制的情况,为发行版打包工作者提供了手段来阻止用户不慎 ruyi self uninstall
  • 基础的遥测功能,目前不支持数据上传。详见“遥测”一节。

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

遥测

为帮助 RuyiSDK 团队更好了解用户使用习惯以改进体验,我们为 RuyiSDK 包管理器增加了基础的遥测功能。有以下 3 种遥测模式:

  • local: 仅收集数据,不主动上报。这是默认模式。
  • on: 收集数据并周期性上报。目前未实现。
  • off: 完全禁用遥测。

目前我们将收集以下的数据:

  • 首次运行 ruyi 时,将一次性收集少量设备信息。
    • 仅从系统随机数生成唯一的安装 ID,与任何系统配置、本地数据均无关;
    • 当前运行环境是否为几种知名 CI 服务之一,如 GitHub Actions、GitLab CI、Travis CI 等;
    • 操作系统内核种类与处理器架构;
    • C 运行库种类与版本(形如 glibc 2.40);
    • Linux 发行版代号与版本;
    • 如处理器架构为 RISC-V,还将收集由设备树指定的系统型号与 /proc/cpuinfo 所暴露的 CPU 核数、微架构、ISA 字符串等 RISC-V 特定信息。
  • 每次运行 ruyi,将记录调用的命令种类,不含参数。
  • 每次运行 Ruyi 虚拟环境中的工具链代理,将记录被调用的命令名。

如果您不希望参与遥测,请在运行新版 ruyi 之前做以下两种操作之一即可。要么确保环境变量中存在 RUYI_TELEMETRY_OPTOUT=1(请注意:不是 OUTPUT),要么在配置文件 ~/.config/ruyi/config.toml 加入以下内容:

[telemetry]
mode = "off"

在 RuyiSDK 完全支持遥测数据上传之前的一个版本,我们将会告知您此事,您可自行决定是否删除先前的遥测数据,以及是否禁用遥测。您可用 ruyi self clean --telemetry 删除所有的遥测信息,包括设备信息。

Linux 发行版打包

一直以来,RuyiSDK 包管理器都是在 GitHub Release 或 ISCAS 镜像源渠道分发二进制。用户需要自行下载、调整文件权限、重命名、安排进 $PATH 才能使用,些许不便,且打包后的二进制每次使用都要校验解压文件完整性,性能欠佳。为此,RuyiSDK 团队计划为主流 Linux 发行版打包 ruyi。目前,已经为如下的发行版完成了 ruyi v0.18.0 的实验性打包:

  • Debian 13 ("trixie")
  • Fedora 39, 40, 41
  • openEuler 24.03
  • Ubuntu 22.04 ("jammy"), 24.04 ("noble")

其中除 Fedora 39、Fedora 41 未有 riscv64 架构包之外,均提供三种官方支持架构即 amd64arm64riscv64 的二进制包。

目前,您可根据实际情况找到适合您的安装方式与尝鲜软件源:

后续我们将会在 RuyiSDK 新版本发布时同步完成二进制软件包的打包,并为各大主流发行版搭建正式的第三方软件源,敬请期待。

IDE

Visual Studio Code IDE插件正式开启开发,并输出视频教程。第一课将于十月一日零点准时推送!为国庆献礼~ 视频可以在观看。欢迎点赞关注一键三连!

Eclipse 上游初步支持 RISC-V,每日构建镜像已经可以下载试用:https://riscv.org/blog-chinese/2024/09/eclipse-riscv64-support-upstreamed/ RevyOS 小队的工程师联合其他开源社区开发者,成功为 Eclipse 上游代码仓库引入了对 riscv64 架构的初步支持。期间创建了二十余个 Issue/PR,涵盖了包括 SWT、Equinox 在内的关键组件。目前,Eclipse 已支持在 riscv64 平台上基于 OpenJDK 开发 Java 项目。

GCC

添加了Smrnmi扩展的支持,将riscv-gnu-toolchain仓库中的GCC版本同步更新至14.2,更新了allowlist中的测试列表

LLVM

本期暂无进展。

V8

  1. 合入Maglev JIT,正式在RISCV64架构上支持Tier-2的优化编译器。
  2. 实施了若干分支优化,包括将jalr优化到jal,zicond优化,jump to table优化,call address优化。
  3. 开始支持wasm deopt特性。

官网

为了了解 RuyiSDK 的安装和使用情况,提出了用户数据收集的需求,目前已经在 ruyi 工具中完成了初步的数据收集。

操作系统支持矩阵

我们对支持矩阵日渐膨胀的主文档进行了一定的重写,按照 Linux 发行版、RTOS、BSD 和其他类型进行了分类,并且新增&修改了一些测试报告。

第 029 期·2024 年 09 月 14 日

· 6 Minuten Lesezeit
xijing21
RuyiSDK 项目经理

卷首语

RuyiSDK V0.18 版本已于今日发布。本期 RuyiSDK 重点针对 Milk-V Duo 开发板进行支持,调研并集成了演示示例 milkv-duo-examples,并集成了由 Milk-V 提供的、在 x86_64 平台上交叉编译 milkv-duo-examples 所需的自定义工具链,提供了一套 Milk-V Duo 的配套开发资源。同时软件源对 WPS Office、RV64ILP32 裸机工具链等软件进行了升级维护。

操作系统支持矩阵项目新增了 Microchip PIC64GX Curiosity Kit 开发板的调研,但是我们没有开发板所以还未能完成相关测试验证,我们欢迎有该开发板的热心朋友参与进来协助完成验证。 同时,支持矩阵项目通过一段时间的自动化工具研发,已经产生了第一个使用自动化工具完成的测试报告。

RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.19 版本将在 9 月 30 日发布。

包管理器

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

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

  • 进一步完善了 issue #181 的修复:先前虽然修复了代码块的折行缺字问题,但不经意间也让长度超过一行的 Markdown 列表项、块状引用等内容被截断了。
  • 完成了 issue #193: 为方便发行版的打包工作,移除了对 python-frontmatter 这一第三方库的依赖。

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

  • 更新了 WPS Office 到上游最新版本。
  • 更新了 RV64ILP32 裸机工具链 toolchain/gnu-plct-rv64ilp32-elf 到当前最新版本。
  • 更新了 Milk-V Duo 的支持:
    • 新增打包了 Milk-V Duo 官方实例代码库 source/milkv-duo-examples。您可在一个新的目录下,用 ruyi extract 命令解压它。
    • 新增打包了 Milk-V 官方提供的 Milk-V Duo 宿主工具链如下。请注意:它们是 RuyiSDK 受权对上游 https://github.com/milkv-duo/host-tools 仓库进行的重新打包;且上游仅提供了 x86_64 架构的二进制。
      • toolchain/gnu-milkv-milkv-duo-bin:适用于 Linux glibc 环境。
      • toolchain/gnu-milkv-milkv-duo-elf-bin:适用于裸机环境。
      • toolchain/gnu-milkv-milkv-duo-musl-bin:适用于 Linux musl 环境。
    • 更新了 Milk-V Duo 官方系统镜像包到上游最新版本。RuyiSDK 受权对这些镜像进行了重新打包,以便后续所有通过 RuyiSDK 渠道分发的系统镜像都能以 ruyisdk 用户名与密码登录,方便您的评估。

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

IDE

开始启动 RuyiSDK VSCode IDE 插件开发和 RuyiSDK Eclispe IDE 开发。计划在开发的同时输出短视频吸引新人加入。

GCC

更新了Zcmt的实现,修复了gcc14.2回归测试中发现的一些问题,正在进行Smrnmi扩展的支持中。

LLVM

本期暂无进展。

V8

  1. 在 RISC-V 平台适配 leaptier 特性,提高 JIT 编译器 tier-up 和 tier-down 的安全性和性能。

  2. 对 jalr 进行优化:

    (1)将编译时跳转偏移可以满足 jal 立即数域编码要求的 jalr 指令,替换为 jal 指令。

    (2)对必须进行寄存器间接地址+编译时额外跳转偏移的情况,将能够满足 jalr 立即数编码域条件的跳转编译编码至jalr 指令,不再适用额外指令进行跳转目标寄存器的计算。

  3. 使用 zicond 指令集扩展对 codegen 进行优化。

官网

梳理了用户数据收集需求,计划在用户允许的情况下通过数据收集的方式了解 ruyi 包管理器的安装和使用情况,协助我们提升和改进产品。

操作系统支持矩阵

第 028 期·2024 年 09 月 03 日

· 5 Minuten Lesezeit
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理(已离职)

卷首语

RuyiSDK V0.17 版本已于今日发布。RuyiSDK 包管理器修复了一些已知的缺陷,RuyiSDK 软件源更新了 Box64 和 WPS Office;RuyiSDK 官网也新增 algolia search,现在可以搜索网站上的任何内容了。

此外,RuyiSDK 在第四届 RISC-V 中国峰会(RISC-V Summit China 2024)上,进行了包括 RuyiSDK 介绍、Ruyi 包管理器的自动化测试、RISC-V 操作系统支持矩阵 等报告;RuyiSDK 还亮相 elexcon 2024深圳国际电子展,展示了近期的工作成果。

RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.18 版本将在 9 月 14 日发布。

包管理器

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

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

  • 修复了 issue #181: 现在在宽度较短的终端窗口中使用 ruyi news read 等功能时,Markdown 代码块中的长行不会缺字了,行首、行尾也不再存在影响复制粘贴的空格。代价是覆盖整行宽度的漂亮的背景色无法实现了。

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

  • 更新了 Box64 到上游最新开发版本。
  • 更新了 WPS Office 到上游最新版本。请注意:上游移除了 AArch64 架构的原生支持。这部分用户也将需要依赖二进制翻译方案来运行 WPS Office 了。
  • 明确了软件源内容的开源许可证:Apache 2.0 许可证,与 Ruyi 包管理器本体一致。

此外,我们已经着手设计、实现 ruyi 包管理器分发渠道与 RuyiSDK 软件源的服务端组件。未来,这将使得 RuyiSDK 能够更加频繁地、自动化地更新软件源中的包;也能在取得用户明确授权的前提下,使 RuyiSDK 用户与测试人员能够向 RuyiSDK 团队反馈一定的使用信息,有助于未来的设计与维护工作。

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

IDE

本期暂无进展。

GCC

  • 支持了Zimop扩展
  • 修复了部分回归测试中发现的错误

LLVM

  • 支持了对 tuple type 的 vget/vset/vcreate 操作。
  • 修复在指定 XTHeadVector 拓展时,编译器未定义 __riscv_vector 的问题,现在编译器行为与 GCC 一致。

V8

  1. 提交patch,使V8 for Android RISCV64在 NDK r27 版本获得标准构建支持(无需在手工配置NDK toolchain)。
  2. 继续实现TurboShaft SIMD IR 到RVV的指令选择。
  3. 移植central stack switches特性。

官网

截止今日9月3日,RuyiSDK 网站访问人数986人,新增152人,访问页面7622次,新增2755次。RuyiSDK 微信交流群132人,新增49人。

官网新增 algolia search,现在可以搜索网站上的任何内容啦!

RuyiSDK 亮相 elexcon 2024深圳国际电子展

操作系统支持矩阵

  • 修正了部分 typo 和 i18n / 英文翻译。
  • lintestor 应用软件可用性测试项目继续更新中
    • 重写了测试调度相关的代码
    • 添加了全局前置环境配置
    • 改进了测试结果报告
    • 新增了更多软件包的测试用例

第 027 期·2024 年 08 月 13 日

· 5 Minuten Lesezeit
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理(已离职)

卷首语

RuyiSDK V0.16 版本已于今日发布。包管理器完成了设备安装器(ruyi device provision)的插件化改造,后续升级程序将更加方便。此外,RuyiSDK 完善了Canaan Kendryte K230D 开发板的支持,对 K230D SDK 源码进行了更新和完善,同时建立了SDK自动构建CI,并联合玄铁团队和嘉楠科技进行了标题为“嘉楠勘智 K230D: 首款基于新 32 位 RuyiSDK 的 AIoT 量产芯片”的宣发,展示了基于 K230D RuyiSDK 源码的性能对比结果和其它合作成果。

操作系统支持矩阵持续更新中,同时开始启动操作系统中语言运行时环境、语言虚拟机等运行支持软件在不同Linux发行版中的支持情况(应用软件支持矩阵),如系统包管理器是否提供安装,以及软件版本信息。目前已经完成了 Debian 的部分测试用例。

RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.17 版本将在 9 月 3 日发布。此外RuyiSDK报名了2024年8月27日-29日在深圳会展中心举办的深圳国际电子展,欢迎关注。

包管理器

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

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

  • 完成了设备安装器(ruyi device provision)的插件化改造。今后对不常见刷写步骤的支持将更加方便了:不一定需要更新 ruyi 本体了。

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

IDE

本期暂无进展。

GCC

RUYISDK-GNU-Toolchain发布了基于GCC14.2与Binutils2.43的linux工具链,修复了回归测试中发现的一些问题。

LLVM

本期暂无进展。

V8

审核新一代基线编译器maglev的riscv支持框架。

官网

截止今日 8 月 13 日,订阅人数一共 40 人(增加 2 人)。RuyiSDK 网站访问人数 834 人(增加 266 人),访问页面 4907 次(增加 2197 次)。RuyiSDK 微信交流群 83 人。

嘉楠勘智 K230D: 首款基于新 32 位 RuyiSDK 的 AIoT 量产芯片,详情阅读官网博客 https://ruyisdk.org/blog/2024/07/30/k230d/

操作系统支持矩阵

本期更新:

  • Milk-V Duo S / NuttX RTOS: 同步最新主线版本
  • Milk-V Pioneer : 新增 Deepin RISC-V
  • StarFive VisionFive 2: 重测了 Deepin RISC-V CI build,已确认可用
  • 主表格:同步 Deepin 测试结果

自动化测试/应用软件支持矩阵准备:lintestor

  • 目前已完成了 Debian 的部分测试用例,结果见此处

第 026 期·2024 年 07 月 23 日

· 6 Minuten Lesezeit
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理(已离职)

卷首语

RuyiSDK V0.15 版本已于今日发布。 这个版本,包管理器为多语言支持进行了准备,完成了用户系统区域、语言配置与包管理器语言版本的匹配;同时包管理器支持了不依赖 Docker 的构建方式,为 Linux 发行版打包 ruyi 和将 ruyi 集成到 Linux 发行版提供了更多样的构建方式。RuyiSDK 软件源随着 Box64 上游版本的更新,将Box64 版本更新到 0.3.0 版本,并完善了对 WPS 的支持和文档

此外,RuyiSDK 初步集成了 Canaan Kendryte K230D 开发板,由 RuyiSDK 受权打包的 CanMV Linux SDK 镜像,附带演示程序(提供 LP64 与 RV64ILP32 两种 ABI),不过相关资源依然在更新和完善,RuyiSDK 也将及时更新集成的 SDK 资源。

RuyiSDK 更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议。

因 8 月亚洲多地(日本、中国)RISC-V 活动或峰会的开展,RuyiSDK 的部分小伙伴也有积极参与,因此近期的版本发布时间将有所调整,下一个开发版本 RuyiSDK V0.16 版本将在 8 月 13 日发布(RuyiSDK V0.17 版本将在 9 月 3 日发布)。

这里附上 RISC-V 近期一些会议链接,欢迎关注:

包管理器

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

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

  • 为多语言支持做好准备:在需要输出本地化内容,如软件包的手工下载步骤说明等内容时,当用户系统的区域、语言配置与当前内容的可选区域、语言版本不完全匹配时,现在会尽可能地匹配了。

    例如:如果您将系统配置为新加坡英语,而某条内容仅提供美国英语与中国大陆中文两种版本,那么 ruyi 0.15.0 将为您展示美国英语内容,而非崩溃。

  • 支持了不依赖 Docker 的构建方式,以方便发行版打包者,或不使用官方支持架构、系统组合的用户尝鲜 ruyi

    需要注意的是:因为目前 RuyiSDK 官方软件源的内容分发形式以二进制为主,所以想在非官方支持系统上使用 ruyi 的用户将需要组织起来,自行搭建另一套软件源。RuyiSDK 团队无法保证此种情况下的用户体验。

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

  • 软件源的结构不再与 ruyi 0.7.0 或更低版本兼容。是时候升级到最新版本了。
  • emulator/box64-upstream 已更新到 0.3.0。
  • 用 Box64 运行 WPS Office 的操作文档已更新。
  • Ruyi 设备安装器现已新增支持以下设备型号与系统:
    • Canaan Kendryte K230D:由 RuyiSDK 受权打包的 CanMV Linux SDK 镜像,附带演示程序。提供 LP64 与 RV64ILP32 两种 ABI。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。

IDE

开发方面暂无进展;基于 Milkv Duo 开发板,调研并跑通了一些 Demo,作为集成的 SDK 的部分内容。

GCC

Gprofng 的 RISC-V 后端支持已被上游合并,将作为 binutils 2.43 的新特性 更新了 P 扩展的 binutils 支持,正在开发 P 扩展的 draft 草案支持中

LLVM

尝试使用该 LLVM 编译器,对 OpenCV 进行交叉编译,发现了如下缺失的 intrinsic,已经修复:

  • 支持 Clang 内建函数 vssra/vssrl
  • 支持 LLVM 内建函数 vssra/vssrl

官网

截止今日 7 月 23 日,订阅人数一共 38 人(增加 1 人)。RuyiSDK 网站访问人数 568 人(增加 62 人),访问页面 2710 次(增加 1286 次)。RuyiSDK 微信交流群 76 人。

Ruyi 包管理器下载量达 7009 次。Youtube 出现 RuyiSDK 俄语视频: Чё? Прошивать Milk-V Duo S за 2 минуты!

操作系统支持矩阵

本期更新:

  • Deepin RISC-V
    • StarFive VisionFive
    • StarFive VisionFive 2
    • Sipeed Lichee Pi 4A
  • openKylin RISC-V 2.0 RC
    • StarFive VisionFive 2
  • Bianbu
    • Milk-V Jupiter (CFT)
  • Debian
    • Milk-V Duo S 更新至最新版 v1.4.0
  • 一些小的 Typo Fix

内容请详见:ruyisdk/support-matrix

第 025 期·2024 年 07 月 09 日

· 6 Minuten Lesezeit
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理(已离职)

卷首语

RuyiSDK V0.14 版本已于今日发布。 在这个版本中,包管理器正式引入插件架构ruyi 虚拟环境的 profile 相关处理现在完全由插件负责了。此外 PLCT 完成了 Box64 的 RISC-V 架构适配,并将代码合入上游,RuyiSDK 软件源此次增加了 Box64 模拟器并初步实现了在 Box64 中打开 wps-linux-x86_64 writer。

RuyiSDK 更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议。下一个开发版本 RuyiSDK V0.15 版本将在 7 月 23 日发布。

包管理器

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

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

  • 正式引入插件架构:ruyi 虚拟环境的 profile 相关处理现在完全由插件负责了。
  • 支持了 Debian 软件包格式 *.deb 的解包操作。
  • 再次完善了对“预发布版本”的判断:先前会对非完全由数字结尾的该类版本号判断错误。 但该潜在问题不会被当前的 RuyiSDK 软件源内容触发。
  • 修复了 riscv64 Python 3.12 环境下 pygit2 的构建失败问题:先前需要在 pygit2 构建开始之后、试图在其虚拟环境中执行 setup.py 前,人工干预,在该环境中安装 setuptools——从 Python 3.12 起该包已经不会被自动安装。

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

  • 增加了从上游源码打包的 Box64 架构模拟器:emulator/box64-upstream
  • 增加了办公套件 extra/wps-office。请注意:由于是商业软件的缘故,首次运行该软件包时需要操作接受一份《最终用户许可协议》。
  • 您可按照 ruyi news 的指引,在您的 RISC-V 桌面设备上用 Box64 运行 WPS Office 进行办公了。

为了支持刷写方式复杂、需要夹杂人工干预、镜像文件需要手工下载等复杂情况下的设备初始化,我们正在将设备安装器重构为基于插件架构的形式。 由于本开发周期临时加入了 Box64 运行 WPS Office 的 PoC 内容,设备安装器的插件化重构工作暂缓,但仍将在未来的版本上线。届时旧版 ruyi 的设备安装器功能将不可用,请先升级再进行体验。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。

IDE

本期无进展。

GCC

  • 提交了 gprofng 的 patch,目前已通过 review 修改,正在等待合并。
  • 更新了 profiles 的支持。

LLVM

  • 新建 Tuning-SPEC-CPU 分支,用于 Spec CPU 较高性能的优化
  • 支持了使用 vgetvset 在不同 LMUL 的寄存器组上进行操作
  • 完善相关测试用例,增加更多真实世界的代码片段作为测试

V8

  1. 新增 RISCV32 的 Turboshaft 单元测试支持。
  2. 新增 RISC-V SV39 支持。

OpenJDK

  1. Proposed JDK-mainline PRs:
  1. Reviewed JDK-mainline PRs:

官网

RuyiSDK 社区参与的 MoonBit 第三次 Meetup 活动回顾来了!🎉

由 MoonBit 联合 RuyiSDK 和 Intel 举办的第三次 Meetup 活动圆满结束啦!本次活动嘉宾云集,涵盖了从云原生开发平台到 WebAssembly 模块化技术、编程语言垃圾回收技术的最新进展、RuyiSDK 包管理器以及 RevyOS 最新进展多个热点话题。

截止今日 7 月 8 日,订阅人数一共 37 人(增加 1 人)。RuyiSDK 网站访问人数 502 人(增加 103 人),访问页面 1424 次(增加 339 次)。RuyiSDK 微信交流群 70 人。

操作系统支持矩阵

  • Ubuntu 24.04 LTS
    • StarFive VisionFive 2
    • HiFive Unmatched
  • openEuler RISC-V 24.03 LTS
    • Sipeed Lichee Pi 4A
    • Milk-V Pioneer (v1.3)
  • 一些小的 typo 修复

内容请详见:ruyisdk/support-matrix

第 024 期·2024 年 06 月 24 日

· 6 Minuten Lesezeit
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理(已离职)

卷首语

RuyiSDK V0.13 版本已于今日发布。 在这个版本中,操作系统支持矩阵增加了开发板的 IP Core 信息,同时完成了英文版本的支持。RuyiSDK 包管理器修复并完善了一些缺陷,同时为引入插件架构做了准备,以达到后续更新不需要每次都必须下载最新版的 ruyi 工具。同时 ruyi 包管理器增加了新发布的 openEuler 24.03 LTS 系统的支持和测试

此外,RuyiSDK 还参加了两期活动:MoonBit Meetup 第三期2024 上海国际嵌入式展 ,在这两个活动中介绍了 RuyiSDK 包管理器。

RuyiSDK 更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议。下一个开发版本 RuyiSDK V0.14 版本将在 7 月 9 日发布。

包管理器

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

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

  • 修复了 issue #158: coremark 包的两个版本,解压后的目录布局不统一。现在都会在当前工作目录下“摊开”了。
  • 修复了 issue #159: 对“预发布版本”判断方式的不统一。
  • 随着 Python 3.12 的正式发布,官方 ruyi 二进制也在 Python 3.12 环境构建了。
  • 为引入插件架构做好准备:引入了 Starlark 语言支持,并支持在 CI 自动化构建。Starlark 是一种极度简化的 Python 方言,被 Bazel、BUCK 等构建系统广泛采用;这是为了让所有了解 Python 语言的开发者都可使用熟悉的语法撰写 RuyiSDK 包管理器插件。

为了支持刷写方式复杂、需要夹杂人工干预、镜像文件需要手工下载等复杂情况下的设备初始化,我们正在将设备安装器重构为基于插件架构的形式,预计将于下个版本付诸测试。届时旧版 ruyi 的设备安装器功能将不可用,请先升级再进行体验。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。

IDE

本期暂无进展。

GCC

  • 发布了新的 rv64ilp32 release 版本,修复了 gdb 在 rv64ilp32 调试时的问题。
  • 完成了 P 扩展在 GCC14 上的 Rebase 工作,已合入 RUYISDK GCC14 分支。
  • 添加了 Sm/scsrind 扩展的支持。
  • 正在添加 Ssccft/Smcdeleg 扩展的支持中。

LLVM

修复了如下问题:

  • 支持了 vlmul_truncvlmul_ext 等 bitcast 操作
  • 支持 vreinterpret 在向量布尔值和整数之间的转换
  • LLVM 对向量 Mask 操作支持使用 nvx1i1/nvx2i1/nvx4i1 类型的操作数
  • Clang 对向量 Mask 操作支持了 vbool16/32/64_t 类型的操作数
  • 修复了 RISCVInsertVSETVLI 中对 handleAVLImm 的处理
  • 修复了对 XTHeadVector 中支持的 VSETIVLI 指令的模拟的过程

V8

  1. 添加 RISC-V 平台的 TurboShaft SIMD IR 支持。
  2. 添加 CallApi 支持。

OpenJDK

  1. Proposed JDK-mainline PRs:
  1. Reviewed JDK-mainline PRs:

官网

以用户视角,调整并更新了部分使用文档。 截止今日 6 月 25 日,订阅人数一共 36 人(增加 3 人)。RuyiSDK 网站访问人数 399 人(增加 108 人),访问页面 1085 次(增加 237 次)。RuyiSDK 微信交流群 57 人(ruyisdk meetup 和 展会吸引)。

操作系统支持矩阵

操作系统支持矩阵本次更新:

  • Ubuntu
    • Nezha D1: 更新至 24.04 版本
    • Lichee RV D1: 更新至 24.04 版本
  • Arch Linux
    • D1h(新增)

以及最重要的:我们终于有 i18n / 英文翻译啦 🎉

共计 448 个文件修改,数十次 Review,这可能是支持矩阵创立以来最大的一次修改,在此感谢各位贡献者的参与~