2.5 Moblin项目提供的开发工具
(作者:徐诚 http://blog.csdn.net/shizhebsys 保留版权)
为了简化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 |
设置是否添加国际化支持示例 |
示例代码 |
选择需要包含在你的模板内的示例。理论上大多数指南和帮助文档都包括一些代码块能被建立在项目模板中 |
自动操作 |
支持命令行参数的大多数特性 |
2.5 Moblin项目提供的开发工具相关推荐
- 可爱的python测试开发库及项目(python测试开发工具库汇总)
转载: https://www.jianshu.com/p/ea6f7fb69501 可爱的python测试开发库及项目(python测试开发工具库汇总) github地址 相关书籍下载 Python ...
- flutter图标按钮_Flutter开发第一个项目android studio 开发工具的使用说明
Flutter开发第一个项目android studio 开发工具的使用说明 做个自我介绍 自我介绍还是有必要介绍一下的,毕竟这是网络里,你看不到我,我看不到你,只能通过文字来传递信息,本人做技术8年 ...
- 用 Vite 创建Vue3项目和相关开发工具配置
目录 一.创建项目 二.vite的快捷用法 三.安装Vue3开发工具 Vite热更新.打包构建速度更快,但目前周边生态还不如 Webpack 成熟,目前实际开发中还是以 Webpack 为主,但目前就 ...
- 项目三 Vuforia 开发工具
任务一 Vuforia认知 Vuforia注册账号 先到https://developer.vuforia.com注册账号,如图.进入之后点击右上角的Register进行账号注册. 注册好开发者账号之 ...
- 开发工具链(国内项目)(持续更)
开发工具链(国内项目) 前端开发工具: sublime(轻便) Webstorm(全面,包括各种插件,对node支持较好,但是缺点是占用内存较大) VSCode(免费,而且比webStorm轻,占用内 ...
- 第1章 ASP.NET 3.5与开发工具
从本章开始,读者将能够系统的学习ASP.NET 3.5技术,相对于ASP.NET 2.0而言,在3.5版本的ASP.NET中并没有太多的变化,而更多的变化则在于C#编程语言中.而作为微软主推的编程语言 ...
- Android 常用开发工具收藏
实践 • NIST网络安全实践指南:"移动设备安全:云和混合构建" • Android安全概述 • 开发人员的Android安全提示 • 移动应用渗透测试备忘录 • MobileA ...
- 纯前端大数据处理技术:葡萄城纯前端开发工具应用实践
SpreadJS 是一款基于 HTML5 的纯 JavaScript 电子表格和网格功能控件,满足多平台.跨平台的表格数据处理和类 Excel 的表格应用开发. WijmoJS 前端开发工具包由多款纯 ...
- Android开发工具类集合
各种帮助类汇总:https://github.com/Blankj/AndroidUtilCode 常用的 ios 风格 dialog 和 meterial design 风格的 dialog:htt ...
最新文章
- 【NLP】为什么中文分词比英文分词更难?有哪些常用算法?(附代码)
- XCTF_Web_新手练习区:disabled_button
- Table options do not contain an option key ‘connector‘ for discovering a connector
- 数据结构之fhq-treap——Chef and Sets,[HNOI2012]永无乡,Play with Chain,[NOI2005]维修数列(结构体版代码)
- git 报错:Please make sure you have the correct access rights and the repository exists
- 学习python第七天
- css3 浪花,掘金:Canvas 实现画中画动画效果--网易娱乐年度盘点H5动画解密
- Hamilton-Caylay (哈密尔顿-凯莱)定理
- zen3架构_zen3架构对比zen2架构
- 虚幻引擎4 DEMO打包下载
- postgresql 身份证、手机号、营业执照验证脚本
- bp神经网络的训练方法,一文搞定bp神经网络
- 2003-2007回顾贴:yeguiren个人随笔
- 【n卡】GeForce Experience 的额外功能
- java 聊天室 私聊_Java聊天室——实现多人聊天、私聊、群聊
- 给你一个全自动的屏幕适配方案(基于SW方案)!—— 解放你和UI的双手
- 【C语言】OJ题:printf函数的返回值
- 游戏化学习:让学习之路成为游戏升级系统。
- 极客日报:腾讯《王者荣耀》禁止未满12周岁用户充值;B站发布16款新品游戏;华为注册姚安娜商标被驳回
- NR CSI报告简介