
飞思卡尔开发板和ARM架构的惠普服务器
汤普森和格林的工作并未从零开始。Debian已经是开源社区最为著名的Linux操作系统之一,其ARMv7移植为Raspbian的诞生打下了坚固的基础。
”我们极大地利用了Debian项目此前在支持ARMv7设备的浮点运算硬件时所作的工作,“汤普森说。”我们并非真的开发出了1.9万个软件包,95%的移植工作事实上已经由Debian完成了。“
然而,这并不是说,汤普森和格林将Debian移植到ARMv6及其浮点运算单元的工作轻而易举。
格伦解释道,“在Debian系统中,编译器内置了一定的默认设置。这些默认设置决定了CPU系列、最低CPU要求,以及应用二进制接口。绝大多数软件包都未修改这些设置。我们修改了这些编译器包,从而将默认设置降低至ARMv6。
对于绝大多数的源软件包,使用内置新默认设置的编译器进行重建,就足够使其运行于ARMv6代码。”
最初,许多代码工作都是手工完成的,但格林后来开发出了一款自动编码软件,将大部分过程自动化。这些自动编码软件至今仍在运行,从Debian存储库中获取更新后的软件包,然后将其重新自动编译,以适用于Raspbian。
Raspbian于2012年4月20日以有限的形式放出下载,最初只包括了约5%的Debian软件包。“这足够运行root文件系统,并将Raspberry Pi启动至命令行界面,”汤普森说。
重建1.9万个软件包
Debian ARM拥有约3.6万个需要移植的软件包。幸运的是,其中1.7万个并不包含任何可执行代码,因而可以很快移植到Raspbian上。这包括“帮助文件、人工页面、软件包文档、字体等等不需要执行的内容,”汤普森说。
其他包含可执行代码的1.9万个软件包就是汤普森和格林的主要工作,直到6月初,两人才将所有这些软件包重新编译完成。
对于汤普森来说,这几乎就是三个月的全职工作。“有几周时间里,我每周花费60到80个小时在这项工作上,”他说。
在解释最初遇到的挑战时,汤普森说,“我们最初遇到的问题是,直到Raspbian项目启动的几个月之后,Raspberry Pi硬件仍然没有上市。不过,还好有一些Raspberry Pi基金会的工作人员帮了我们的忙。他们帮忙测试了我们的测试版系统,确保了我们正在开发的软件能够真正运行在Raspberry Pi上。
第二个大问题是,在我学习如何开发Linux发行版时,遇到了陡峭的早期学习曲线。幸运的是,Linux社区尤其是Debian社区非常友好和乐于助人,在我遇到困难的时候,总是能够得到别人的建议。在皮特加入项目之后,我们的进度快了很多,再加上8台ARM服务器,我们每天都能修改1000个软件包。”
一些软件包尤其麻烦。格林称,Raspbian系统中Midori浏览器所使用的Webkit内核折腾了他们好几天时间,但最终还是顺利完成。
不过绝大多数软件包都能够顺利通过这个流程。类似于bash一样的命令行壳大多能够轻松移植成功,汤普森说,”我们只需下载这个软件包,重建,然后将其发到存储库。“
汤普森估计,大约有5%的Debian软件包未能成功通过自动编译流程。这意味着,他和格林不得不手动修改其中专门为ARMv7编写的代码,然后重新编译,以使其运行在ARMv6上。
”编译器、Java解释器等任何对架构敏感的东西,都可能会带来麻烦,“他说。”在大多数情况下,我们能够对软件包进行修改,重新打包,然后公布给广大用户使用,但还是有部分软件包由于某些原因无法移植到Raspberry Pi。”
大约只有50个到100个软件包完全无法移植。“这些软件包主要是调试器和一些专门为ARMv7处理器开发的应用,其中一些甚至根本就没有必要移植到Raspberry Pi,”汤普森说。
Raspbian的运行既可以使用图形用户界面,也可以不使用图形界面。由于Pi的主要目标用途是编程教学,其默认界面还包含了Python开发环境。

Raspbian默认的图形用户界面
Raspbian取代Fedora
这一切的结果,就是一款对初学者足够友好同时又让有经验的Debian用户感到熟悉的运行于Raspberry Pi的Debian操作系统。Raspbian和Raspberry Pi的结合激发了全球各地开发者的热情,催生了大量的创意。“这就是Raspbian的意义所在,完全重建Debian的基础架构,从而使熟悉Debian的用户能够轻而易举地在Raspberry Pi上下载完整的优化后的代码,”汤普森说。
如前所述,Raspberry Pi官方最初推荐的操作系统是基于ARM的Fedora系统。然而,Fedora的表现受到了Pi有限的内存的严重限制,尤其是最初Pi发布时仅有256M内存。
Raspberry Pi项目创始人、基金会主席厄本·艾普顿表示,该组织从2012年5月开始向用户推荐Debian操作系统,而在Raspbian于8月份面世之后,该组织转而开始推荐Raspbian。“
更小的内存占用、简单易用,以及支持浮点运算硬件,是Raspbian获得Pi基金会支持的主要原因。Fedora for the Pi如今仍在开发之中,但目前基金会的下载页面推荐的操作系统只有Raspbian、Arch Linux ARM和RISC OS。
”我很高兴能够看到Raspbian成为Pi官方推荐的操作系统,不过这并非是我发起该项目的初衷,“汤普森说。”Raspbian项目只是我的个人爱好而已。“
这份工作并未结束,至少对于格林来说。服务器集群如今仍然在汤普森的家中运行着,格林则时不时远程登录,以更新Raspbian系统。汤普森如今在一家名为OLogic的小型机器人咨询公司工作,并将Raspbian项目的绝大部分运营工作交给了格林。”过去几个月基本上都是我在运营Raspbian项目,“格林说。

Raspbian项目联合创始人皮特·格林
推荐阅读
C114讯 3月18日下午评论(岳明)让我们把时钟拨回到两年前,为了些许非核心技术,华为和中兴在德国、匈牙利等欧洲国家展开了一轮司法诉讼。当时就有业内人士感叹到,同为民族企业,为了相互抢夺市场,不惜以技术含量极>>>详细阅读
本文标题:35美元电脑Raspberry Pi的OS是如何诞生的?
地址:http://www.lgo100.com/a/05/20130319/263325.html

网友点评
精彩导读
科技快报
品牌展示