当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]Raspbian:世界上“最小的”操作系统是怎样炼成的?

当你花35美元买到一部树莓派(Raspberry Pi)计算机的时候,机器里面是没有预装操作系统(OS)的。这个时候你要自己下载一个OS到SD卡,插到树莓派上重启完成OS的安装。这一切看起来很简便,但你考虑过这个跟树莓派兼容的OS是哪里来的吗?

其实,树莓派的操作系统Raspbian的来历可不简单。它诞生的前提是,每周60个小时的工作量,处理一大堆自建的ARM计算机以及重建19000组Linux软件包。而这一切,都是由两名志愿者完成的。他们是:麦克·汤姆森(Mike Thompson)和彼得·格林(Peter Green)。

正像树莓派机器本身一样,它的操作系统也是一次意外的成功

适合于树莓派的OS有很多,尽管如此树莓派基金会还是要为你指定一个最兼容的来用。当一年前树莓派诞生的时候,首选的OS是红帽为ARM处理器特别订制的Fedora;而几个月后Fedora就失宠被Raspbian取代。

Raspbian的基础是Debian操作系统。两位志愿者针对树莓派硬件对Debian进行了专门的优化和移植。而Raspbian不仅仅是一个OS,它附带着35000个软件包以及预编译的软件。

Raspbian项目的开展得益于麦克·汤姆森。他曾是Atomz公司的联合创始人和CTO,在2005年该公司被WebSideStory收购,汤姆森获得了450万美元的分红。之后他便带着家人四处旅游。直到一年前,汤姆森决定回归科技领域再创一番事业,并把目光投向了机器人科学。而树莓派看起来像是一个不错的发展平台;它价格足够低廉,体积足够轻便,特别适合嵌入到其他大的系统中。可惜树莓派没有一个针对其浮点单元(Floating-point Unit,又称浮点运算器)全面优化的OS;而浮点单元在机器人技术以及其他需要大量数学计算的应用中都是至关重要的。

“当我第一次听说树莓派的时候,我感到很失望。因为所有适用于该机器的Linux发行版中,没有现在树莓派上具备的浮点单元。”汤姆森说道,“做为一个长期的Debian用户,我更希望看到Debian(而不是Fedora)运行在树莓派上。而我也希望看到一个能支持浮点单元的OS”。

Debian系统为ARMv7处理器添加了浮点单元支持,但对于树莓派使用的ARMv6处理器则没有。“Debian这时看起来不像是能在树莓派上运行的系统;即便ARMv6处理器具备运行浮点单元的能力,但Debian就是不支持。”汤姆森回忆道,“这样一来,Debian上成千上万的软件包(Software Package)在树莓派上就没有了用武之地”。

就好比一个GPU能快速处理图像编译工作一样,“一个浮点单元同样能进行高速的数学计算,”汤姆森称,“它不是一台计算机必备的附件,但当它运作的时候你就想把它的功能发挥到最大”。现在浮点单元是树莓派片上系统(SoC)Broadcom BCM2835的一部分。

“如果你不让硬件上的浮点单元发挥最大计算水平,那么很多的数学运算都要交给软件处理。这就延长了树莓派执行任务的时间。这在机器人技术很重要,因为要处理来自像是摄像头、传感以及马达等设备的数据,并进行复杂的数学运算,以控制精度和速度。”汤姆森说道。同时浮点单元的计算能力对于多媒体数据处理也很重要,比如解码音乐文件和进行物理模拟,或者是“任何需要大量计算的操作”。

一次富有成效的合作

摆在汤姆森面前的路十分清晰:重建Debian系统,以让其能在树莓派上运行。但这需要从Debian上移植19000组软件包至Raspbian上,工作量十分庞大。

为此,汤姆森在树莓派论坛开设了一个帖子,召集对于将Debian移植到树莓派感兴趣的人。而这个帖子引起了彼得·格林的注意。彼得·格林是一个Debian系统开发者,英国的PhD,同时也是论坛中的“plugwash”(他的ID)。

“我觉得我是在论坛中讨论将Debian变成Raspbian的人中,唯一一具备足够的Debian知识、能让项目成功的人。”格林说道,“我想其他Debian开发者如果足够执着和疯狂,他们也能完成Raspbian这项工作”。

当汤姆森和格林开始Raspbian项目的时候,树莓派的机器其实还没有成型。即便成型、量产了,也未必有足够的时间去重建Debian系统。为此,汤姆森用8个飞思卡尔iMX53快速启动主板,每个配备1G内存和1GHz ARMv7处理器,以及SATA硬盘组建了一台试验机。这台机器花费了汤姆森近3000美元,不过好来通过募捐填补了这部分花销。除了这套单片机ARM系统外,还有一台Linux PC用来当服务器,作为Raspbian的存储库(Repository )。这台服务器从Debian的存储库中检索资源包,为飞思卡尔系统分配任务,并收集二进制软件包。“重建好的软件包都被放在存储库中,然后同步到www.raspbian.org服务器上的外部存储库中,供用户抽取软件包”。汤姆森解释道。

起初,汤姆森采用了基于ARM的惠普Media Vault MV5150 来当软件存储库,但后来当存储需求上升时便升级到了基于英特尔的系统。尽管每块飞思卡尔主板都有自己的硬盘用来存储构建中的软件包,但是主要的存储任务还是交给了服务器上的500G硬盘来处理(目前已用完2/3的空间了)。下图是汤姆森组建的这台试验机。

当然,汤姆森和格林并非是从零开始。Debian已经成为了应用范围很广的Linux OS,它对ARMv7的支持为研发工作提供了一个坚实的基础。“我们充分利用了Debian项目组之前在ARMv7上运行浮点单元所得到的成果。”汤姆森说道,“除了要重建19000组软件包以外,其实对于在树莓派上运行Debian的工程,Debian项目组已经完成了95%”。当然这并不是说汤姆森和格林把ARMv6及浮点单元带到Debian上是徒劳无功的。对此,汤姆森解释道:[!--empirenews.page--]

Debian系统中的编译器有内置的默认设置。这些默认设置设定了CPU单元、CPU最低需求以及应用二进制界面(ABI)等。而大部分软件包并不受这些设定控制。我们在ARMv6上对编译包进行了改良,减少了默认设置的数量。

大部分的原始工作都是人工的,不过格林最终创建了一个自动构建器软件来完成所有的软件包构建工作。这个基于Chroot环境的构建器至今仍在运行,它能及时地把Debian存储库中的新软件包自动转译到Raspbian中。同时,这些自动构建器还能监测到各种阻碍自动转译程序的问题。2012年4月20日,Raspbian的限制版开放下载,只包含了5%的Debian软件包。

重建19000个软件包

Debian ARM版中有36000个软件包需要进行移植。幸运的是,有17000个不包含任何可执行代码,因此直接转移到Raspbian上即可。这些软件包包括诸如帮助文件、说明书、软件包文档、字体等不可执行的东西。而其余19000个软件包则包含可执行代码,庞大的工作量直到去年6月初才全部完成。对于汤姆森来说,这简直就是3个月的全职工作,“有几周我的工作时间达到了60至80个小时”。

汤姆森估计约有5%的Debian软件包无法成功地通过自动构建器进行编译。这意味着他和格林要手动改写任何专门为ARMv7设计的代码,并将其重建以适应ARMv6处理器。此外,大约有50至100个软件包是压根不能转译的。“这些软件包是诸如调试器等专门给ARMv7处理器设计的东西。有一些甚至在树莓派上根本没有存在的意义。”汤姆森解释道。

Raspbian的用户界面其实是可有可无的。由于树莓派主要用于编程教学,它的默认用户界面包含了一个Python开发环境。下图是Raspbian的默认界面。


Raspbian取代了Fedora——而且还会继续改进

上文提到过,树莓派起初采用的是一款基于ARM的Fedora OS。然而Fedora对内存的需求成了绊脚石——树莓派的初版只有256M内容(现在新版的有512M内存)。树莓派的创始人Eben Upton表示,他们在2012年5月份放弃了Fedora,然后又向用户推荐Debian系统,“当Raspbian在8月份诞生时又转而推荐这款OS”。

较小的内存占用、易用性以及对浮点单元的支持成为了Raspbian制胜的关键因素。目前针对树莓派的Fedora系统仍然在研发中,不过树莓派官方的下载页面只推荐了Raspbian、Arch Linux ARM和RISC OS。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭