(作者:徐诚 http://blog.csdn.net/shizhebsys 保留版权)
准备开发
项目和目标:使用映像创建者
简介
映像创建者使用项目,目标和功能集(fset)来组织文件和包。
Moblin Image Creator允许你设定3个基本部分:
- 创建特殊平台建设环境,即“项目”。
- 创建特殊平台目标文件系统,即“目标”,可用来开发和安装应用程序写入特定建设环境。
- 创建虚拟设备目标文件系统映像。
映像创建者的用户通常要进行下列步骤:
1. 创建项目
2. 创建项目目标
3. 安装需要的fset在目标设备上
4. 添加你自己的代码或应用程序到目标设备
5. 通过目标设备创建一个映像
6. 写一个映像到USB设备
o 活动映像将允许你导入到USB设备,除修改移动设备硬件以外。
o 非活动映像将通过映像内容擦除或替换移动设备硬件内容。
7. 脱离映像启动设备。
如果你还没有准备好,先安装Moblin Image Creator.
运行Moblin Image Creator
Moblin Image Creator 同时拥有图形和命令行用户界面。必须用Root身份运行Moblin Image Creator,可通过命令行使用sudo以启动Moblin Image Creator,或从桌面菜单上选择。
运行Moblin Image Creator界面,不需要任何参数输入下列命令:
$ sudo image-creator
通常能够完全通过命令行运行Moblin Image Creator,使用不同的运行参数。查看可用命令行参数列表,使用下列命令:
$ sudo image-creator --help
提示:Moblin Image Creator 安装了一个bash自动完成命令设置,所以如果你使用bash,可以按TAB键。在输入一些命令特定字母后,base将自动完成(提供一个可能是全部命令的列表)。
项目助手:创建一个项目,目标,以及添加Fset
Moblin Image Creator界面中一个最新部分是项目助手,它允许你去创建项目,添加目标到项目,并且增加fset到目标,在一系列对话框中。
项目助手可在“文件”菜单中“项目助手”选项被找到。
第1步:创建一个项目
第一步是创建项目。输入名称、描述、路径和平台参数数值。
图2-1:Moblin Image Creator 向导询问询问项目名,描述,路径和平台。
项目名称 | 项目所涉及名称 |
项目描述 | 这是项目的描述,它用来做什么,将包含什么,等等 |
项目路径 | 这是项目在你本地文件系统的路径上的全称,用来建立环境和文件系统。你必须定义一个空目录,同时它不少于己于1GB空闲空间。 |
项目平台 | 平台将决定内核设置和设备驱动。它将要基于目标设备的结构建立你希望安装的映像。 |
当这些完成,选择“Forward”按钮。
第2步:创建一个目标和添加fset。
在创建项目后,可以使用项目向导添加目标到项目中,并且选择你想要添加到目标的fset。每个目标必需有唯一名称。
图2-2:Moblin Image Creator 向导显示的fset列表。
参数描述:
名称 | 这是所涉及目标的名称。它将成为一个目录放置在<project-location>/targets文件夹下面,同时它将包含你的目标设备的文件系统。这个名称是唯一的。 |
基于你的目标,你可以选择一组不同的可用fset。每个fset安装在相关包里。例如,如果你需要完整的GUI,选择描述为"full-mobile-stack-with-proprietary"的fset (查看提示在 Adobe Flash* 下面)。如果你选择的fset依赖于其他fset的安装,通常相关fset将会被自动安装。更多关于fset的信息,点这里。
关于Adobe Flash* 插件
现在的UI普遍使用Adobe Flash。Flash插件被包含在full-mobile-stack-with-proprietary fset中。Flash程序为Adobe公司所拥有。用户希望建立的映像中包含Flash程序,必须取得Flash的授权。使用,安装或分发用户接口所用到Flash程序的这些设备,需要ADOBE的分发许可。
关于无线驱动
Samsung Q1 Ultra拥有Atheros AR5006X无线网络适配器。它的内核结构包括Atheros 芯片的MadWiFi Linux驱动。 该描述连接到一个通道点,一旦完成,选择向前按纽。
第3步:回顾和应用
Make sure that your configuration is correct, and click the Apply button. Moblin Image Creator will create a project, add a target to the project, and add fsets to the target.
确定你的设置是正确的,点应用按钮。Moblin Image Creator将创建项目,添加目标到项目,并且添加fset到目标。
从GUI创建新项目
GUI通常可以不使用项目助手创建新项目,选择Add按钮在平台项目区域。Moblin Image Creator将显示对话框询问你项目参数,参考前述。你也可以添加目标到项目。
从GUI添加新目标
在平台项目区域选择项目后,可在目标区域看见一个项目目标的列表。通过点击“Add”按钮,向被选项目添加更多目标。Moblin Image Creator会显示一个对话框要求你输入目标的条件,如前所述。
添加fset到当前Target
你可通过点击Moblin Image Creator中Target区域,“Add Functional Sets”按钮,添加fset到已选择目标。Moblin Image Creator将显示一个对话框要求你选择fset。每个fset安装一系列相关包。例如,如果你需要一个完整GUI,选择描述为"full-mobile-stack-with-proprietary"的fset即可。如果你选择的fset依赖于其他fset的安装,通常相关fset将会被自动安装。更多关于fset的信息,点这里。
Chroot进入项目、Target建立环境及文件系统
如果你希望通过Chroot进入项目建立环境安装,配置,建立,或运行应用程序,可在项目区域或Target区域点击Terminal按钮,它将启动Chroot终端,默认提示符号为”#”。
提示:在下列例子中,从工作站的终端产生的命令将拥有bash提示符”$”,从项目或target的chroot终端产生的命令将拥有bash提示符”#”.
通过命令行创建新项目
你可以通过下列命令和参数,在命令行运行Moblin Image Creator创建新项目。你需要定义项目参数的值,参考前述。
$ sudo image-creator -c create-project /
--platform-name [platform-name] /
--project-name "<your-project-name>" /
--project-path "<full-path-to-project>" /
--project-description "<your-description>"
上面命令在/usr/src/myproject目录建立环境,将选则所需要的包到该文件系统。你必须选择一个空文件夹创建你的项目建立环境。
输入下列命令,可显示可用平台名称列表。
$ sudo image-creator -c list-platforms
一旦项目被创建,就可以使用Moblin Image Creator的Chroot终端进入到建立环境的根,通过下列命令:
$ sudo image-creator -c chroot-project --project-name "[project-name]"
从命令行创建新Target
你可以使用下列命令和参数创建新Target,但必须选择一个现存的项目,以及不重复的Target名。
$ sudo image-creator -c create-target /
--project-name "[project-name]" /
--target-name "<your-target-name>"
获得一个可用项目列表,可运行下列命令:
$ sudo image-creator -c list-projects
Chroot进入到Target文件系统,用:
$ sudo image-creator -c chroot-target /
--project-name "[project-name]" /
--target-name "[target-name]"
通过命令行安装fset到Target
使用下列命令可安装fset到Target,但必须选择一个存在的项目和Target,以及可用的fset。
$ sudo image-creator -c install-fset /
--project-name "[project-name]" /
--target-name "[target-name]" /
--fset-name "[fset-name]"
你可以运行下列命令获得一个可用Target名称列表:
$ sudo image-creator -c list-targets --project-name "[project-name]"
运行下列命令可获得一个可用fset名称列表:
$ sudo image-creator -c list-fsets
例如,你安装所有Samsung* Q1 Ultra设备启动必须的fset,并且显示通用的Hildon桌面,使用"-fset-name"参数安装"全部mobile-stack"。
从Target文件系统测试应用程序
通过chroot进入Target 的文件系统或者运行虚拟的x会话代替当前工作站的x会话,可测试你的运用程序。例如Xephyr,它是一个常用的虚拟x会话工具,如果没有在Target上安装,那么必须先将它安装。
安装和使用Xephyr
在Target的终端上运行下列命令,安装Xephyr。
# apt-get install xserver-xephyr/
要使运行的x会话可以显示,必须在工作站终端上运行下列命令。
$ xhost +SI:localuser:root
从Target的终端运行以下程序可以配置或者运行Xephyr。
# export DISPLAY=:0
# /etc/init.d/dbus start
# xinit /etc/X11/xinit/xinitrc -- /usr/bin/Xephyr :2 -host-cursor -screen 1024x600x32 -dpi 96 -ac
# killall gconfd-2
如果你安装有“全部moblin堆栈”fset,,你可以运行一个脚本,自动安装配置或者运行Xephyr。
# ume-xephyr-start
共享项目
Moblin Image可以使用共享项目。通过从文件菜单中选择保存项来压缩或者保存项目。同时,Moblin Image也可以通过选择文件菜单中的下载项来下载被压缩的项目。
清除Rootstrap
Rootstrap常用于复制某个文件、结构或者环境变量,使得工作站发展成为项目文件系统。你可以通过选择工具菜单中的清除rootstrap项目来清除。
升级项目或Targets
通过对点击平台上的项目或Target区域中的“Upgrade Project/Target”按钮,可以升级你的项目或Targets。运行 “apt-get update ”或者“apt-get upgrade” 可以在各自的chroot环境下升级。