当你花35美元买到一部树莓派(Raspber">

华强电子网

电子元器件
采购信息平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

Raspbian:世界上“最小的”操作系统是怎样炼成的?

来源:华强电子网 作者:华仔 浏览:310

标签:

摘要: "

当你花35美元买到一部树莓派(Raspber

"

当你花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上是徒劳无功的。对此,汤姆森解释道:"

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67