龙蜥开发者说:社区首个支持 LoongArch架构的操作系统构建之路 | 第 9 期

简介: 第一次真正走完OS构建全套流程是参与 LoongArch SIG 组以后,这给了我一个很好的机会,让我尝试从0到1去做一个系统。


「龙蜥开发者说」第 9 期来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了龙蜥社区开发者张文龙来分享「社区首个支持 LoongArch 架构的操作系统构建之路」。


欢迎阅读上期故事《龙蜥开发者说:首次触电,原来你是这样的龙蜥社区?| 第 8 期》。开发者说系长期活动,对于积极投稿、多次分享的童鞋,我们还有神秘大礼鼓励!诚邀开发者们分享真实体验,以文会友、共同学习、一起进步。

张文龙.png

本期故事主角:张文龙,「 龙蜥社区 2021 年度突出贡献奖」获得者;龙蜥社区 LoongArch SIG 核心成员,负责 Anolis OS LoongArch 版本移植开发工作,专注于 LoongArch 架构下服务器操作系统及云计算生态建设。


回想起来,我从开始接触 Linux 到现在已经有好几年了。最早我的工作仅限于写写代码、跑一些服务或者为 Linux 做一些安全加固,从来没有考虑过自己使用的操作系统是怎么来的,毕竟 CentOS 等主流 Linux 系统可以免费使用,谁还会想着去重新构建一套呢,所以我也就抱着“已经有成品,何必再造轮子”的想法就这样一直工作着。但随着操作系统的迅速发展,国内自主指令集的诞生,新架构下的操作系统也提上议程。

以前使用 Linux,基本上是在 x86 架构下,但后来由于日常工作环境需要,所以要切换到 MIPS,再到现在的 LoongArch 架构下。相比之下,MIPS、LoongArch 的生态环境明显是比不过 x86 的。一开始使用的时候我很不习惯,因为以前在 x86 上能够安装并正常使用的各种软件包,现在在 MIPS、LoongArch 环境下却不能使用。因为刚开始使用,所以很不习惯,会有一种“摔键盘”的冲动,但冷静下来又不得不接受这样的现状。慢慢地我就想,既然我改变不了使用 MIPS、LoongArch 的现状,自己为什么不能尝试做做改变呢?


很快我就转变思路,从没有现成的就自己创造开始,到逐渐主动去尝试自行进行移植开发,从新鲜到习惯,有种“自己动手丰衣足食”的感觉。比如 MIPS,从零开始,边用边学,MIPS 寄存器、汇编、指令集,开始为 MIPS 造轮子、拓生态。“逢山开路、遇水架桥”,慢慢地可以直接安装的软件包变多了,生态也起来了。后来我们推出了自主 LoongArch 指令集,由于有了 MIPS 相关移植经验,拓宽 LoongArch 生态便没那么发愁了。


像在城市中铺路、像在河流上架桥、像把白纸写满黑字,新架构下生态建设速度明显加快。大概用了半年多的时间,LoongArch 架构下我们内部推出了基于 Debian 的桌面操作系统 Loongnix 20、基于 CentOS 的服务器操作系统 Loongnix Server 8.3 和基于 Alpine 的轻量级 Linux 发行版,直到现在 kernel、gcc、ffmpeg、golang 等核心组件已经在上游社区稳步推进,而且周边好多软件也逐步进入社区,LoongArch 架构下操作系统及云计算生态水平已经基本对齐并超过 MIPS,相信不久的将来,LoongArch 会在上游社区遍地开花。

640.png 图/部分可在LoongArch下运行的云计算相关的组件)


仔细回顾,与其说以前是从事操作系统相关工作,不如说我好像只是一个部分环节的参与者,实际上并没有走过完整的流程。现在想想,第一次真正走完操作系统构建全套流程是从参与龙蜥社区 LoongArch SIG 组之后才开始的,这给了我一个很好的机会,让我尝试从 0 到 1 去做一个系统。记得最初要给社区提供一个 LoongArch 架构的最小编译环境,这个过程完全跟以往在 x86 平台下的操作系统重构不一样,要做的是一个全新指令集的编译环境,刚开始社区 LoongArch 架构下一个软件包都没有,有种无从下手的无力感,但后来静下心来查找资料、整理思路,自己梳理了构建流程,从构建 LFS(Linux From Scratch) 开始,到移植开发操作系统软件包、软件源创建、解依赖、软件签名,再到做 rootfs、最小 iso、qcow2,整个过程做了个遍,一步步实现了操作系统从 0 到 1 的转化。

640 (15).png

 (图/LoongArch 版本发布)


其实刚开始做的时候挺痛苦,因为最初所有工作不能并行,都是一环套一环,好多工作需要只能一个人参与,遇到问题只能自己去查资料,这方面的资料又不是很多,个别问题一卡好几天,只能硬着头皮自己做,直到后来其他人才慢慢参与了进来。Anolis LoongArch 版本也慢慢地从刚开始一片荒漠的样子,进步到可以使用,从最初的一个 rootfs 环境,到后来的预览版,再到正式版就这样第一个支持 LoongArch 的社区操作系统诞生。


到现在为止,参与到龙蜥社区已经有一段时间了,在这里我能够感受到自身成长的速度,明白需要学习的还有很多,也非常感谢社区对我过去工作的认可。一路走来,深切的感受到这是一个比较开放的大家庭,希望能有更多的开源爱好者能参与进来,也希望大家能在使用 LoongArch 架构的同时积极为社区贡献自己的一份力量。如果发现有不支持的软件,也能积极地参与移植开发,并贡献自己的代码到龙蜥社区或者上游社区,共建 LoongArch 生态大家园,为早日实现多架构同源异构添砖加瓦,这样一个真正的支持自主指令集的操作系统才能越发蒸蒸日上。

640 (16).png

(图/获得龙蜥社区 2021 年度「突出贡献奖」)


欢迎大家加入 LoongArch SIG 共建,SIG 地址:

https://openanolis.cn/sig/LoongArch

龙芯开源社区:
http://www.loongnix.cn/zh/

龙芯容器镜像仓库:
https://cr.loongnix.cn/search

Loongnix 操作系统新闻发布:
http://www.loongnix.cn/zh/loongnix/


更多龙蜥开发者的故事,可阅读往期开发者说:

【1】首次触电,原来你是这样的龙蜥社区?| 第 8 期

【2】不忘初心,方得始终 | 第 7 期

【3】我的操作系统之路,坚持从实践中来,到实践中去 | 第6期
【4】从零开始的创造,是动力也是挑战 | 第5期
【5】学无止境的 Linux ,以及我的第一个定制版本发布之路 | 第4期
【6】聊一聊我技术生涯的“三次迭代” | 第 3 期

【7】从入坑到入门 | 第 2 期

【8】做开源,兴趣是最好的源动力 | 第1期


—— 完 ——

加入龙蜥社群


加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。欢迎开发者/用户加入龙蜥社区(OpenAnolis)交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!

公众号&小龙交流群.png

关于龙蜥社区


龙蜥社区(OpenAnolis)由企事业单位、高等院校、科研单位、非营利性组织、个人等在自愿、平等、开源、协作的基础上组成的非盈利性开源社区。龙蜥社区成立于 2020 年 9 月,旨在构建一个开源、中立、开放的Linux 上游发行版社区及创新平台。

龙蜥社区成立的短期目标是开发龙蜥操作系统(Anolis OS)作为 CentOS 停服后的应对方案,构建一个兼容国际 Linux 主流厂商的社区发行版。中长期目标是探索打造一个面向未来的操作系统,建立统一的开源操作系统生态,孵化创新开源项目,繁荣开源生态。

目前,Anolis OS 8.4已发布,支持 X86_64 、Arm64、LoongArch 架构,完善适配 Intel、兆芯、鲲鹏、龙芯等芯片,并提供全栈国密支持。

欢迎下载:

https://openanolis.cn/download

加入我们,一起打造面向未来的开源操作系统!

https://openanolis.cn

相关文章
|
9天前
|
机器学习/深度学习 人工智能 云计算
Intel 平台新特性助力龙蜥 OS 云计算 | 龙蜥大讲堂101期
本次分享的主题是Intel平台新特性助力龙蜥OS云计算。内容涵盖英特尔第四代和第五代至强处理器的新特性,如性能提升、内置加速器等,并详细介绍TDX、SGX、AMX等技术原理及其在虚拟化环境中的支持情况,旨在帮助云用户充分利用英特尔新平台的优势。
|
7天前
|
人工智能 Anolis 芯片
英特尔携手龙蜥,共筑未来操作系统 | 2024龙蜥大会
在2024龙蜥大会中,本次分享的主题是关于英特尔公司与龙蜥社区的合作成果和未来计划。 1.Inter与龙蜥携手共建社区 2.Inter Arch SIG近期内核贡献 3.Inter:龙蜥内核历年贡献总结 4.Inter:开源技术贡献 5.Inter与龙蜥社区实践展示 6.Inter+龙蜥:未来展望
|
7天前
|
存储 人工智能 算法
加速推进 AI+OS 深度融合,打造最 AI 的服务器操作系统 | 2024龙蜥大会主论坛
本次方案的主题是加速推进 AI+OS 深度融合,打造最 AI 的服务器操作系统,从产业洞察、创新实践、发展建议三个方面,指出 AI 原生应用对操作系统提出更高要求,需要以应用为导向、以系统为核心进行架构创新设计,要打造最 AI 的服务器操作系统。 1. 产业洞察 2. 创新实践 3. 发展建议
|
7天前
|
人工智能 Cloud Native 安全
圆桌会议:聚焦AI时代机遇下操作系统产业的进化与重构 | 2024龙蜥大会主论坛
2024龙蜥大会主论坛聚焦AI时代的操作系统产业进化与重构。专家们围绕开源社区建设、商业化衍生、替代方案及AI应用等议题展开讨论。中国工程院陈纯院士强调开源社区的重要性,阿里云蒋江伟提出操作系统的兼容性和包容性,AMD潘晓明表示将加强国际合作,中兴通讯刘东则探讨了操作系统与AI的深度融合。会议一致认为,龙蜥操作系统应抓住AI发展机遇,构建安全可靠的生态体系,推动国产操作系统走向国际化。
|
1月前
|
安全 Anolis
龙蜥社区落地开源生态发展合作倡议,构建开放兼容的操作系统生态
通过共同努力,三个社区基于服务器操作系统场景,在操作系统内核等关键共性技术链统一方面达成了一致。
|
8天前
|
人工智能 安全 Linux
阿里云与龙蜥携手打造智算时代最佳服务器操作系统
本次分享的主题是阿里云与龙蜥携手打造智算时代最佳服务器操作系统,由阿里云技术软件部产品总监张鹏程分享。主要分为三个部分: 1.开源社区 2.操作系统 3.云 + AI
阿里云与龙蜥携手打造智算时代最佳服务器操作系统
|
1月前
|
人工智能 安全 Android开发
移动应用开发与操作系统的深度协同:构建高效、安全的移动生态####
【10月更文挑战第21天】 本文深入探讨了移动应用开发与移动操作系统之间的内在联系与相互影响,强调了两者在构建高效、安全移动生态系统中的关键作用。通过分析当前主流移动操作系统(如Android、iOS)的特性及发展趋势,结合移动应用开发的最新技术与挑战,本文旨在为开发者提供一套全面的理解框架,以促进更加协同高效的应用开发实践。 ####
74 18
|
1月前
|
数据可视化 关系型数据库 MySQL
阿里云开发者社区12月更文特别活动分享:🌍PolarDB、🧹OS Copilot和🧰云效Flow深度体验
本文深入探讨了阿里云的三款核心产品:PolarDB MySQL、OS Copilot和云效Flow,分别聚焦于云数据库、系统运维和DevOps流程管理的功能、表现及优化建议。通过多场景评测与实验,展示了这些产品在提高效率、简化操作和增强系统稳定性方面的显著优势。
|
1月前
|
安全 Android开发 iOS开发
深入探索iOS与Android系统架构差异及其对开发者的影响
本文旨在通过对比分析iOS和Android两大移动操作系统的系统架构,探讨它们在设计理念、技术实现及开发者生态方面的差异。不同于常规摘要仅概述内容要点,本摘要将简要触及核心议题,为读者提供对两大平台架构特点的宏观理解,铺垫

热门文章

最新文章