人物|刘鑫:作为 openEuler RISC-V 发行版出品人是一种什么体验?
操作系统是重要的基础软件, 2020 年中科院软件所作为主要发起者在 openEuler 开源社区成立了 RISC-V SIG 组,开始进行 RISC-V 架构的适配。依托 openEuler 社区,通过开源模式,聚合了全球 RISC-V 上下游开发者和生态伙伴,构建了十分活跃的 RISC-V 生态。当前 openEuler RISC-V 发行版已面向 RISC-V 架构进行了大量软硬件适配、升级及优化,并且实现了与 openEuler Arm64 及 X86 版本同步发布。openEuler RISC-V 发行版,已然成为具有影响力的 RISC-V 社区发行版。
2023年 3 月,openEuler RISC-V 23.03 随着 openEuler 23.03 发布而正式发布,刘鑫则是此次发行版的出品人。刘鑫来自中科院软件所 RISC-V 操作系统团队,在 openEuler RISC-V 和 KDE SIG 中担任 maintainer。本期内容,我们将聚焦出品人刘鑫,讲述他的心路历程,带来不一样的启发。
刘鑫在 openEuler 开发者大会中参与 RISC-V SIG 组开放工作会议,带领成员回顾 RISC-V SIG 工作成果,介绍 openEuler RISC-V 23.03 与 RISC-V SIG 的路线图。
不积跬步,无以至千里
作为出品人之前,刘鑫一直在团队内做针对 RISC-V 架构的软件包适配和修复工作,除此之外也时常向 openEuler 等其它社区做出贡献。通过日积月累的坚持,刘鑫获得了来自 openEuler 社区向突出贡献者颁发的"欧拉之星" 2022 年度最佳开发者贡献奖,而这些都为这次出品人的工作奠定了能力基础,带来经验的累积。
团队今年针对 openEuler RISC-V 的大版本发布制定了一个出品人计划,即上至与 openEuler 社区的交流对接,下至版本质量的确保和管理,都需要由出品人负责执行。刘鑫因贡献突出被选为第一任出品人,对于成为团队内第一位出品人刘鑫表示:"第一个的感受是激动,因为终于有机会来做这件事情;但是随后马上带来的是不安,因为没有任何经验呀!"不过刘鑫思索片刻便马上就定下来了目标:"既然 openEuler 23.03 是一个创新版本,那么在确保稳定的同时就让我们开发和适配的最新成果应用在这个版本上。"
直面挑战,解决关键问题
openEuler RISC-V 发行版最终成功发布,但过程并不是一帆风顺的,刘鑫讲述了一次令他印象颇深的排错经历:"在 QEMU 上测试 docker 时,我们发现它一直报 segfault 的错误,但在开发板上测试的时候却没有任何问题。由于 docker 是一个非常重要的组件,距离预计的发布时间已经很近,我们必须立即开始错误的排查。经过各种尝试和头脑风暴后,我们终于发现了问题的根源。当时我们测试用的开发板只实现了三级页表机制,而最新的 Linux kernel 已经适配了四级页表的 sv48 和五级页表的 sv57。由于 QEMU 已经实现了 sv57,导致各类按照 sv39 适配的库和软件包在 QEMU 上运行出现了问题。我们最终通过在 QEMU 的启动参数内声明要以几级页表工作的方式解决了这个问题。"
可以看到,每一版 openEuler RISC-V 发行版的诞生都离不开个人与团队的协作,"之前 openEuler 社区规划在 openEuler 23.03 的第三轮测试的时候就不再接纳新特性的代码合入,但在这个时间点之后一些软件包依然在合入重要的更新,这就部分打乱了我规划的时间点。不过好在有团队的高效分工以及发行版前期的工作积累,最后许多更新都被快速的合入了。"刘鑫作为出品人更深刻体会到在问题面前团队分工合作的重要性。
收获成长,迎接下一个创新成果
openEuler RISC-V 此次发行版的一大亮点就是应用了软件所在 RISC-V 领域的最新的适配成果。不仅如此,相比其它下游发行版,openEuler RISC-V 和上游的关系更紧密,能及时地接收并应用到最新的修复和更新。"通过这次担当出品人,不仅获得了更多与开源社区打交道的经验,还了解到了一个发行版是如何有条不紊地制作出来,以及开发和测试等角色所负责的内容是如何串起来的。其中任何一个环节掉链子都可能会导致有软件 Bug 逃逸并暴露给用户。"刘鑫分享了自己的收获并且描绘了 openEuler RISC-V 的未来发展蓝图。
"在硬件方面,我们会与各个硬件厂商合作,积极适配更多的开发板。而软件方面,我们将对标其它社区主流发行版在 RISC-V 的现状适配更多的软件包。并且,后续我们会针对 openEuler RISC-V 社区的需求来进行开发,并将成果回报至 openEuler 社区,来推动社区的发展。除此之外,我们还希望在桌面和服务器等应用场景之外能满足更多的使用场景需求。"
回顾过往,硕果累累;展望未来,更进一步。
刘鑫最后呼吁大家加入 openEuler RISC-V 社区,与其他 Linux 用户和 RISC-V 爱好者交流互动,学习新知识,共同推动 openEuler RISC-V 的发展,一起期待 openEuler RISC-V 23.09 版本的诞生。