龙蜥开发者说:众人拾柴火焰高!聊一聊我在社区的所思所想 | 第 14期
「龙蜥开发者说」第 14 期来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了龙蜥社区开发者邬丽娟来分享「 众人拾柴火焰高!聊一聊我在社区的所思所想」。
欢迎阅读上期故事《开源是场马拉松!来自广州大学姚同学的开源成长记》。开发者说系长期活动,对于积极投稿、多次分享的童鞋,我们还有神秘大礼鼓励!诚邀开发者们分享真实体验,以文会友、共同学习、一起进步。
本期故事主角:邬丽娟,LoongArch 架构 SIG Contributor,曾负责多款服务器及操作系统研发测试。此次主要负责在龙蜥社区协助进行 LoongArch 架构的适配工作,积极参与社区开源项目,贡献自己的一份力量。
初入行的时候,我几乎全部的时间是在测试 x86 架构下的各种系统兼容性中度过。x86 架构在桌面计算机和服务器领域已经称霸了几十年,直到近些年,随着智能手机的蓬勃发展,我了解到了ARM 指令集。但在接触过一段时间的 ARM 后,我知道 ARM 如果想在桌面和服务器市场上有所建树,也会困难重重。
近几年,国内逐渐开始发展出自己的处理器和系统生态,我才进行了深入了解——我发现国内各种指令集架构的处理器已然开始蓬勃发展,各种对应适配的系统如雨后春笋般出现。而在其中我发现还有异军突起的龙芯,龙芯以前基于 MIPS 架构扩展了LoongISA,以此为基础发展生态。2022 年 4 月15日又发布了LoongArch 架构,我对这个架构便有了很深刻的印象,希望投入到这个行业的发展建设当中。
红旗软件是龙蜥社区的理事单位,得益于公司举荐,我有幸加入龙蜥社区这个大家庭,当我苦恼于如何在龙蜥社区贡献自己的力量时,我发现龙蜥社区组建了有关 LoongArch 架构的 SIG 组(链接见文末),我当即就申请加入了 SIG 组,协助进行 LoongArch 架构的适配工作。
随着时间的推进,我也对龙蜥操作系统有了更深入的了解,个人认为这是国产操作系统中相当优秀的存在,架构不仅支持多样的指令集,还在深度学习和数据库等性能上有巨大的优势。在了解这些后我对社区的研发人员多了一份敬佩之情,也更愿意为这样一个开源的社区贡献自己的力量。
在投入到适配工作前,社区测试经理在各个需要细化的部分都进行了人员,以保证适配工作的调度合理。起初我们并不熟悉,但在工作的推动下,我也结识了同样为社区做贡献的伙伴,很多人对技术人员有所误解,觉得他们只是埋头写代码。其实不然,沉默不语不是他们的代名词,交流才是。遇到问题不交流,社区就无法进步,适配工作不沟通,进度也无法同步。
在适配工作的进行中,我遇到了两个给我留下深刻印象的问题,一个是在龙芯 3A5000 机器上安装系统,系统安装完成重启之后 GUI 图形界面无法正常加载。
我们初步判断是 Mesa 库的问题。我们咨询了龙芯负责开发的小伙伴,他们耐心地回复了我们,并告诉了我 Mesa 的作用——它是 Linux 下的 OpenGL 实现。它提供了对 AMD Radeon 系列、Nvidia GPU 等多种硬件驱动的支持,同时也提供了对 softpipe 等多种软件驱动的支持,由于龙芯采用了自己的核心显卡,才遇到了兼容性问题。我们就此展开了更多的讨论,开发小伙伴在短短几天之内就发来了新出的显卡支持库,安装完这个支持库之后问题得到了解决。
另一个问题是系统下不支持 exfat 文件格式,经过交流和定位,发展原因也是源内没有对应龙芯架构的 fuse-exfat 的包,开发小伙伴也是在短短几天之内就实现了对 exfat 的兼容,安装完对应的包之后,exfat 的硬盘也可以顺利挂载了。
LoongArch 架构比起 x86 以及 ARM 架构在生态上还是有一定的差距,适配工作进行的过程中遇到了各种环境问题。
但当这些问题被反馈到社区之后,很快都会有社区开发小伙伴进行相应的回复,内容包括但不仅限于对应的解决办法、内在原理以及不同架构所使用的包的内在区别。在社区中的伙伴虽然并不熟悉彼此,但从不因此就减少沟通的热情,这样的社区氛围谁又会不喜欢呢?
我在适配工作的同时也学到了许多之前从未接触过的知识以及一些新的思考问题的方式。它让我意识到我好像从没有系统地搭起关于 Linux 的知识体系,基础知识如此重要,我却一直忽略了它,万丈高楼平地起,一砖一瓦皆根基。我深刻认识到自己知识储备的不足,一旦下了决心,哪怕是从基础知识学起也不会晚,我从此有了一个明确的学习和发展的方向。
更多龙蜥开发者的故事,点击下方图片阅读:相关链接地址:LoongArch SIG 链接地址:https://openanolis.cn/sig/LoongArch 「人人都可以参与开源」活动链接:
https://openanolis.cn/community/activity
加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。
2.小龙力荐!人人都可以完成算法代码,简单易上手3.统信软件高级工程师:关于云原生技术在容器方面的应用介绍
4.浪潮信息正式发布基于龙蜥 Anolis OS 的服务器操作系统 Inspur KOS
5.加载速度提升 15%,关于 Python 启动加速探索与实践的解析