现在的位置: 首页 > 综合 > 正文

Moblin开发库

2013年12月01日 ⁄ 综合 ⁄ 共 5543字 ⁄ 字号 评论关闭

 

开发库

简介

Moblin
Image Creator
允许你在目标中安装相关的程序组、捆绑包,称之为功能集” (fset) 。它们包括一些库和工具,能够为应用程序开发、系统配置、本地化等等,提供不同类型的功能性运用。这些也和普通的类和工具一样,你必须为
Moblin
应用程序开发安装它们到目标上。本指南将描述和解释可能需要或必须用到的 fset

该文档假定读者具备下列知识:

  • 基础 Linux 知识

  • 了解 MID

  • MIC 基础知识

该文档分成 2 部分

  • 第一部分介绍 MIC 中的 fset 和一些基本 fset

  • 第二部分描述在 Moblin 应用程序开发中可能需要的独立包(库和工具)。

MIC 中的功能集

该部分描述如何安装功能集(
fset
)到你的目标映像。

• 
概念

在使用 MIC
创建目标后,可增加一个或多个
fset
到目标。 Fset 是一捆独立包,用来添加高级功能。有些是对于特定目标的开发、系统配置、本地化,有些
fset
依赖其它 fset 。如果你选择安装一个 fset 需要依赖其它
fset
MIC 将自动安装这些所依赖的 fset

• 
功能集配置

当使用 MIC
去创建映像,基于你设备的物理架构,选择不同平台构架构。例如,
Samsung Q1 Ultra*
是当前建立的 McCaslin 低能耗
Intel
架构( LPIA )。如果你选择平台为 mccaslin-lpia MIC
将允许你仅安装该平台相应的
fset
。有些 fset 可用于所有架构,另一些则对应于特定设备。

• 
对于每个平台,可用
fset
的详细信息描述在 fset 配置文件中。通过阅读你平台上的这些特殊文件,你可以依照需要添加
fset
。这些文件通常放在工作站
/usr/share/pdk/platforms/[chosen-platform]/fsets/base.fset
目录中。例如,如果你目标平台是
menlow-lpia
fset 配置文件将位于
/usr/share/pdk/platforms/menlow-lpia/fsets/base.fset .

这是名为
Core
fset menlow-lpia 平台的
base.fset
中描述:

[Core]

DESC=Fundamental fset that provides a root filesystem that uses the Ubuntu*
kernel
PKGS=busybox-initramfs initramfs-tools pm-utils vbetool usplash-theme-ubuntu
dosfstools psmisc
DEBUG_PKGS=man-database manpages openssh-client openssh-server
DEPS=ubuntu-kernel|moblin-kernel

 

在文中:

"[Core]" fset 名称,以方括号分隔表示

"DESC=..."

该域是 fset 的面貌摘要描述

"PKGS=..."

该域列出此 fset 所有包;在添加此 fset 到目标时,这些包将通过 apt yum ( 依靠你使用的包管理器 ) 被自动安装

"DEBUG_PKGS=..."

该域列出在添加 fset 时,如果选择
"Include Debug Packages (if any)"
,将被安装的包。

"DEPS=..."

该域说明名为 Core fset 所依赖的 fset 。此前这些 fset 没有添加到目标,将在添加 Core 时自动添加。

 

基本功能集

某些
fset
被普遍使用,因为他们包含在大多数基本包里,或者包含在大多用户需要的多个包里。另一些 fset 是非常重要的,因为它们提供一个非常特殊的功能。下列部分描述这些
fset
的内容。
 
亚洲字体


fset
添加用来浏览中国、日本和韩国网站的字体,例如中文 Unicode 字体
Mingti
,朝鲜文 Un series 字体。此 fset 依赖
core
,可用到所有平台。
Core

这是用来提供基本文件系统的基础
fset
。当前,在 MIC 上可用于所有平台。


menlow-lpia
平台举例,当使用 Ubuntu-Kernel fset 时,此
fset
使用 Ubuntu 内核提供根文件系统。它包含下列特定包:

包名

包描述

busybox-initramfs

一个简单独立 shell ,用来提供基础应用程序所需要的
initramfs

initramfs-tools

Linux kernel 2.6 包,创建和引导
initramfs
的工具

pm-utils

LPIA 下电源管理应用和脚本

vbetool

运行实时模式视频 BIOS 解码去改变硬件状态的工具

usplash-theme-ubuntu

Ubuntu 的桌面主题

dosfstools

LINUX 下的硬盘或磁盘创建和检查 MS-DOS FAT
文件系统的应用

psmisc

使用 proc 文件系统的应用

开发工具

在目标文件系统上开发
moblin
应用程序时,推荐添加名为 Developer-Tools fset ,来安装必须的开发包。


fset
依赖 Core ,可用于所有平台。包含下列
fset

包名

包描述

ubuntu-mobile-dev

Ubuntu Mobile 开发环境

libtool

通用库支持脚本

autoconf

自动配置脚本生成器

automake

产生 GNU 标准适应 Makefiles 工具

hildon-desktop-dev

Hildon 桌面开发文件,它是植入设备的桌面环境

man

在线参考手册接口

manpages

使用 GNU/Linux 系统的手册页面

curl

用来从 HTTP HTTPS FTP 服务器获取文件的工具

python-dev

Python 的头文件和静态库,它是一个交互式高级面向对象语言

dh-make

转换源文件到 Debian 包源的工具

设备配置

设备配置相关
fset
提供特殊设备的配置文件。这些 fset 通常以 [your
device]-Config
作为标题。目前, MIC 拥有 Samsung-Q1-Ultra-Config
CrownBeach-Config
两个 fset ,可分别用于所有
McCaslin
Menlow 平台。两种设备配置 fset 均依赖于
Core

GNOME-Mobile


fset
提供 GNOME 构成组件,用以建立移动 Linux 堆栈。此包主要包括:
mobile X window system-related packages
device drivers

libraries and python bindings of GStreamer*
D-Bus GTK

telepathy-related packages
GNOME menus
icon theme-related packages

 


fset
依赖设备配置 fset 。例如,在 menlow-lpia 平台上,该
fset
依赖名为 CrownBeach-Config fset 。此
fset
可用于所有平台,只有微小的差别。 menlow-lpia 平台序列的 GNOME-Mobile
fset
包含下列要添加的包:

包名

包描述

libdrm2

本库提供用户空间接口到内核 DRM 服务

xf86-video-psb / xserver-xorg-video-psb

Poulsbo 2D 图形驱动

 

全部移动堆栈带有或不带有所有权

全部移动堆栈拥有基础
fset
集合,包括 Core 设备配置 fset ,等等。它还拥有读取 X 窗口、
Hildon
和引导移动设备到主屏所需要的全部组件。因此,为了方便,它在目标中安装了大多数用户需要的基础 fset

全部移动堆栈带有和不带有所有权的区别,是前者包含额外的包用来为
Netscape
Mozilla-based 浏览器下载和安装
Adobe Flash* Player
插件。

全部移动堆栈
fset
通常以 [your device]-Full-Mobile-Stack or [your
device]-Full-Mobile-Stack-with-Proprietary
为标题。当前, MIC
拥有下列
fset
可用语不同平台:
Samsung-Full-Mobile-Stack , Samsung-Full-Mobile-Stack-with-Proprietary ,
CrownBeach-Full-Mobile-Stack , CrownBeach-Full-Mobile-Stack-with-Proprietary ,
Moblin-CrownBeach-Full-Mobile-Stack ,
Moblin-CrownBeach-Full-Mobile-Stack-with-Proprietary .
 
Moblin 开发包

这部分更深层次描述某些普遍用于
Moblin
应用程序开发的特殊库。有的已经包含在名为 Developer-Tools
fset
中。
Hildon

Hildon
,一种 Maemo GUI 应用程序框架,它基于
GTK+
,还有一些技术来自 GNOME 框架。 Hildon 包含某些 GTK+ 增进,使它更适合应用在移动设备。更多
Hildon
详细描述可在 这里 找到。
Moblin
通常使用 Hildon 作为应用程序框架。下面是你需要为 Moblin 应用程序开发安装的三大
Hildon
库。

  • libhildon: 该库包含用以 Moblin 应用程序的窗口小部件聚集。它提供标准 GTK+ 的增进,用来适应特殊移动功能和提供更多图形。它将在添加名为
    Developer-Tools
    fset 时自动获得安装。

  • libhildondesktop: 该库是手持设备的桌面环境。提供包括任务导航,状态条标签(例如显示电池 / 无线信息)和系统菜单等等特征。在 Moblin 中, "Home" "Marquee" 同样基于 libhildondesktop 开发。它将在添加名为 Developer-Tools fset 时自动获得安装。

  • libhildonfm: 该库是 Hildon 文件管理器,基于 GNOME VFS
    。它为本地和远程 / internet 文件管理提供统一管理机制。 Hildon 文件管理库包含易用和内建对象,像标准 Hildon 文件选择 / 选取对话框,文件容器窗口部件,和查询文件信息和属性能力。

你可以直接使用 apt
yum
(依靠你使用的包管理器)安装
Hildon
开发文件。例如,当使用 apt 安装开发文件的三大
Hildon
库,可运行 apt-get install libhildon-1-dev libhildondesktop-dev
libhildonfm2-dev

GStreamer

GStreamer 是创建流媒体应用程序的框架。该框架被设计用来制造易写应用程序修正,从简单 Ogg/Vorbis 录音重放到复杂音频(混合)和视频(非线性编辑)进程。
最重要的
GStreame
用途是媒体播放器。 GStreamer 已经包含建立媒体播放器的组件,可支持非常多的格式。开发者可通过干净、通用接口编写简单插件 [1] ,添加新代码和过滤器。
更多文档能在 http://gstreamer.freedesktop.org/ 被找到。你可以从该站点下载
GStreamer
包。同样,你也可以使用 apt yum 安装
GStreamer
。例如,使用 apt 安装 GStreamer 核心开发文件时,你可以运行
apt-get install libgstreamer0.10-dev

Helix

Helix GStreamer 非常相似,也是一个操作视频、音频的编码、同步和其它进程的媒体框架。它是交叉平台(
Symbian*, Linux*, Windows*, Solaris*, Mac*,
等等),发起人是
Real
网络公司。它拥有很多成功的模型(如媒体播放器)在手持设备上。与 GStreamer 相比,
Helix
支持 DRM (数子版权管理) [2] 。更多详细信息见: http://helixcommunity.org/
为开发建立
Helix
引擎在 Moblin 目标文件系统,可参照 本文档 指示。
D-Bus 相关库

D-Bus 是一个管理总线系统,确切说,是使应用程序与其它应用程序对话的一种简单方法。另外在进程间通信中, D-Bus 帮助调整进程生命周期;使它简单和可靠的编写单一实例应用程序或后台程序,并在这些服务所需要时启动应用程序和后台程序 [3] 。更多详细信息见 http://www.freedesktop.org/wiki/Software/dbus

LibOSSO
D-Bus 的低级 API 包装,是使用
Maemo
所有应用程序设计的库。它为应用程序提供通知机制,因此它们可以在系统关机或内存不足时正常的关闭。另外, LibOSSO
D-Bus
层可能发生的改变中很容易隔离应用程序。
LibOSSO
通常提供可用效用函数给偶然发生在 Internet 面板上的句柄自动保存、平台特征状态保存、硬件状态进程、设备模式改变等其它重要事件。也提供便利的效用包装函数给
D-Bus
发送远程程序方法调用。详见: http://maemo.org/maemo_training_material/maemo4.x/html/maemo_Platform_Development/

Chapter_02_LibOSSO.html

可使用 apt
yum
安装
D-Bus
相关开发文件。例如,当使用 apt 安装 LibOSSO 开发文件时,可运行
apt-get install libosso-dev

相关文档

建立此文档参考了下列资料。请查阅这些资料获取详情。

• 
GStreamer Introduction - http://gstreamer.freedesktop.org/

• 
Helix Introduction - http://helixcommunity.org/

• 
DBus Introduction - http://www.freedesktop.org/wiki/Software/dbus

• 
Maemo platform training -

抱歉!评论已关闭.