Moblin.org开源项目.doc

867 views

Published on

  • Be the first to comment

  • Be the first to like this

Moblin.org开源项目.doc

  1. 1. Moblin.org 开源项目 http://www.moblin.org Derek S. Speed,Open Source Technology Center,Intel Corporation 简介 市场上出现了一种新的设备,它能够访问 Internet 上丰富的内容,同时没有与 PC 相关的复 杂性。这些设备以各种形式出现,从移动互联网设备(Mobile Internet Devices,MID)、便 携式媒体播放器(PMP)到个人导航设备(PND)、数码机顶盒(STB)到笔记本电脑。 Moblin.org 项目由 Intel 于 2007 年 7 月正式启动,它的目的是推动此类设备所需的最新技术 的发展。Moblin.org 项目最初主要集中于开发 MID 的软件系统,但随着时间的推移,现在 已经包含了其他产品种类。 本文将描述 Moblin 项目背后的动机,它的目标、关键项目和技术,以及演变过程。 Moblin 愿景 2006 年,Intel 发布了第一代超级移动电脑(UMPC),此时设备制造商表示,他们迫切需 要更多的操作系统,能满足以下更高水平的要求:  可从多个供应商处获取  成本低,使这些设备能够以消费者能够接受的价格卖出  向最终用户提供丰富的 Internet 和多媒体体验  可定制,允许在各种设备和制造商特有的品牌上发行  能更好地支持无线网络技术(WiFi、Bluetooth、GPS、3G、WiMax)  能进行优化,以降低能耗、 延长电池寿命、 更有效地利用系统资源,比如内存和存储器  系统软件和内置应用程序符合消费者习惯、直观、易于使用  为提高软件可用性和方便开发人员,利用 x86 软件系统  启用更具吸引力的新用户模型和用户界面图 从这些要求来看,基于 Linux*的操作系统可以作为突破口。实际上,许多成功的移动产品 和消费电子类产品都使用 Linux 作为核心操作系统。 但是,开源社区总是会主动推动这些设 备所需的新技术的发展。 基于以上原因,Moblin.org 项目的想法诞生了。Moblin.org 项目的目的如下:  开发新技术,填补对 MID 和其他面向消费者的设备使用 Linux 的空白  启动支持这些新设备所需的软件系统
  2. 2. Moblin 试图解决的主要问题是什么? 因为第一代 MID 基于标准的移动 PC 硬件,Intel 项目团队很容易将桌面/笔记本 PC Linux 发 行套件移植到 MID 平台,执行一些早期研究,帮助定义 Moblin 项目的范围。完成该步骤后, 一些问题很快暴露出来:  标准的 Linux 桌面用户界面(UI),比如 GNOME 和 KDE 更适合有经验的计算机用户, 并不适合于新手。Linux 的“幕后运行”对于最终用户应该透明。  标准 PC Linux 发行套件的应用程序 GUI 编写在 MID 上运行不佳,MID 的主要输入方 法是触摸屏,主要输出方法是横向屏幕,比标准宽度( 800*480)要短。屏幕按钮太大 或者在屏幕上的位置不正确。 很多情况下,您甚至无法看到按钮,因为它们超出屏幕范 围了。  内存和磁盘占用太大。 标准 PC Linux 发行套件的大小有几 G,占用 512 MB 以上的内存。 由于成本问题,MID 的内存通常在 512 MB 以下,板载闪存通常有 4-8 GB。 如果占用太 多存储空间,将没有多余的空间供用户使用,并且运行时的性能可能不佳。  电源效率不高,这可能是 Linux 更多的关注其他基础问题,而忽视了对这个重要问题 的关注。  Linux 的软件开发通常在本身的系统上进行,这意味着软件可以在同一个系统上进行 编辑、 编译、 测试和调试。但由于 MID 使用的处理器功能较低(为了适合小功率),与 功能强大的多核笔记本或桌面工作站相比,它们可能不适合进行软件开发任务。 这个原型确定了 Moblin.org 的重点项目,即开发“适合 MID”的应用程序框架、适合消费者 的应用程序和用户界面、能耗优化、平台配置工具和开发环境。 同时,Moblin 团队意识到嵌入式 Linux 操作系统有很多优势:  操作系统高度模块化,允许平台开发人员能细粒度控制哪些组件可以安装到目标平台。 不利方面在于,平台开发人员需要详细了解上千种软件包才能开发出需要的最终用户 使用模型。  由于嵌入式 OS 在处理能源、内存和存储方面存在诸多限制,因此都进行了高度优化。  嵌入式 Linux 的软件开发模型是“主机/目标”模型,大部分开发(代码编辑、 编译、构 建)都在主机上完成,然后将得到的 OS 镜像文件下载到目标,并从主机 PC 远程进行 调试。 Intel Moblin 团队认为可以吸取桌面 Linux 和嵌入式 Linux 两家之所长。 Moblin 团队处理的第一个问题是如何让平台开发人员轻松地配置目标 Linux OS 镜像文件, 而无需详细了解目标设备镜像文件中需要哪些软件包。解决方案是创建了一个成为关键 Moblin 项目之一的内容,“Moblin Image Creator”。
  3. 3. Moblin Image Creator 概述 Moblin Image Creator(MIC)是一个以两种开发人员为目标的工具:负责创建运行在设备 上的核心平台软件的平台软件开发人员;创建为核心软件堆栈添加价值的软件组件的开发 人员。第二种开发人员通常创建中间件/库或者最终用户应用程序。 如果您是平台软件开发人员, MIC 允许您轻松为目标设备创建镜像文件,包含启用特定用 户模型所需的所有软件组件。 您不需要知道要配置上千种开源软件中的哪些来启用特定用户 模型,只需要使用 MIC 从一组预定义的功能集合进行选择,即可轻松创建可以下载到目标 设备的镜像文件。 如果您是中间件或应用程序开发人员, MIC 可以用来创建一个开发环境,它包含了隔离 (chroot)环境中进行编译、测试和调试软件所需的所有核心组件。 MIC 在运行 Linux 的主机开发 PC 上运行。在您希望在实际目标硬件上运行镜像文件之前, 所有的开发工作都在主机 PC 上完成。要运行时,特定于设备的镜像文件将刻录到可擦写媒 体(USB 随身存储器、 DVD 等),从主机传输到目标并在目标上加载。 因为主机和目标设备 都是基于 x86 指令集的,因此不需要交叉编译和模拟。 要理解 MIC 的工作原理,首先要了解几个基本术语: 项目(project):项目是特定于平台的构建环境,它具有一个或多个目标。 当创建一个项目 时,MIC 将在您指定的目录中创建一个完整的 Linux 文件系统。Chrooting 到该目录将创建 一个隔离环境,您可以为设备开发软件,而不会影响开发机器的根文件系统。 该环境包含了 很多工具,比如 apt,您可以用来安装所需的工具包。项目目录包含了一个或多个目标,这 些目标加载到<项目位置>/targets 目录中。 平台(platform):平台是您的目标设备。 创建项目时要选择平台。 这确定了哪些内核、系统 配置、设备驱动程序将可以用作项目中创建的目标的一部分。 目标(target):目标是特定于平台的 Linux 文件系统,在项目的/targets 目录中创建。您通 过目标创建镜像文件。 每个项目可以存在一个或多个目标。 与项目类似,您也可以在创建镜 像文件之前 chroot 到此环境以从项目中配置和复制应用程序。 函数 /功能集合( function/feature set,fset):函数(或功能)集合是一组包,表示 Moblin Image Creator 可以在目标上安装的函数区域。MIC 中包含了很多预定义的 fset,从最小的“ 核心”fset(将平台引导到命令提示行)到完整的 MID 堆栈 fset(包括浏览器、媒体播放器 和应用程序启动界面/主屏幕)。 Fset 与其他 fset 可能具有依赖关系。如果您选择安装依赖其 他 fset 的 fset,则首先可能会在目标上自动选择并安装先决 fset。平台开发人员可以随意创 建自己的定制 fset,以满足各自的需要。
  4. 4. 镜像文件( Image):镜像文件是一个从目标创建的大型( 350-600 多 MB,取决于包含的 fset 数量)二进制文件。可以创建很多类型的镜像文件,包括实时镜像文件( OS 运行于可 擦写媒体,未安装到设备上)和安装镜像文件(软件堆栈加载到设备的内置闪存或磁盘驱 动器中)。创建镜像文件后,可以在目标设备上安装它,或者从可擦写媒体(比如 USB 随 身存储器或 DVD-ROM)运行。 下图展示了项目、平台、目标、fset 和镜像文件之间的关系: 图字: 项目 目标 镜像文件  开发环境的文件  目标设备文件系统(完全针对设  ISO 或 USB 目标镜像 系统 备配置) 文件  开发库  实时或可安装镜像文 件 Moblin Image Creator 提供 GUI 和命令行两种界面。下图是 GUI 界面。 创建目标后,平台开发人员可以在主机 PC 上编写、 构建、测试和调试他们的软件。通过使用 MIC 和 xephyr 工具,需要在目标设备上显示的屏幕输出可以在本地工作站显示,大部分软 件开发都不需要实际的目标设备。 当然,特定于设备的软件,比如内核、设备驱动程序、硬件 加速图形、多媒体编解码器和电源管理软件需要在实际目标设备上运行和调试。
  5. 5. 下图是在 xephyr 下运行的应用程序启动界面/主屏幕。 Moblin.org 技术 Moblin 核心 Linux 堆栈基于经过 Linux 和其他开源社区考验的技术,由 Moblin 团队精心挑 选,以启动 MID 和其他面向消费者设备的目标使用模型。这些技术包括: 图形、 窗口设置、 多媒体:X Window System、OpenGL、GStreamer、Helix、ALSA、Video for Linux、Matchbox窗口管理器 应用程序框架:GTK、Cairo、Pango、BlueZ、D-Bus、Avahi、Evolution Data Server (EDS) 核心操作系统:Linux kernel、 芯片集驱动程序、 特定于平台的设备驱动程序、 核心库、 完整的 网络堆栈、USB堆栈、平台电源管理等。 Web浏览器:基于Mozilla的浏览器,全面支持可用的Linux插件,比如Adobe*Flash*
  6. 6. 下图展示了Moblin软件架构的高级视图。 Moblin Linux* 内核堆栈 娱乐 信息 通信 (音乐 / 视频流, 移动TV, 游戏, (新闻/RSS, Google 地图, (Internet, Email, IM, VOIP) 摄像) 方位, 定位服务, 办公/企业应用) 参考主用 户 界面 参考主用 户 界面 开 源 应 用程序 开 源 应 用程序 支持 扩 展的 浏览 器 支持 扩 展的 浏览 器 媒体播放器 •Email •Notepad Mozilla* 内核 Mozilla* 内核 媒体平台框架 •Chat •Games (Helix*/ GStreamer) Linux 内核 堆栈 •Control Panel Flash* PDF* Java* 安全管理 安全管理 •Image Capture 源管理 源管理 Codecs DRM 电 电 基于Hildon 应 用框架的 GNOME Mobile 基于Hildon 应 用框架的 GNOME Mobile 内核操作系 统 内核操作系 统 驱动 驱动 英特 尔® 迅 驰™ 凌 动 处 理器技 术 英特 尔® 迅 驰™ 凌 动 处 理器技 术 ISV 提供 开源 IHV 英特尔参与部分 *文中涉及的名称及商标归属于各自所有者资产 绿色栏中都是开源软件组件,大部分都经过了 Intel 和 Moblin 社区其他成员的优化,使用 Moblin Image Creator 构建目标设备镜像文件时会包含这些组件。橙色栏中是可选的软件组 件,有些不是开源的,创建完整的平台可能需要独立软件供应商( ISV)的 OEM 进行授权 许可。 Moblin 项目 Moblin.org 包括了几个开源项目,侧重于开发 MID 和其他面向消费者的设备所需的关键技 术。这些项目包括:  Moblin Image Creator  内核:特定于平台的内核包和设备驱动程序是 kernel 项目的组成部分,还包括一些有 关如何添加自定义包和构建内核的信息。  UI 框 架 : UI Framework 项目集中于移动互联网设备主界面以及底层框架(基于 GTK)的开发。可定制性是 UI Framework 项目的重要方面,主要关注如何轻松重构和 扩展 UI。  电源策略管理器: 电源管理是移动设备和消费电子类产品中 Linux 的关键方面。电源 策略管理项目主要关注扩展和增强现有的 Linux 电源管理功能,提供全面、稳定、可扩 展的电源管理框架。
  7. 7.  连接 管理器: 移动互联网设备应该能够提供丰富的通信选项集,从无线 LAN 到个人 区域网络技术(比如蓝牙技术*)。Connection Manager 项目解决网络配置和配置文件 驱动的动态网络选择这些难题。  浏 览 器: 完整功能的浏览器是移动设备和消费电子类产品提供绝佳 Internet 体验的核 心内容。 浏览器项目重点关注扩展基于 Mozilla 的浏览器核心,添加一些简单、 可触摸的 UI。 下图是运行在 MID 上的 Moblin 浏览器。  媒体播放器:多媒体项目多媒体应用程序开发的集中地,这些应用程序将支持音频和 视频回放、 照片查看,以及通过为移动设备优化的界面进行内容管理。 多媒体应用程序 Moblin Media 支持 Helix*和 GStreamer*多媒体框架。
  8. 8. 下图展示了 Moblin 多媒体播放器在 MID 上播放视频。  图像拍摄。 图像拍摄项目重点关注如何让最终用户使用内置摄像头进行图片、 视频的拍 摄、管理以及共享 。、视频的拍 摄、管理以及共享。  聊天应用程序。聊天应用程序项目构建于 Telepathy 的框架和规范之上,继承了它的许 多优点。它提供了一个健壮的框架以支持常见的通信协议。 下图是运行在 MID 的 Moblin Chat。  Applets: Moblin Applets 关注创建和维护 Moblin 桌面环境的配置实用工具。配置实用 工具是软件的组成部分,能够更改一个或多个移动设备的设置。 每个工具都支持一个独 立的 GUI,通常使用对话框的形式。 下图展示了一个运行在 MID 的 Moblin applets,背景首选项 applet。
  9. 9.  SDK。 软件开发人员使用 SDK 创建软件组件和应用程序,以针对 Moblin 兼容平台进行 优化。它包括各种工具(如 Moblin Image Creator)、文档和示例代码。  Moblin 兼容性。 Moblin 兼容性项目的目标是定义一组通用 API、库和其他组件,以供 启用 MID 或其他设备的关键使用模型时使用。它以 Linux Standard Base 项目为基础 。 Moblin 兼容性项目包括 Moblin 兼容性项目规范和一组工具,这些工具使 OSV 和 ISV 能够测试他们的 OS 和应用程序是否遵守了规范。 有关详细的项目描述和加入信息,请访问 http://www.moblin.org.project.php MID 软件系统中 Moblin 的角色 Moblin 在 MID 软件系统中扮演三个关键角色: 1) 创建一个开发人员社区,关注创建和增强基于 Linux 的 MID 和其他设备所需的核心技 术。 最先创建 Moblin 时,这是该项目的首要目标。创建 MID 为目标的 Linux 操作系统版 本的供应商将使用此核心技术。 2) 创建一个开发人员社区,关注创建能给 Moblin 核心 Linux 堆栈增加价值或带来创新的 新软件和服务。随着基于最新 Intel® Centrino® Atom™ 处理技术的第一代 MID 的发布, Moblin 项目的角色逐渐包含了这一关键功能。
  10. 10. 3) 定义一组标准和工具,使操作系统供应商(OSV )和 ISV 能够轻松确保跨多个供应商 的 Linux 版本的二进制兼容性。 下图是 Moblin 如何满足设备系统需要的可视化表示形式。 图字: Intel 的关键启用技术 上游项目关注 MID 和其他设备的 Linux 和开源软件 完整的集成 Linux 堆栈包括有偿支持 设备制造商 对于具有大量内部 Linux 专家的 OEM 来说,直接使用 Moblin 也是一个可能的选择。内部 Linux 专家较少的 OEM 可能要利用 Linux 操作系统供应商(比如 Canonical 或 Red Flag)的 技术,这些供应商基于 Moblin 技术创建了很多产品。 为什么 Moblin 对于 Moblin Linux 系统如此重要 有许多组织、 团体和公司都在创建移动 Linux 平台。 但大部分都局限于 Linux 和移动电话。 这 些组织和项目有 LiMo Foundation 和 Google 的 Android 项目。 Moblin 与这些项目的区别在于:  Moblin 是一个完全开源的项目。如果您希望贡献一份力量或使用 Moblin 组件,不需要 签订任何法律协议,可以免费成为会员。 欢迎各大公司和个人开发人员的积极参与。 与 其他成功的开源项目一样,代码和捐助将在 Moblin 社区公布。  Moblin 与 Linux/x86 软件系统结合。 是许多 Linux 和开源软件开发人员的最爱。 x86 多年 以来,这些开发人员已经为 Linux/x86 平台创建了成千上万种软件组件。 由于 Moblin 基 于久经考验的 Linux 技术,许多软件组件可以直接使用,无需修改,只要安装二进制 代码然后运行即可。对于拥有 GUI 组件和需要针对 MID 进行优化的软件组件,移动到 Moblin 只是一次移植,而不是重写。相反,其他环境需要开发人员学习新的 API 和/或 语言。这种与现有 Linux/x86 系统的高度兼容性使 OEM 减少了面市时间,同时可以利 用最新最好的 Linux 和其他开源软件的开发成果。  Moblin提供丰富的Internet体验。Moblin web浏览器基于Mozilla*技术,也就是用于知名 的Firefox* web浏览器的技术。Moblin web浏览器支持常见的web技术,比如HTML 4.01、XHTML 1.0/1.1、Cascading Style Sheets (CSS) 1.x和2.x、JavaScript 1.7。由于许多 Internet的丰富内容都要求使用Adobe* Flash*之类的浏览器插件,因此Moblin的web浏 览器提供的用户体验是许多其他移动平台所无法比拟的。流行站点 YouTube*、Facebook*、NBC.com、CNN.com的内容看起来与桌面系统相差无二,这使 OEM能够提供“放在口袋里的最佳Internet体验”。
  11. 11.  Moblin技术不局限于移动电话。许多其他移动Linux项目都局限于移动电话平台。 MID只 是Moblin支持的一个关键平台,Moblin的眼光更加长远,包括了MID、车载信息系统以 及其他消费电子类设备。 Moblin兼容的 Linux版本 Ubuntu项目的发起人Canonical*创建了一个以移动互联网设备为中心的Linux版本,叫做 Ubuntu Mobile,该版本结合了Moblin项目的一些技术。有关Ubuntu Mobile产品的更多信息, 请访问http://www.ubuntu.com/mobile。开发人员可以参考Ubuntu wiki: https://wiki.ubuntu.com/MobileAndEmbedded Red Flag* Software也创建了一个以MID为中心的Linux版本,叫做MIDINUX*,同样结合了 Moblin项目的一些技术。有关MIDINUX的更多信息,请访问 http://www.moblin.org/news/RedFlagPR_0603Final.pdf 希望其他主要Linux供应商将来也能创建与Moblin兼容的版本,给OEM以更多的选择。 MID的 Intel软件开发工具 对于Linux开发人员来说有一个好消息,那就是有很多工具可供选择。除了很好的开源工具 如MIC、 、 gcc PowerTop之外,Intel还创建了一个工具套件,专门帮助开发人员减少面市时间 并获得MID软件更好的性能。这个用于基于Linux的MID的一流工具集合包括:  Intel® C++ compiler for Linux,添加了对Intel® Atom™处理器的支持:Intel® C++ compiler for Linux与gcc兼容,使用配置文件导向的优化之类的高级技术,提供一流的 性能。  两个新的调试器:一个以应用程序调试为目标,还有一个基于JTAG的调试器,以出现 的低级应用程序和硬件为目标。这些新调试程序能够全面了解平台和OS。  Intel® Integrated Performance Primitives (IPP):一组高度优化的库,涉及15个应用程序 领域,包括摄像、 音频和视频、 信号处理和加密。 Intel IPP还包括一组示例代码,帮助启 动开发过程。  Intel® VTune™ Performance Analyzer:允许开发人员确定和解决代码中难以找到的性 能瓶颈。 这些工具都是免费提供的,有社区和Intel的收费支持,这在历史上是第一次。 有关更多信息, 请参见 http://www.intel.com/software/products/mid
  12. 12. 行动起来,加入 Moblin 希望本文能让您对Moblin项目感兴趣并开始考虑加入进来。以下内容供您参考: 1) 到Moblin网站查看更多信息-http://www.moblin.org 2) 订阅Moblin开发人员邮件列表http://www.moblin.org/mail-list_subscribe.php并加入。 3) 下载Moblin SDK http://www.moblin.org/SDK.php。SDK包括Moblin Image Creator、更多文 档和示例代码,帮助您轻松着手工作。使用MIC了解如何轻松创建目标镜像文件及在您 的Linux PC上运行。开始向Moblin移植您最喜欢的软件,通过邮件列表告诉其他开发人 员。 4) 获取Intel开发工具 http://www.intel.com/software/products/mid,增加您的开发生产力。 结束语 Moblin.org是Intel发起的一个关键开源项目,它致力于创建一个社区,使软件开发人员能够 推动MID和其他设备所需软件的发展。开源软件为这些设备打下了坚实的基础。 通过使用优 秀的开源技术,Moblin提供了一个独特的平台,开源开发人员可以利用他们的知识和经验 创建新的设备,帮助用户实现口袋里装下整个Internet的梦想。希望您能加入我们,一起为 实现这个愿望而奋斗http://www.moblin.org 关于作者 Derek Speed是开源技术中心(Open Source Technology Center,OTC)的高级技术专家,他 负责Intel开源项目的技术并行开发和宣称工作,其中包括LessWatts.org和Moblin.org。 OTC 在 担任此职务前,Derek管理着OTC的项目团队,负责Moblin.org项目的启动工作。 加入OTC前 它在Cellular和Handheld Group担任工程管理要职,支持Intel® XScale™微处理器上的Linux 和其他移动操作系统。他于1998年加入Intel,之前在Digital Equipment Corporation工作了15 年,担任过各种软件工程和技术管理职务。Derek 1983年以优异成绩毕业于维斯特工艺学院 (Worcester Polytechnic Institute,WPI)电子工程系,取得理工科学位,他兼修音乐。 *其他名称可能是其他公司的资产。 Copyright © 2008 Intel Corporation。保留所有权利。本文可从http://www.moblin.org下载 法律条款请参考http://www.intel.com/sites/corporate/tradmarx.htm。

×