技术开发 频道

专访内核专家Conke.hu

  【IT168 专稿】新一期的《专家专栏》又和读者朋友们见面了,今天我们有幸请到的是ChinaUnix开源项目板块中g-bios和Maxwit创始人Conke.hu,就这两个开源项目的问题做一个访谈,也好让Linux和嵌入式技术爱好者们更好的了解这两个开源项目。

  Conke在ARM及X86体系结构与编程,及嵌入式系统上bootloader/BSP开发,Linux内核开发和调试,包括Linux-2.4/26中断、memorymanagement、内核进程/线程调度、块设备/文件系统、I/O设备驱动上,有着丰富的经验。Conke曾为AMD第一款桌面主板芯片组(A690GSB600)Linux驱动项目的官方首席工程师,其部分开源代码发布在linuxkernel.org及linux2.6.18~2.6.21中。

  《开源时代》:能给大家简单的介绍一下g-bios和MaxWit Linux这两个开源项目的情况么, 为什么这么取名?

  Conke.hu:我们MaxWit开放实验室发起了两个开源项目:g-bios和MaxWit Linux。MaxWit Linux是一个基于Linux的嵌入式操作系统,类似Google 的 Android或Intel的Moblin。具体情况在上一期《开源时代》中已有较详细介绍,我这里简要介绍下g-bios。

  g-bios是一个Bootloader,或者说是一个嵌入式系统的BIOS,类似于u-boot(另一个有名的Bootloader,由德国人发起)。g-bios的作用相当于PC机的BIOS + Bootloader。g-bios不但借鉴了几乎所有主流Bootloader/BIOS的优点,而且加入不少独创的特性,包括:

  a) 自动检测有待烧录的image文件类型,并智能自动烧录。

  b) 支持多种文件系统,包括YAFFS2、JFFS2、CRAMFS、NFS等。

  c) 支持两种用户界面:GUI(类似传统PC BIOS)和命令行模式(面向嵌入式系统)。

  d) 命令行自动补全(Tab键)及历史记录(上、下键)支持。

  e) Flash(MTD)分区支持,帮助Linux、Android内核识别分区。

  f) 自动设置Linux内核启动参数(Linux kernel command line),极大地降低了参数设置的复杂度并减少了启动出错的概率。当然,同时也支持手动设置,以满足特殊要求。

  g) 常用命令具有记忆功能。如boot命令,它能记住用户输入的参数,以后只需简单输入boot即可。

  h) 引入全新的架构及NB(Never Burn Down,烧不死)技术。开发人员可在没有仿真器的情况下轻松完成整个g-bios的开发。

  i) 优秀的子系统设计,包括:中断、网络、Flash、USB子系统,等等。

  j) 集成类似PC机版本的Video BIOS。

  k) 支持基于龙芯的PC机或嵌入式系统。

  l) 完美支持Google Android操作系统,简化Android的系统移植过程。

  m) 提供图形化配置界面gconfig,不但让新手很容易上手,而且使g-bios的移植和开发过程变得更简单。至于这两个项目的取名,MaxWit Linux这名字源于我们的MaxWit开放实验室,中心词Linux表示这是一款基于Linux的嵌入式操作系统。g-bios中的g表示GPL和Generic(通用的),中心词bios表示她是一款BIOS/BSP/Bootloader类软件,即“基于GPL协议的、通用的Bootloader。

  《开源时代》:能简单介绍一下你的开源开发的经历么?目前这个这两个项目有几个开发人员,大概的分工情况是如何的?

  Conke.hu:还在读小本时我就对Linux非常感兴趣,浙大有较浓的Linux学习氛围,同时又结识了几个志同道合的校友,从此开始研究以Linux为代表的开源项目。在之后的几年工作期间我一直专注在Linux及相关开源项目的研发上,在Intel和AMD工作期间多次向Linux内核及其他开源组织贡献代码。最近成立了MaxWit开放实验室,专门从事开源软件的研发。

  目前g-bios和MaxWit Linux的研发团队是同一个,核心成员共6人:Linke Wang、Tiger Yu、Fleya Hou、Pony Ma、Homer Xing及本人。Linke主要负责驱动开发及应用软件移植,

  Tiger负责图形引擎的设计和应用软件开发,Fleya负责驱动开发及不同硬件平台的移植,Pony主要负责项目的宣传及部分编码,Homer负责项目的编译脚本及上层应用软件移植,至于本人,是个“打杂的”,其他成员负责的某个模块需要帮忙我就跑去那里。项目整体架构的设计由我和大家一起讨论决定。

  《开源时代》:目前这些项目采用的授权协议是什么?为什么?

  Conke.hu:如前所述,这两个开源项目均采用GPLv2协议。采用GPL协议的原因很简单,希望有更多的人参与到该项目中来,同时也方便其他企业或个人运用到别的GPL开源项目中去。

  《开源时代》:目前这两个项目和国际上类似的项目相比,有什么不同呢?

  Conke.hu:国际上与g-bios同类的项目中最有名的要属u-boot。u-boot最大的优点在于支持的硬件平台比较多,缺点是大部分关键子系统架构设计不完善或者尚未实现,如中断、网络和USB等,而且编码不规范,代码质量不高,还有,不支持PC机。

  g-bios优点在于整体架构和各子系统的设计都很完善,包括Shell、中断支持、网络、Flash等。缺点是目前支持的硬件平台不够多。

  与MaxWit Linux类似的项目有很多,如Intel的Moblin和Google的Android。Moblin的设计基于传统PC Linux架构,并结合了某些嵌入式Linux的优点,如内存使用的优化、GUI和电源管理的改进等。Moblin专注在X86架构上,为推广Atom处理器和MID设备而服务。Android采用与传统Linux截然不同的架构,其体系结构分四层,从下到上依次是Linux内核、基于C/C++的程序库和Java虚拟机、应用程序框架、应用程序。其中最底层的内核和基于C/C++的程序库与其他

  嵌入式Linux没有本质区别,但中间层和上层Google则另起炉灶,用Java全新设计所有的组件,包括Windows Manager,这一点与Sun的Java OS类似。Android最初专为智能手机而设计,以后还会向其他领域扩展。

  MaxWit Linux与其他项目最大不同之处在于面向的对象,MaxWit Linux专为嵌入式爱好者学习和研究嵌入式软件开发而设计。MaxWit Linux的设计参考了现有主流嵌入式操作系统的优点,并试图逐一剖析各个核心技术的设计与实现,借助文档和BBS和大家分享,而且集成了自动编译脚本,即使是没有基础的初学者也可以毫不费力地入门和研究。

  《开源时代》:在国内和在国外做开源项目有什么区别呢?

  Conke.hu:首先,从整个行业看,国外开源社区发展得比较成熟,开源项目数量多,质量高,如Linux kernel、glibc、Xorg、GTK+等等;而国内有质量的开源软件非常少,skyeye后来没什么人继续开发和维护,MiniGUI纯商业动作了,而且也不能算真正的开源项目。

  第二,从发起人和维护者的角度比较。国外开源项目的维护者更富有热情,而且长时间坚持着,而国内的发起人很少有人能长久保持这种热情。

  第三,从支持者和参与者角度比较。国外参与者多,一个开源项目中源码大部分来自普通参与者而不是项目发起人或维护者;国内开源项目参与者少,且大多停留在使用而非开发的层面上。

  第四,国外开源项目的背后往往有商业公司的影子,这不但激励了开发者,而且也使项目本身在企业的实际应用中得以快速完善和发展;而国内的开源项目大多与企业应用脱节,也缺乏与企业的合作。

  《开源时代》:目前这两个项目打算朝什么方向,怎么发展?

  Conke.hu:g-bios定位在企业级Bootloader,而不只停留在一些技术狂热爱好者的研究层面,而且同时支持嵌入式系统和PC机!MaxWit Linux面向嵌入式Linux自由爱好者和企业中的Linux研发人员,主要用于学习和研究。

  除了使用传统的开源项目开发方式(项目主页 + Mail List和BBS)之外,我们还为g-bios和MaxWit Linux创造了两个非常有利的发展因素:一是在上海和北京专门设立了完全免费的实体研讨空间——MaxWit开放实验室,并配备了比较齐全的软硬件开发环境,可供所有爱好者和项目参与者使用;二是和多家企业建立了合作关系,共同开发g-bios和MaxWit Linux。

  《开源时代》:能给我们客观的谈一下,目前项目还有那些需要重点发展的地方?

  Conke.hu:g-bios各子系统已经比较完善,目前最需要做的是支持更多的硬件平台;还有为了支持龙芯等PC级系统,还需要加入GUI界面和USB驱动。

  MaxWit Linux重点开发的图形优化和多媒体功能的增强。无论是嵌入式还是PC Linux都没有像MS DirectX那完善的多媒体开发库,目前我们正在改进嵌入式Linux的图形驱动架构,加入对OpenGL和SDL的硬件加速支持,并试图进行桌面级整合。

  《开源时代》:现在有无基于这两个开源项目的商业化的支持和解决方案?或者将来是否有这方面的打算?打算从哪些方面入手?

  Conke.hu:这两个项目的开发者一直按照“商业级”的要求在做,即不低于企业实际使用的其他同类方案的技术水平,但并没有“商业化”的打算,而将其永远定位在GPL开源免费项目。

  《开源时代》:除了这两个开源项目外,还对那些开源项目有热情?

  Conke.hu:Linux kernel、libc库(glibc和uClibc)、Xorg、DirectFB、SDL。

  《开源时代》:对从事开源技术的网友想说些什么?如果他们也想做一个开源项目,或者基于开源项目的初创公司,他们应该注意什么?

  Conke.hu:在开源社区里我看到过很多优秀人才,其中有不少是来自我们中国,但国际上众多优秀的开源项目中出自国人之手的几乎没有。比方说,开源社区中每100个中有2个是中国人,但100个开源项目中却没有一个是从中国的开源力量中诞生,这是一个值得大家思考的现象。事实上,国内尝试发起开源项目的人数并不少,但往往是单枪匹马或支持者少,以至进展缓慢,甚至放弃。有志于做开源项目的网友需要做到以下几点:

  1) 要有规范的项目管理。

  2) 做好项目的宣传,让更多的人了解并参与项目。

  3) 要有好的交流平台,如BBS或Mail List等,可以更好地合作开发。

  4) 与其他企业合作开发。

  《开源时代》下载地址:

         ChinaUnix下载点:http://bbs.chinaunix.net/thread-1269929-1-1.html

         ITpub下载点:http://www.itpub.net/thread-1109670-1-1.html 

 

0
相关文章