(作者:徐诚 http://blog.csdn.net/shizhebsys 保留版权)
开发之准备:为目标设备创建映像
简介
Moblin Image Creator是用来创建目标环境映像的工具。可以使用映像在平台或架构上开发,不同于当前的开发系统。你能够复制映像到相应设备,这样你的应用程序就能被测试和分发。该工具对于区别不同平台定义的特殊平台知识非常灵活易用。在选择一个平台架构后,就能创建一个特殊平台建立环境,即项目。对于任何项目,可创建许多单独的目标文件系统,即目标。同时,可添加与目标相关的包,即提供某一高层功能,称为“功能集”。为目标创建的映像能被复制到移动设备中。
映像创建者的用户通常要进行下列步骤:
1. 创建项目
2. 创建项目的目标
3. 安装需要的fset在目标设备上
4. 添加你自己的代码或应用程序到目标设备
5. 通过目标设备创建一个映像
6. 写一个映像到USB设备
o 活动映像将允许你导入到USB设备,除修改移动设备硬件以外。
o 非活动映像将通过映像内容擦除或替换移动设备硬件内容。
7. 脱离映像启动设备。
该向导通过为移动设备创造工作映像的过程引领你。我们假设你已经安装了Moblin Image Creator,并且已经创建了目标,在设备上运行该映像导入Linux内核,装载恰当的驱动程序,启动X窗体,显示UI界面,既可打开你的应用程序。
驱动程序支持
目前,Moblin Image Creator能够为Samsung Q1 Ultra*创建映像。通常,不需要用该设备开发应用程序。驱动程序和应用程序的开发,简单测试UI界面,可在Linux工作站上使用Xephyr(X窗体虚拟机)。安装和运行Xephyr教程请看这里。
在工作站升级你的映像
创建映像前,也许你打算先升级或配置目标。通过交互程序进入目标的文件系统可很容易完成相关操作:
1. 在平台的项目区域选择一个项目。
2. 在目标区域选择一个目标。
3. 在目标区域点击“Terminal”按钮(一个新终端窗口启动,交互进入目标的文件系统)。
4. 按你的想法修改目标系统。如添加程序包(命令格式:apt-get install [pkg]),添加媒体内容,或改变配置设置。
关于媒体代码和媒体内容
默认视频、音频、照片浏览器被称为“mobile player”,可使用Gstreamer*和Helix*引擎。在默认条件下,仅包含开源的Gstreamer包。你可能希望安装另外的Gstreamer代码包,去支持更多媒体格式。那么,首先要添加限定的知识库到APT源列表。在目标的终端上运行下列命令:
# echo `cat /etc/apt/sources.list` "restricted" > /etc/apt/sources.list
如果你在防火墙后,文件“/etc/apt/sources.list”显示应如下:
deb http://archive.ubuntu.com/ubuntu gutsy main restricted
安装特殊的gstreamer代码包,从目标的终端运行下列命令
# export http_proxy="http://<proxy>:<port>"
# apt-get update
# apt-get install <gstreamer-codec-pkg>
如果打算安装全部gstreamer代码包,使用:
# apt-get install gstreamer0.10-*
下表显示所支持的格式和对应的包:
媒体格式 | 所需包 |
| ||
音频 |
| |||
OggVorbis | gstreamer0.10-plugins-base |
| ||
WAV, AU | gstreamer0.10-plugins-good |
| ||
MP3 | gstreamer0.10-plugins-ugly |
| ||
aac/aac+ | gstreamer0.10-plugins-bad-multiverse |
| ||
AC3 | gstreamer0.10-ffmpeg |
| ||
WMA | gstreamer0.10-ffmpeg, gstreamer0.10-plugins-ugly |
| ||
视频 |
| |||
OggTheora | gstreamer0.10-plugins-base |
| ||
H.263 | gstreamer0.10-ffmpeg, gstreamer0.10-plugins-good |
| ||
motionJPEG | gstreamer0.10-plugins-good |
| ||
MPEG1/2 | gstreamer0.10-ffmpeg, gstreamer0.10-plugins-ugly |
| ||
MPEG4 | gstreamer0.10-ffmpeg, gstreamer0.10-plugins-ugly |
| ||
WMV | gstreamer0.10-ffmpeg, gstreamer0.10-plugins-ugly |
| ||
分析器 |
| |||
3GP/MP4 | gstreamer0.10-ffmpeg, gstreamer0.10-plugins-good |
| ||
AVI | gstreamer0.10-ffmpeg, gstreamer0.10-plugins-good |
| ||
ASF | gstreamer0.10-ffmpeg, gstreamer0.10-plugins-ugly |
| ||
MPEG2 | gstreamer0.10-ffmpeg, gstreamer0.10-plugins-ugly |
| ||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
在工作站测试目标映像UI界面
通过交互进入目标的文件系统并运行虚拟X窗体,替代工作站现存的X窗体,可测试你的应用程序。如果Xephyr(一种流行的虚拟X窗体运行工具)没有安装,那么必须先安装。
安装Xephyr,在目标的终端运行下列命令:
# apt-get install xserver-xephyr
创建映像(活动或可安装的)
可创建目标的映像并写入到U盘。对于Moblin Image Creator,这是两类映像:活动与可安装的。活动映像允许你直接从U盘引导,不需要修改移动设备的硬盘驱动器。可安装的映像将擦除移动设备的硬盘驱动器中的内容,并用映像中的内容替换。
创建你需要的映像类型,并写入U盘:
1. 在平台的项目区域选择一个项目。
2. 在目标区域选择一个目标。
3. 点击“appropriate”按钮创建映像:
o 创建活动映像,在目标映像区域点击“Live USB”按钮。
o 创建可安装映像,在目标映像区域点击“Install USB”按钮。
4. 在工作站插入U盘,点击“Write USB Image”按钮创建图象到该盘。注意:U盘中的内容将被映像完全替代。
从文件系统写入映像
如果工作站的文件系统中有一个映像,但你不是通过Moblin Image Creator创建的,仍然可以使用Moblin Image Creator将该映像写入U盘。操作方法,点击“Tools”菜单上“Write USB Image”,Moblin Image Creator打开一个对话框允许你从你的工作站的文件系统中浏览“.img”文件,它可安全的将映像写入U盘。
在平台部分读取和运行映像(我们将简要介绍在目标设备上,如何读取、运行以及安装Moblin映像)。
活动与可安装映像比较:
注意:非活动映像将清空目标系统硬盘。在开始这些任务前,确定你是要创建活动的映像,还是可安装映像。
1. 插入U盘到移动设备的USB接口。
2. 若必要,连上键盘。
3. 引导入BIOS。常用方法是在启动2-3秒内重复按F2键。
4. 移动U盘在第一启动位置(注意USB HDD)。
5. 按F10,保存并重启动。
6. 当系统重启动,等待启动提示。按回车键。
提示:该过程大约5分钟。
当系统重启动,将引导进入UI界面。
Samsung Q1 Ultra*联接无线网络
Samsung Q1 Ultra的内核配置包括了Atheros芯片MadWiFi驱动程序。要连接到一个接入点,从映像引导设备,在X终端窗口(xterm)完成下列步骤。提示:打开xterm,滚动全部路径到左边ho+me屏幕并点击XTerm图标。
首先,检查WiFi是否打开,通过运行:
# iwconfig
接着,打开无线接口搜索接入点:
# ifconfig ath0 up
# iwlist ath0 scan
联接到可用接入点,通过DHCP获取IP地址
# iwconfig ath0 essid [access-point]
# dhclient
现在你可以联接到无线网络。
原文见:http://www.moblin.org/toolkits/prepDev/toolkits_prepDev_createImgTarget.php