近日,openGauss RISC-V SIG 成功将 openGauss6.0.0 版本适配在 RISC-V 架构!这一成果由中国科学院软件研究所的谭小凡@xfan1024和黄吉@XiaoXiaoXiaoJi共同完成。目前,该项目已经能在如意BOOK甲辰版(TH1520芯片)上启动运行 openGauss6.0.0 轻量版。
openGauss6.0.0 LTS 是社区最新发布的长期支持版本,版本生命周期为3年。本次发布包含两个数据库服务端安装版本:企业版、轻量版,用户可根据使用场景需要下载不同版本。这一适配成果对于 RISC-V SIG 完善 openGauss RISC-V 生态系统的能力意义重大,也为开发者们创造了新的合作与发展机遇。
欢迎大家访问相关源码和仓库:https://gitee.com/opengauss/riscv
如有任何疑问或建议,欢迎通过邮件与我们交流:riscv@opengauss.org
路径探索:详细的适配流程
基于openGauss5.1.0版本完成的 RISC-V 架构基础移植工作是由2023年第一届 RISC-V 软件移植及优化锦标赛(RVSPOC)开发者 @zhangfeiv0 和 @nexplorer-3e 完成的。
详情可查阅比赛的Github PR:https://github.com/rv2036/rvspoc-s2305-openGauss-server/pulls
完成对 openGauss6.0.0 的版本升级工作
openGauss-server 6.0.0 安装过程
开箱即用的服务与测试脚本
openGauss-server 6.0.0 测试流程
适配挑战与未来规划
一方面,binarylibs 需要在 riscv64 的系统上提前编译,还需要维护第三方库的 bug 补丁或者漏洞补丁,不方便维护和管理; 另一方面,binarylibs 整体打包压缩后的体积大约在800MB大小,无法直接提交到 gitee 上。
为解决这些问题,开发者将 binarylibs 的依赖尽可能的替换为系统依赖,尽量使用 openEuler 系统仓库已有的软件包,同时只使用目前 openGauss 轻量版所依赖的第三方库,大大减少了维护成本。
为了进一步提升 openGauss 在 RISC-V 架构上的应用价值和发展潜力,RISC-V SIG计划:
版本功能拓展:目前适配的 openGauss 版本是轻量级版本,如果社区有相关需求的话,会逐步引入全量级版本的高级分布式特性和存储优化等特性。
代码整合:将适配代码合入 openGauss-server 主仓库,以便社区及开发者更好地利用。
测试流程改进:结合官方的 CI 流程对测试流程进行改进,确保测试流程覆盖度更加全面。
同时,openEuler RISC-V SIG 正在将 openGauss 移植到 MUSE PI 上,基于 Pioneer Box 和 MUSE PI 构建测试平台,完成进一步的应用集成验证工作。
加入我们,探索RISC-V的未来!
请备注 OGRV
详细情况见甲辰计划开源实习生联合招聘及培养计划:https://github.com/lazyparser/weloveinterns/blob/master/open-internships.md
在此,感谢中国科学院软件研究所和 openEuler RISC-V SIG 的大力支持,感谢深圳群星闪耀(Milk-V)和跃昉科技的大力支持!感谢第一届 RISC-V 软件移植及优化锦标赛(RVSPOC)s2305所有开发者的贡献!
关于 RISC-V SIG
这无疑是 RISC-V 和 openGauss 的双向奔赴,在不久的将来,openGauss 会在 RISC-V 全球生态中发挥更为基础和重要的作用。RISC-V SIG 与 openGauss 社区将携手共进,共同展望一个技术更丰富、创新空间更广阔的未来。
关于贡献者
个人gitee主页:https://gitee.com/xfan1024
谭小凡(xiaofan@iscas.ac.cn)
黄吉,就职于中国科学院软件研究所,任项目软件开发工程师,擅长后端业务开发、 linux 运维和软件移植,喜欢参与开源社区共建工作。
个人gitee主页:https://gitee.com/XiaoXiaoXiaoJi
黄吉(huangji@iscas.ac.cn)