(作者:徐诚 http://blog.csdn.net/shizhebsys保留版权)
目前,Moblin只支持英特尔公司出品的凌动(Atom)中央处理器(CPU),并且要求目标设备使用英特尔图形芯片。凌动处理器沿用x86架构,与现在主流的个人电脑相同。因此对于开发环境来说,任何使用x86架构处理器的个人电脑都能满足硬件需求。
综合考虑操作系统、虚拟化技术、图形加速技术和Moblin相关开发工具对硬件的需求,开发工作站的最低硬件需求见表2.1所示。
表2.1 Moblin开发工作站最低硬件需求列表
配件名 |
最低需求 |
说明 |
中央处理器 |
采用x86架构; 使用32位或64位指令集; 主时钟频率大于1GHz; 支持虚拟化技术 |
英特尔、AMD和VIA公司生产的处理器大多采用x86架构,2006年后设计的产品均能支持虚拟化技术 |
图形显示卡 |
采用英特尔GMA4500芯片 |
使用Clutter框架为Moblin应用设计图形界面,以及在工作站上测试Moblin映像时需要英特尔GMA4500芯片。其他情况下并不做强制要求 |
内存 |
大于1GB |
如果使用虚拟机,建议将内存增加到2GB以上 |
硬盘 |
可用空间大于20G |
安装开发环境操作系统和Moblin映像创建者的最低需求 |
USB总线驱动器 |
采用USB 2.0标准 |
用于将USB映像写入到USB存储器中 |
网络适配器 |
任何有线或无线网络适配器 |
创建Moblin映像时需要连接到互联网 |
声卡 |
任何立体声声卡 |
设计多媒体程序时将用到 |
对于测试环境来说,最好是能够拥有一套目标设备,如上网本、移动互联网终端等。条件不具备的读者可以使用虚拟机模拟目标设备,但这会影响到驱动程序开发,也无法获得与目标设备完全相同的使用感受。
Moblin使用GTK图形环境和Yum软件包管理器,因此只要支持这两种环境的主流Linux发行版都可以作为Moblin开发工作站。下列操作系统已被证实可以进行Moblin开发:
1.Fedora桌面版
Moblin在很多地方都与Fedora桌面版相似,例如,两者均使用Yum软件包管理器,图形系统同以GTK作为基础。Fedora对虚拟机的支持也非常出色,可在其上运行KVM虚拟机。籍此,本教程以Fedora 10为标准。
2.Ubuntu桌面版
Ubuntu是一个相对较新的发行版,它有非常多的分支,例如面向学生的操作系统Edubuntu,面向多媒体设计人员的Ubuntu Studio。我对于操作系统的很多构想都是受到Ubuntu的启发,因此Ubuntu可以作为Moblin设计学习的榜样。目前Ubuntu退出了针对上网本和移动互联网设备的发行版,可以说是Moblin的竞争对手之一。目前可用于Moblin开发的版本为Ubuntu 8.10和9.04。
Linux发行版所采用的内核版本和部分函数库可能与Moblin不一致,如果要以Linux系统作为开发平台,需要对内核和函数库的版本进行矫正。相关资料可通过在Moblin网站上查询函数库版本获得。
另外,可以直接在Moblin系统上进行开发,只是必须为Moblin系统安装必须的开发包。对于使用Windows系统的工作站,可用虚拟机方式安装和运行Linux、Moblin系统,并且在虚拟机中进行开发。
Linux和Moblin系统有两种操作行为,一种是在桌面环境中操作,用户使用鼠标作为主要的操作工具。另一种是在控制台或终端上操作,需要用户通过键盘输入相关命令。Linux和Moblin的操作方法非常相似,下面介绍一些基本概念和操作方法。
1.根用户和普通用户
在安装Linux时,通常要求输入根(root)用户的密码。根用户是系统上最高权限的用户,它有权力访问和修改计算机中的任何文件。普通用户通常是在首次登陆时系统提示设置的,普通用户权力受到限制,只能访问一部分文件,而修改文件的操作仅限于用户的主目录中。所以,我们使用根用户对系统进行配置,除此以外大多数时间都使用普通用户进行操作,这样能保障系统的安全。
Moblin虽然继承了Linux的用户管理机制,但是只保留了一个根用户和一个普通用户。原因非常简单,Moblin没有将公用计算机或用户隐私保护纳入视线以内。最新Moblin测试版的图形界面尚未提供用户登录验证机制,或许这一状况在将来会被改变。Moblin的根用户密码是在创建时设置的,而不是在安装过程中。Moblin的普通用户名称为“Moblin”,该用户未设置密码。
2.shell程序
shell是介于用户和系统内核间的一个接口,用于以命令方式管理程序。Linux和Moblin都包含shell程序。shell有很多种类,名为bash的shell是Linux和Moblin默认配置。bash是一系列命令集合,常用bash命令见表2.2所示。
表2.2 常用bash命令及解释
ls |
查看目录及文件列表 |
cd |
改变工作目录 |
cp |
复制目录或文件 |
mv |
移动目录或文件 |
rmdir |
删除空目录 |
rm |
删除目录或文件 |
mkdir |
创建新目录 |
cat |
查看文本文件内容 |
chmod |
修改目录或文件权限 |
chown |
更改目录或文件的所有者 |
3.控制台
Linux和Moblin有多个控制台,进入控制台后可使用shell程序操作计算机,如图2.1所示。控制台能与桌面同时运行,并且随时进行切换。以Fedora 10为例,切换到控制台的快捷键为“Ctrl+Alt+[F2 – F6]”,从控制台切换回桌面为“Ctrl+Alt+F1”。Moblin系统切换到控制台的快捷键为“Ctrl+Alt+F1”,切换回桌面的快捷键为“Ctrl+Alt+F2”。
图2.1 控制台
4.终端
终端是桌面环境访问shell程序的接口,Linux和Moblin都提供了该程序。在GNOME桌面环境上打开终端的方法为,选择“应用程序”|“系统工具”|“终端”命令。Moblin的桌面环境并非GNOME,因此打开终端的方法与之并不完全一致,但也是通过菜单选择相应命令。进入终端后,将以登录桌面的用户名登录shell。在安装软件或对系统配置进行改变操作时,通常需要获得根用户的权限。在终端中获得根用户权限的命令是“su”,如图2.2所示。
图2.2 终端
注意:本教程中所指的命令通常是指shell命令。无论是终端还是控制台,普通用户的命令提示符为“$”,根用户的命令提示符为“#”,读者可根据命令提示符判断程序需要何种操作权限。
文件是数据的逻辑划分形式,它给人非常直观的感觉,仿佛是客观存在的实体。但实际上,文件只是某一组数据集合的名字。例如书架中有很多书,但是每本书都有书名,我们可以通过书名来找到相应的书。数据也一样,它们分散在存储器内,只有通过文件路径和文件名称才能读取或写入。
在Linux和Moblin中,文件的准确定义是不包含任何其他结构的数据流。Linux和Moblin的文件类型概况起来可分为五种,分别是:普通文件、目录文件、链接文件、设备文件和管道文件。普通文件是最基本的文件,保存着运行指令或各种数据。目录文件是文件信息的集合,实际上就是我们通常所认识的“目录”。链接文件是指向另一个文件的链接,它本身没有数据,内部的数据来自其他文件。设备文件是对计算机硬件的抽象化,例如,硬盘就被作为一个设备文件管理。管道文件是用于程序之间进行通信的特殊文件。
1.文件系统
文件系统是存储设备的抽象数据结构,Linux和Moblin系统最常用的是ext3和ext4文件系统。一个存储器可包含多个文件系统,每个文件系统必须占用一个分区。在结构上,文件系统呈树状结构,如图2.3所示。
图2.3 文件系统
2.文件名
Linux和Moblin的文件名由字符和数字组成。文件名区分大小写,可使用任何Unicode编码编写,但不能使用“*”、“?”和“[ ]”等特殊符号。在Linux和Moblin中,并没有规定可执行文件的后缀名,内核通过文件属性判断一个文件是否是可执行文件。一些有特别意义的文件也使用后缀名,例如C语言的源程序文件后缀名为“.c”。
3.路径
每个文件都有路径,路径又分为绝对路径和相对路径。绝对路径是该文件相对于根目录的逻辑关系,相对路径是文件与某个目录的距离,如图2.4所示。
图2.4 文件的树形结构
其中,文件“a1.c”的绝对路径为“/home/shizhe/workspace/m1.c”,文件“a1.c”相对于用户主目录“/home/moblin”的相对路径为“workspace/a1.c”。
4.工作目录
从逻辑上讲,用户在登录到Linux和Moblin中之后,每时每刻都处在某个目录之中,此目录被称作工作目录或当前目录。工作目录是可以随时改变的。用户初始登录到系统中时,其主目录“/home/用户名”就成为其工作目录。工作目录用“.”表示,其父目录用“..”表示。 用户主目录是系统管理员增加用户时创建起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。
5.起始目录
用户刚登录到系统中时,其工作目录即为起始目录。默认情况下,起始目录是用户主目录,通常是“/home”目录中与用户的登录名相同的一个子目录。 用户可以通过一个“~”字符来引用自己的主目录。例如命令:
$ ls ~
shell将用用户主目录名来替换“~”字符。目录层次创建好之后,用户就可以把有关的文件放到相应的目录中,从而实现对文件的组织。