• 媒体品牌
    爱范儿
    关注明日产品的数字潮牌
    APPSO
    先进工具,先知先行,AIGC 的灵感指南
    董车会
    造车新时代,明日出行家
    玩物志
    探索城市新生活方式,做你的明日生活指南
  • 知晓云
  • 制糖工厂
    扫描小程序码,了解更多

Raspberry Pi 专属操作系统背后的故事

公司

2013-03-08 08:31

Raspberry Pi 发布已经有一年的时间。在这一年里,Raspberry Pi 售出 100 万台,受欢迎程度超越预期。或许更重要的是,它已经成为 Geek 们最爱的工具之一。Raspberry Pi 被用在各种创造性的项目上。最近 Wired 的一篇文章报道说,有人将 Raspberry Pi 用于自动调酒机。

在爱好者的热心研究下,Raspberry Pi 已经可以运行各种操作系统,甚至有人把 Plan9 移植到了它上面。不过,官方网站推荐的系统是三个:Raspbian,Arch Linux ARM 和 RISC OS,其中,Raspbian 特意推荐给初学者。Raspbian,顾名思义,就是专门为 Rasperry Pi 移植的 Debian(历史悠久的 Linux 发行版。Ubuntu 就是基于 Debian。) 或许你并不知道的是,Raspbian 完全是两个业余爱好者凭借一身热情打造的。从 Ars 网站的一篇文章中,我们得以了解 Raspbian 诞生的故事。

Mike Thompson 曾是网络公司 Atomz 的联合创始人和首席技术官。机器人是他最感兴趣的领域之一。在他看来,由于廉价和微小的体积,Raspberry Pi 很适合这个领域。问题是,在移植的操作系统中,没有一个为 Raspberry Pi 的浮点运算单元全面优化过。

“当我第一次了解到 Raspberry Pi 的时候,我失望地看到,在为 Raspberry Pi 移植的 Linux 发行版中,没有一个可以利用 Pi 上的浮点硬件”,Thompson 说,“作为一个 Debian 的长期用户,我想的是,‘我宁可看到 Debian(而不是 Fedora)’,而且我想要看到浮点硬件发挥作用。我对于用便宜材料制造机器人有着长期的兴趣”。

不过,Debian 只为 ARMv7 处理器增添了浮点支持,并没有照顾到 Raspberry Pi 使用的 ARMv6。这意味着成千上万的软件包无法支持 Raspberry Pi。Mike Thompson 觉得,自己必须重新构建 Debian。

Thompson 在 Raspberry Pi 论坛开了帖子,寻求志同道合者。这引起了另一位 Debian 开发者 Peter Green 的注意。Green 是英国的博士生,拥有丰富的 Debian 知识,更重要的是,他对这件事情很有热情。

“在讨论这个最终成为 Raspbian 计划时,我觉得自己是唯一一个具有足够 Debian 知识,而且能够能使重构成功的人。”Green 说,“我确信,Debian 项目中的其他人也能够做成这件事情,如果他们感兴趣,而且足够疯狂的话。在 Debian 项目中有许多人一直给我们提供帮助。”

为了 Raspbian 项目,Thompson 花费了 3000 美元。他用 8 块 Freescale iMX53 Quick Start Board 做了一个工作站,并且把一台 Linux PC 用作保存 Raspbian 版本库的服务器。服务器会从 Debian 软件库那里下载代码包,为 Freescale 系统分配任务,并且在编译完成后保存二进制包。这些二进制包会和 raspbian.org 同步,供用户下载。

得益于开源的优势,Thompson 和 Green 无需从零开始。Thompson 说,95% 的工作已经由 Debian 完成了。在开发 Raspbian 的过程中,Green 还编写了自动编译软件,以提高效率。

Debian ARM 一共有 36,000 个软件包,其中 17,000 个不包含任何可执行代码,可以直接使用到 Raspberry Pi 上。剩下的 19,000 个软件包需要移植,这花费了两位开发者 3 个月的时间。Thompson 说,” 有时,我一周内有 60 到 80 个小时都在工作”。

项目刚开始的时候,Raspberry Pi 的硬件没有发布,Raspberry Pi 基金会在 Beta 版硬件上为 Raspbian 做了测试。Thompson 并没有构建过 Linux 发行版,Linux 社区,特别是 Debian 社区向他提供了热情的帮助。Peter Green 的参与加快了开发进度。他们能够一天编译上千个软件包。

Thompson 说,大概有 5% 的 Debian 包无法通过自动编译完成,必须手工改动代码。50 到 100 个软件包根本无法移植,“那些包是 Debugger 或者专为 ARMv7 处理器编写的东西,其中一些包没有必要在 Raspberry Pi 上运行”。

两个人的工作得到了 Raspberry Pi 基金会的认同。基金会原本推荐的是 ARM 版的 Fedora,但是 Raspbian 的良好表现使他们改变了主意。Raspberry Pi 的创始人 Eben Upton 告诉 Ars 网站,2012 年 8 月的时候,Raspbian 构建完成。基金会制作了 Raspbian 的系统镜像,并开始在网站上推荐。

目前,维护 Raspbian 的服务器仍在 Thompson 家里的地下室,Green 从远程登录维持着更新。由于 Thompson 开始为一个机器人咨询公司工作,他将维护工作交给了 Green。Green 现在的希望是,将服务器放在一个更好的地方,并且完善自动编译软件。

由于两个人忙于开发 Raspbian,自己手中的 Raspberry Pi 反而被搁置了。“我想要用 Pi 做些东西,但我从来没有时间去做”, Green 说。Thompon 也是一样。他拥有三个 Raspberry Pi,但没有做过什么。不过,他说最近会做一个项目。

Thompson 目前还在帮助机器人公司 Willow Garage 移植 ROS(机器人操作系统)到 Pi 上。他说,Raspbian 已经是维护状态,服务器上已经有了闲置的空间,可以用来做些其他事情。

 

图片来自 Ars Technica

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中