公众号关注 “Linux宝库”
设为 “星标”,让我们在开源的路上勇往直前
作者丨陈欧侃
演讲人丨王浩军
编辑丨欢喜
余博士好,各位开源操作系统界的大牛好,在座的各位同学好!原来出现在这里的应该是我们社区的史璞金学长,我们称他为“大帝”,但他有开发任务,不便分心,演讲只能由欧侃来做,感谢王浩军同学的代讲。
Ok,我们都来自原Linux人社区,也都是筹建中的OKLinux社区(正式名称为欧侃在线开源社区)的核心成员,我们社区也是本次开源年会的社区合作伙伴之一。今天,来讲的标题是《对开源操作系统最友好的龙芯》,谢谢,
我先来介绍下Linux人社区:
原Linux人社区
它建立于2006年,是红旗Linux最辉煌时期的产物。Linux人社区不仅具有网论坛特性,它还拥有一个具有开发能力的社区团队。社区自从2006年6月建立以来,至今已有十多个年头,这前后可以划分成三个时代。
2006年到2009年,由国内Linux大神级的人物cjacker领衔下,每个参与社区的用户都可参与到其主导开发的Everest社区发行版的开发维护中来。
2009年到2013年的Qomo发行版被红旗软件的研发部门全面接管,同时时任社区的负责人Kennycx还加强了让社区成员参与英语资讯翻译的力度。
-
2015年8月到2019年9月可以说是第三个阶段,由陈欧侃接管我们社区的事务。我们加强了Linux后备人才的培养力度,而且还组织了多次线上的培训活动。这几年参与我们社区的同学不仅在我们社区学到了一些开源知识和技术,还获得了不少实习和工作的机会!
欧侃在线的由来
自从2018年8月开始,由于红旗软件的管理层多次更换,导致公司在社区和市场宣传的理念和我的想法产生了巨大的分歧。同时,因Linux人社区有很深的红旗背景,导致我在推动一些纯社区的os及其它桌面应用软件项目时,有些开发者总是担心他们的无偿劳动会被红旗占有,不论我怎么努力推动,各个项目的进展都非常缓慢。
因此,我决心离开红旗,在上海重建一个Linux人社区的分支,一个完全没有Linux企业背景的Linux社区。
关于新社区的名称,我和社区成员提出了近十种,如Linux人中国、Linux雪人、雪山、雪峰等等,但因种种由头,都被推翻。最后,我只能厚着脸皮启用我2003年创建的个人网站——“欧侃在线”作为新社区的名字。
欧侃在线的介绍
欧侃在线或称为oklinux社区将延续原Linux人社区大部分项目和努力的方向,我们的社区成员都来自Linux人社区。我们的新社区将继承Linux人的原教旨主义精神,但不再与之存在关联。至于Linux人社区未来如何发展下去,这取决于红旗软件,我也有心无力。
而新社区的发展重点依然是培养和Linux相关人才。我们还会与航天龙梦携手推动龙芯与MIPS知识体系架构的人才培养。并承担龙梦论坛的维护。
我们为什么在众多的国产CPU中会青睐龙芯呢?是因为我们觉得龙芯阵营不论对Linux 内核还是其它开源软件的贡献力度都很大。比如,刚推出的OpenJDK 13中,龙芯团队就是前五大贡献者。此外,龙芯俱乐部还推出了一块全开源的智龙主板
龙芯的介绍
龙芯是上世纪末本世纪初中科院计算机研究所立项的国产通用*处理器(CPU)项目,它是为了打破国外垄断。由计算机所的科学家从零基础出发,几乎是一笔一划的设计出来的CPU ,可以说,龙芯除了问某国人买了MIPS CPU指令外,完全是由我国的科学家的心血铸造而成。这和国内某些做ARM封装的小厂的开发过程是天壤之别。当然,不包括华为海思和飞腾投入巨大的厂商。
正因为此,龙芯的总体性能老是落后同时代的英特尔处理器一大段。但它对于我国的信息安全起到了非常重要的作用,在党政军领域有着不可缺少的地位。
龙芯的发展
龙芯的艰难开发历程被胡伟武研究员记录了下来,并在2004年左右发表在水木清华上,至今在我们社区的历史数据中都保留了相关文章。
龙芯一号,是2001年完成设计,2002年流片成功的。在同年八月十九日,首次成功启动操作系统。但它严格来说,只是一颗工控嵌入式处理器。2011年开始,随着龙芯1a的面世,龙芯1系列以全新的面貌进行发展。并在石油勘探、智能家居、北斗卫星导航系统的建设中发挥了重要作用,北斗导航系统中采用了龙芯的抗辐射处理器。
2005年4月在北京人民大会堂,龙芯团队隆重推出了可用于计算机的通用*处理器——龙芯二号,当时填补了我国没有较成熟的计算机*处理器的空白。(虽然,这前面还有一个短命的方舟 CPU。)其实,早在2003年,首颗龙芯二号处理器已经流片成功。
龙芯二号带来一个很棘手的问题。就是操作系统怎么解决?由于当时根本无法获得x86的指令集及相关授权,龙芯选择了购买MIPS指令集授权。因此,龙芯团队选择了MIPS和开源的Linux操作系统。
龙芯二号相继推出了2A、2B、2C一直到目前的主力型号2K1000!2008年,在龙芯俱乐部鼓动下,Linux人社区把cjacker大牛创建维护的Everest发行版移植到了龙芯2F上,也应该是龙芯上首个社区发行版。后续,他们还举办了多次找bug竞赛等活动。同时,龙芯2F也是一个标志性的产品。
但龙芯二号在操作系统方面有个不通用的问题,就是例如为2A开发的系统不能装在2B、2C的龙芯电脑上使用,据说是每个型号的系统内核接口都有变化。
如今,基于龙芯2K的龙芯派是同学们买得起的龙芯设备。
2011年左右,龙芯三号诞生。正确来说,2009年龙芯三号已经完成流片。它给我的感觉是,龙芯真走向了平台化、通用化。龙芯三号各个子型号之间,操作系统可以通用,为操作系统厂商提供了开发便利。据我所知,我国之前有些超算也采用了龙芯三号CPU,而作为龙芯三号的主力软硬件配套厂商,航天龙梦在其中也发挥了巨大的作用。
龙梦的介绍
江苏航天龙梦信息技术有限公司(简称“航天龙梦”)成立于2014年,其前身为2004年成立的龙芯产业化基地。2016年,正式加入中国航天科工集团。也承担了多项*科技重大专项的课题,是信息技术应用创新领先企业。而2010年4月,龙芯中科也在北京设立。
此外,龙梦的内核组多年来一直向Linux kernel项目贡献研发成果。当然,龙梦内核组的领军者陈华才博士是龙芯三号Linux内核的最积极的贡献者和维护者由他研发维护的龙三主线Linux内核一直与Kernel社区保持同步。反观龙芯中科还停留在3.10,尚未切换到新内核上。而陈博士和孙海勇老师的引领下,龙梦公司的其它员工也常常向多个开源的上游社区提交补丁代码。所以我要说,在 “床单厂”工作的同学都是好样的,欢迎感兴趣的同学寒暑假来‘神龙教“体验!呵呵。
(“床单厂”是对航天龙梦的戏称,“神龙教”则是对整个龙芯阵营的爱称!)
龙芯三号目前有A、B两个系列,已经推出了多个型号,目前较成熟的是3A3000。
今年底明年初,更高性能的3A4000即将问世。紧跟着,首款16核心的龙芯3C5000也很快将登场。
在龙芯三号上,目前有龙芯中科的Loongnix以及中标麒麟、深度、普华、中兴新支点等等桌面操作系统,而在服务器操作系统方面还有红旗、一铭等厂商。此外,有航天龙梦的孙海勇老师移植、维护的Fedora 28龙芯版是同学们有机会体验龙芯电脑时的一个很好选择。
同学们如果有兴趣的话,也可以自己动手为龙芯制作一款属于自己的龙芯Linux操作系统,不论是LFS源码编译还是定制孙老师的F28龙芯版都可以,
龙芯为何对开源操作系统最友好
我们以下列几个方面来说一下:
多年来,龙芯阵营一直坚持向Linux Kernel社区反馈开发成果和代码,他们的贡献量和贡献力度都是在国产CPU厂商中处于领先地位。前面我们已经说了,龙芯在设计之初就选择了 Linux,因此决定了它对Linux内核和其它核心组件的优化需求非常大。
龙芯阵营出于自身的需求,向GCC、GLIBC、OpenH264、libvpx及FFmpeg等众多LINux基础系统组件项目贡献了大量开发成果。甚至连Chromium和Firefox中也有来自龙芯中科的代码。更别说我们前面提到的OpenJDK。
龙芯中科和航天龙梦汇集了一大批大师级的Linux 开发者,像龙梦内核组的陈华才博士,《手把手教你构建自己的Linux系统》一书作者孙海勇老师,原KDE开发者,刚参与了OpenJDK 13开发的“涩兔子”翟翔以及敖琪组长,傅杰博士等等。
龙芯对所有的操作系统厂商、社区甚至对喜欢Linux系统定制开发的个人爱好者都持非常开放、友好的态度,欢迎大家在龙芯上各显身手,百花齐放
龙芯在硬件上也足够开放,比如它对国内大学提供了GS132微结构代码,支持CPU设计竞赛。
基于以上几点,我认为相对于国内其它的CPU,龙芯对开源的Linux操作系统支持力度最大、也是最友好的。这点也得到了被誉为*软件之“父”的RMS的认可。
那么,龙芯为啥会对Linux操作系统这么友好呢?原因我们前面已经说过了,是看中了 Linux 这庞大的开源生态。虽然我们一直说,Linux桌面应用生态长期缺乏,但它在其它领域里的生态非常巨大。有时间的话,同学们可以去SourceForge和github了解下。龙芯没有IBM和苹果那样的资本实力,如果不依靠开源的Linux的话,我看它自身生存也很艰难,更别谈发展了。
欧侃在线未来的发展
OKLinux社区将会和龙梦论坛社区一起努力为龙芯阵营挖掘或培养更多的Linux人才,同时也会制作我们Sirlong社区发行版。此外,我们会继续推进酷猫应用开发计划。如果有机会的话,会推动一款基于Linux的大型游戏。在社区活动方面,我们希望继续和优麒麟、中标软件等保持合作,也希望和深度及其它Linux厂商探讨合作的可能。
最后,想强调一下,由于法规的要求,我们欧侃在线只能是依托于上海本联贸易。这个法人实体来运作,并没有任何业内企业的背景。