《Moblin非官方教程》系列连载 第二章--第四节--Moblin项目提供的开发工具
作者:徐诚
如需转载,请注明出处。
为了简化Moblin项目的开发,Moblin社区提供了很多有用的工具。其中最主要的是Moblin映像创建者和Linux项目生成器。这两个软件的目标分别是建立Moblin操作系统和Moblin应用程序的源代码模板,本节介绍这两个工具的用法。
2.4.1 Moblin映像创建者
Moblin映像创建者是在Linux系统上创建Moblin操作系统映像的工具。它通过网络获得Moblin内核堆栈的源代码,然后自动对这些部件进行编译和组合,从而生成Moblin操作系统映像。Moblin操作系统映像的类型有以下几种:
q Live CD:活动CD,一种允许使用光盘启动设备的映像。
q Live USB:活动USB,一种允许使用USB存储器启动设备的映像。
q Loop images:循环映像,一种简单的映像,可通过交换根方式访问。
q KVM images:KVM虚拟机映像。
q VMDK:Vmware虚拟机映像。
这些映像可安装到目标设备上运行,也可以在各种虚拟机中运行。实际上,他们是开发Moblin发行版的原型。
1.安装
Moblin映像创建者下载地址为:“http://repo.moblin.org/moblin/tools/”,它同时提供了源代码包和rpm软件包。通过源代码编译Moblin映像创建者的命令为:
$ ./autogen.sh
# make install
安装前需要automake配置工具和Python编译器的支持。如果提示缺少某些函数库,安装将被终止。检验安装是否成功可输入下列命令:
# moblin-image-creator
2.创建映像
映像配置信息由kickstart程序编辑,该程序生成后缀名为“.ks”的映像配置文件。安装Moblin映像创建者后,可在“/usr/share/doc/mic2/examples”目录内找到示例映像配置文件。以针对上网本的映像配置文件为例,在示例目录中有以下2个文件:
q netbook-core.ks:面向最终用户。
q netbook-core-developer.ks:面向开发者,其中选择了开发工具包。
利用“netbook-core-developer.ks”文件创建映像的步骤如下:
(1)复制“netbook-core-developer.ks”文件到用户主目录以外的某个位置。
(2)进入“netbook-core-developer.ks”副本所在目录,执行下列命令:
# moblin-image-creator -c netbook-core-developer.ks --format livecd --cache=/tmp/mycache
该命令告诉Moblin映像创建者使用名为“netbook-core-developer.ks”的kickstart文件来获得哪些软件包将被下载和装入映像的信息。“--cache”是本地计算机的目录,它是用于存放软件包的缓存目录。缓存非常有用,如果访问的是远程服务器,大量的软件包将不用在将来创建映像时反复下载。下一次执行该命令,如果其中有些软件包已升级,那么缓存也将简单地“升级”,这会比从资源库重新下载要容易。
Moblin映像创建者执行上述命令后,将下载相关信息,最后在当前工作目录中生成活动CD映像。如果需要生成其他类型映像,可修改“--format”参数,见表2.5所示。
表2.5 映像类型参数
livecd | 活动CD映像 |
liveusb | 活动USB映像 |
liveusb --interactive | 交互式活动USB映像 |
loop | 循环映像 |
raw | KVM映像 |
vmdk | Vmware虚拟机映像 |
注意:创建Moblin映像的速度受网络访问速度影响,并且需要至少4GB以上的空闲硬盘空间。在Fedora 10中文版中,创建前需要执行命令“export LANG=C”修改环境变量。
2.4.2 Linux项目生成器
Linux项目生成器是一个非常有用的开发工具,它的作用是为新项目生成一个模板或示例文件,并且预置一些编译参数。如果计划为Moblin设计一个新的应用程序或函数库,Linux项目生成器可根据提供的信息创建出最基本的程序模板。然后只用在该模板的基础上继续修改源代码文件即可,其他配置文件不用修改。
1.安装
在安装Linux项目生成器前,首先要确保Linux项目生成器依赖的软件包。下列命令用于安装这些软件包:
# yum install file-devel libglade2-devel glib2-devel GConf-dbus-devel libxml2-devel
Linux项目生成器需要使用git程序下载,该程序的作用是直接通过网络获得相关源代码。如下列命令所示:
$ git clone git://git.moblin.org/projgen.git
执行该命令后,工作目录中将新建名为“projgen”的子目录,其中存放着Linux项目生成器的所有源代码。进入该目录,执行下列命令:
$ ./autogen.sh
$ make
# make install
2.运行
如果Linux项目生成器所依赖的软件包均具备,该程序将被编译并安装到系统中。选择“应用程序”|“编程”|Linux Project Generator命令可启动该程序。或者在终端中执行下列命令:
$ projgen
Linux项目生成器是一个图形应用程序,因此使用者可直观地了解该程序的使用方法,如图2.6所示。
图2.6 Linux项目生成器
3.特性
Linux项目生成器本身基于autogen,使用C++编写,包含一个函数库(libprojgen)和一个应用程序(projgen)。函数库为所有项目提供了简单的C语言接口。应用程序支持控制台版本和GTK界面(使用glade)。它的特性见表2.6所示。
表2.6 Linux项目生成器特性
支持autogen | 项目可通过3个标准命令建立和安装:autogen.sh、make、(sudo)make install |
定制项目数据 | 用户可输入名称、路径、语言、许可证等等 |
支持C、C++、Python | 可选择其中一种语言用来编写项目模板 |
可创建应用程序、函数库,或两者均有 | 选择你的项目目标是否为应用程序、函数库或者两者都有(即包含二进制应用程序,又包含函数库) |
依赖函数库 | 选择包含的函数库。使用 pkg-config来生成适当的编译指令 |
(Moblin)编译 | 设置是否只显示Moblin编译所依赖的函数库和版本 |
许可证 | 从公共开源许可证中选择。适当的副本和代码头部将被生成。支持GPL 2、GLP 2+、GPL 3、LGPL 2.1、LPGL 3、MIT和BSD。新的或用户自定义许可证可以很容易地添加 |
gtk-doc | 设置你的函数库是否自动产生gtk-doc风格注释文档 |
I18N | 设置是否添加国际化支持示例 |
示例代码 | 选择需要包含在你的模板内的示例。理论上大多数指南和帮助文档都包括一些代码块能被建立在项目模板中 |
自动操作 | 支持命令行参数的大多数特性 |