简介
Moblin Image Creator是一个旨在简化移动和嵌入式开发的工具。该工具使用特定于平台的、与平台定义无关的知识设计而成,具有极佳的灵活性。其最初关注的焦点是一种新型的设备—移动互联网设备(Mobile Internet Devices,MID)。但是Moblin Image Creator的设计并不是专门针对MID的。并且,关于添加新的平台定义来建立消费类电子堆栈(比如电视机顶盒)的谈话正在酝酿之中,。
注意:"Moblin Image Creator"之前被称作 "Project Builder",所以您可能会在文档和源代码中看到"Project Builder"的相关引用。
Moblin Image Creator具有以下三个基本特性:
- 创建特定于平台的构建环境,或者“项目”
- 创建特定于平台的目标文件系统
- 提供用户可选择的“特性集(也称作fsets)”,用于安装能够提供高级功能的程序包。
有关项目、目标、功能集和图像的更多信息,请点击 此处。
此外,其他许多小特性也可以帮助简化您的工作,比如:
- 您可以选择功能齐全的图形用户界面(graphical user interface ,GUI)或者纯命令行界面
- 便于Chroot到buildroot或者目标文件系统的包装器(比如,绑定挂载整个网络配置文件的重要系统目录和副本)
- 打开Xephyr窗口以便进行目标文件系统测试的包装器
- 用于创建目标文件系统的实时USB图像及方便测试多目标的文件系统的实用工具
安装
sudo make install
运行
Moblin Image Creator必须在根目录下运行。您可以通过桌面菜单启动Moblin Image Creator,这样便会自动在根目录下运行(需要根目录密码)。或者,您也可以借助sudo在命令行中运行Moblin Image Creator。
而且,Moblin Image Creator可以在GUI界面或者命令行界面下运行。运行GUI的方法是不带命令行参数启动Moblin Image Creator:
$ sudo image-creator
查看可用命令行参数的列表:
$ sudo image-creator --help
提示:Moblin Image Creator已经安装了bash completions配置文件,所以如果要使用bash,您可以按下Tab键。输入特定的命令行参数之后,bash将自动完成安装(为您提供可能的completion列表)。
通过命令行创建新项目
$ sudo image-creator -c create-project /
--platform-name mccaslin /
--project-name "MyProject" /
--project-path "/usr/src/myproject" /
--project-description "My Samsung Q1 Ultra project"
运行上面的命令行,从/usr/src/myproject目录中提取出buildroot rootstrap,接着在新文件系统中安装额外需要的编译包。
创建新项目之后,您可以使用Moblin Image Creator(通过chroot命令)进入新buildroot,如下所示:
$ sudo image-creator -c chroot-project --project-name "MyProject"
通过命令行创建新目标
$ sudo image-creator -c create-target /
--project-name "MyProject" /
--target-name "target1"
可以单个项目中创建多个目标文件系统。运行上述命令可以在buildroot中创建路径为BUILDROOT/targets/target1/fs/的新目标文件系统。您可以通过以下命令进入(chroot)目标文件系统内部:
$ sudo image-creator -c chroot-target /
--project-name "MyProject" /
--target-name "target1"
在Moblin Image Creator中,平台将程序包定义为一个特性集,并且这个特性集可以依赖于其他特性集。所以,安装某个特性集会自动安装其所依赖的其他特性集。
安装了Moblin Image Creator之后,您可以在/usr/share/sdk/platforms/mccaslin/fsets/base.fset目录下看到特性集配置文件的一个例子。
<snip>
[Core]
DESC=Fundamental fset that provides a root filesystem
PKGS=linux-image-386
DEBUG_PKGS=gdb man-db manpages
DEPS=
[Hildon-Application-Framework]
DESC=Hildon Application Framework for enabling
Mobile
Applications
PKGS=ubuntu-mobile sdk-default-icons
DEBUG_PKGS=
DEPS=core
</snip>
从上面的代码段中,您可以看到两个特性集。其中,"core"特性集提供的额外包允许启动到目标文件系统并获得一个命令行提示符。另一个"hildon-application-framework"特性集将在"core"特性集的基础上安装额外包,以支持运行Hildon桌面。
要安装启动Samsung Q1 Ultra*和显示当前Hildon桌面需要的所有特性集,请运行以下命令:
$ sudo image-creator -c install-fset /
--project-name MyProject /
--target-name target1 /
--fset-name "full-mobile-stack"
通过命令行创建新目标文件系统的实时USB图像
$ sudo image-creator -c create-live-usb /
--project-name MyProject /
--target-name target1 /
--image-name live-usb.img
特定目标的图像文件将创建在BUILDROOT/targets/TARGETNAME/image directory 目录中
这些图像文件需要直接写入USB接口。您可以使用dd这样的工具。比如:
$ sudo dd if=/usr/src/myproject/targets/target1/image/live-usb.img /
of=/dev/sdb
警告:上述命令行只是举例而已!您必须为系统确定准确的设备节点。如果您在HD设备上运行这些命令,之前的安装就会前功尽弃。
测试目标文件系统中的应用程序
有几种方法可以在您的工作站上运行已有X session中的虚拟目标X session。其中,比较流行的测试工具是Xephyr。
启用对Feisty或者Gutsy工作站的访问(目标外部)
$ xhost +
在目标内部,启动Xephyr窗口中的UI。
(inside target terminal)
# apt-get install xserver-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
这样将会打开一个大小为1024x600的新窗口并关闭访问控件。将环境变量DISPLAY设置成":2"之后,您的任何工作站上的任何应用程序都可以显示在这个窗口中(就好像这个窗口是新打开的)。
$ export DISPLAY=:2
要运行目标文件系统中的应用程序,您必须先chroot到目标,然后设置DISPLAY,最后运行应用程序。
$ sudo image-creator -c chroot-target /
--project-name MyProject /
--target-name target1
# export DISPLAY=:2
# run-my-application
获取源代码
Moblin Image Creator的源代码存放在git(内核代码管理工具)源代码库中。您也可以通过下面的网址在线查看源代码:
http://www.moblin.org/repos/tools/moblin-image-creator.git
或者,您也可以通过以下命令复制git树:
$ git clone http://www.moblin.org/repos/tools/moblin-image-creator.git
本文翻译来自Intel Moblin.org网站
点击此处,查看原文【英】