Zweiwöchentlicher RuyiSDK-Bericht
Erhalten Sie alle zwei Wochen die neuesten Entwicklungsupdates
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 Releases 或 ISCAS 镜像源下载体验。
本次 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 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
从零开始开发VSCode插件与Ruyi IDE插件 第3课已经上线B站。视频可以在此观看。欢迎点赞关注一键三连!
Eclipse 插件开发当前成功的搭建并解决了依赖项的问题,[eclipse-embed-cdt/eclipse-plugins](https://github.com/eclipse-embed-cdt/eclipse-plugins下的所有插件已经可以在Eclipse IDE中以插件工程方式成功运行和调试,后续可以开展相关开发工作了。
继 续推进P扩展在binutils上的草案支持,尝试更新新32位在glibc上的支持工作
本期暂无ruyisdk相关更新。
- 修复和完善TurboShaft IR、Maglev JIT 的RISC-V架构相关部分。
- 继续移植LeapTiering特性。
- 实现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
完成 Milkv Duo 官方SDK 的验证及缺陷总结,为后续SDK优化做准备。
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 Releases 或 ISCAS 镜像源下载体验。
本次 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 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
从零开始开发VSCode插件与Ruyi IDE插件 第2课已经上线B站。视频可以在此观看。欢迎点赞关注一键三连!
支持了ssqosid扩展,正在添加P扩展的新草案支持中(p-dev分支),提交了target_clone功能的patch支持
- 支持 rv64ilp32 ABI,目前可以成功编译 rv64ilp32 Linux kernel(bf63582b08)并进入用户态了(需要使用 rv64ilp32 分支下的代码),还有部分小问题正在修复中
- XTHeadVector 拓展正在逐渐 rebase 到 LLVM 19.1.1 上,目前已经完成了大部分的 rebase 工作,正在进行测试
- 修复若干Maglev相关的CI bug。
- 继续完善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 同步更新。
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 Releases 或 ISCAS 镜像源下载体验。
本次 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
加入以下内容:
在 RuyiSDK 完全支持遥测数据上传之前的一个版本,我们将会告知您此事,您可自行决定是否删除先前的遥测数据,以及是否禁用遥测。您可用
ruyi self clean --telemetry
删除所有的遥测信息,包括设备信息。