首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
嵌入式技术
» 35美元电脑Raspberry Pi的OS是如何诞生的?
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
35美元电脑Raspberry Pi的OS是如何诞生的?
发短消息
加为好友
rise_ming
当前离线
UID
864567
帖子
4448
精华
0
积分
2224
阅读权限
70
在线时间
123 小时
注册时间
2011-12-12
最后登录
2014-8-25
金牌会员
UID
864567
1
#
打印
字体大小:
t
T
rise_ming
发表于 2013-3-31 00:28
|
只看该作者
35美元电脑Raspberry Pi的OS是如何诞生的?
关键词
,
北京时间
,
如何
关键词:
Raspberry Pi
,
Raspbian
北京时间3月18日消息,
美国科技新闻网站ArsTechnica近日撰文,探究了廉价迷你Linux电脑Raspberry Pi的专属操作系统Raspbian背后的故事。
Raspbian基于著名的Linux发行版Debian开发,在问世之后就立即取代了大名鼎鼎的红帽 Fedora,成为Raspberry Pi基金会官方推荐的操作系统。
让许多人意想不到的是,Raspbian所有的开发工作均由两名狂热的Pi爱好者利用业余时间完成。
以下为文章概要:
在你花费35美元购买Raspberry Pi之后,这台迷你Linux电脑并未预装任何操作系统。你可以将你喜欢的操作系统载入到SD卡并启动Pi,整个过程并不困难。但与Pi兼容的操作系统是从哪里来的?
在Raspberry Pi刚刚度过一周岁生日之际,我们决定探究Raspbian--官方推荐的Pi操作系统--的前世今生。Raspbian项目凝聚了开发者每周花费60个 小时、连续数周工作的心血。开发者需要自制一台ARM电脑,并重新编译1.9万个Linux软件包。所有这一切,都是由两个志愿者完成的。
意外的成功
尽 管市面上有许多与Pi兼容的操作系统,但Raspberry Pi基金会通常对普通用户仅推荐其中的一款。在Pi诞生于一年之前时,官方推荐的系统是一款针对ARM处理器优化过的红帽Fedora操作系统。但仅仅几 个月之后,Fedora失去了Pi社区的支持,被Raspbian取而代之。后者是一款专门为Raspberry Pi重新修改过的Debian系统,其作者是名为麦克·汤普森(Mike Thompson)和皮特·格林(Peter Green)的两个志愿者。
这 一切的开始,要从汤普森对机器人的爱好说起。汤普森是曾是托管搜索服务商Atomz的首席技术官和联合创始人,该公司于2005年被 WebSideStory收购。汤普森获得了Atomz出售价4500万美元中的一笔不菲金额,因此他决定暂停几年的工作,花更多的时间与妻子和孩子在一 起。
一年前,他终于准备重返科技领域。机器人是汤普森的主要兴趣之一,而Pi看起来是很棒的承载平台。Pi价格低廉且体积小巧,很容易被嵌 入到各种系统之中。但在当时,没有任何一款操作系统是完全为Pi的浮点计算单元优化的,而浮点计算在机器人项目和其他运算密集型应用中非常重要。
“在 我最初接触到Raspberry Pi时,令我失望的是,没有一款Linux发行版能够利用Pi的高速浮点运算硬件,”汤普森说。“作为一名长期的Debian用户,我当时想,‘我宁愿试 试Debian(而不是Fedora)’,让它充分利用Pi的浮点运算能力,因为我长久以来一直希望能够在这些廉价的盒子上开发机器人。”
Debian 当时已经为ARMv7处理器增加了浮点运算支持,但该功能并不支持Pi所使用的ARMv6处理器。”Debian最初并未预见到会出现类似于 Raspberry Pi的产品。尽管Pi的ARMv6处理器拥有相当强大的浮点运算单元,但Debian并不支持,“汤普森说。因此,”他们开发的成千上万款软件包都不会支 持Raspberry Pi。”
就像图形处理器处理图形任务很快一样,“浮点运算单元处理数学计算的速度非常快,”汤普森说。“浮点运算单元是一种外围配件,并非所有的计算机都有,但只要一台电脑有,那么你就一定希望充分录用它。”Pi的浮点运算单元来自于该机搭载的博通BCM2835 SoC。
如 果操作系统不能利用硬件中的浮点计算单元,许多数学上的运算都必须使用软件处理,这拖慢了Pi处理任务的速度。这对于机器人来说非常重要,因为在处理来自 摄像头和传感器的数据,以及精确控制马达时,需要进行非常复杂的数学运算,汤普森说。浮点运算对于多媒体处理、解码音乐、物理模拟等几乎所有数学运算密集 型的任务都非常重要。
Raspbian项目创始人麦克·汤普森
富有成效的合作
摆在汤普森面前的道路很清晰:重建Debian操作系统并将使运行于Raspberry Pi。这需要将1.9万个软件包从Debian移植到Raspbian--这是一项浩大的工程。
不过,汤普森并非单打独斗。他在Raspberry Pi论坛发起了一个帖子,与其他有兴趣将Debian移植到Raspberry Pi的开发者进行讨论。这个帖子引起了Debian开发者、英国博士生皮特·格林的注意。
格林是这项工作独一无二的人选。他不仅拥有与汤普森共同带领该项目的专长,而且足够疯狂到真正去做这件事。
” 我感觉,我可能是这个帖子里参与Raspbian项目讨论的人中,唯一一个掌握足够Debian知识的开发者,而这是移植成功的基础,“格林说。”不过我 也相信,如果Debian项目内部有人对Raspbian项目感兴趣并足够疯狂来做这件事,那么他们也能完成这一任务。在Raspbian开发的过程 中,Debian项目的许多人都为我们提供了帮助。“
在汤普森和格林启动Raspbian项目时,Pi尚未正式发售。即便当时Pi已经发 售,这款设备也无法在合理的时间内重建Debian。因此,汤普森串联了八块飞思卡尔iMX53 Quick Start开发板,每一块主板都拥有1G内存、一颗1GHz ARMv7处理器,以及最重要的SATA硬盘。Pi不适合这种类型工作的主要原因之一,是USB存储带来的瓶颈,汤普森说。使用飞思卡尔主板开发 Raspbian系统的效率比Raspberry Pi要高4到12倍。
汤普森在这些开发板上花费了近3000美元,但后来该项目获得的捐 款足以补贴这些支出。除了单片式ARM系统,汤普森还购买了一台Linux PC作为Raspbian开发的存储库(repository)。这台存储库服务器从Debian存储库中获取源软件包,安排飞思卡尔系统的任务,一旦一 个版本开发完成就收集二进制软件包。”所有开发包都会被上传到存储库中,然后与
www.raspbian.org
网站的外部存储库同步,用户则从
www.raspbian.org
中获取软件包,“汤普森解释称。
最初,汤普森使用一台基于ARM的惠普Media Vault MV5150作为存储库的服务器,但后来由于需求的增加而升级至英特尔系统。尽管每一块飞思卡尔开发板都拥有独立的硬盘,但主要的存储任务是由存储库服务 器的500G硬盘完成的,这块硬盘现在已经有三分之二满了。下面就是这套系统最初的样子:
飞思卡尔开发板和ARM架构的惠普服务器
汤普森和格林的工作并未从零开始。Debian已经是开源社区最为著名的Linux操作系统之一,其ARMv7移植为Raspbian的诞生打下了坚固的基础。
”我们极大地利用了Debian项目此前在支持ARMv7设备的浮点运算硬件时所作的工作,“汤普森说。”我们并非真的开发出了1.9万个软件包,95%的移植工作事实上已经由Debian完成了。“
然而,这并不是说,汤普森和格林将Debian移植到ARMv6及其浮点运算单元的工作轻而易举。
格伦解释道,“在Debian系统中,编译器内置了一定的默认设置。这些默认设置决定了CPU系列、最低CPU要求,以及应用二进制接口(ABI)。绝大多数软件包都未修改这些设置。我们修改了这些编译器包,从而将默认设置降低至ARMv6。对于绝大多数的源软件包,使用内置新默认设置的编译器进行重建,就足够使其运行于ARMv6代码。”
最初,许多代码工作都是手工完成的,但格林后来开发出了一款自动编码软件,将大部分过程自动化。这些自动编码软件至今仍在运行,从Debian存储库中获取更新后的软件包,然后将其重新自动编译,以适用于Raspbian。
Raspbian于2012年4月20日以有限的形式放出下载,最初只包括了约5%的Debian软件包。“这足够运行root文件系统,并将Raspberry Pi启动至命令行界面,”汤普森说。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议