引言
本文介绍了开放嵌入式(Open Embedded, OE) Linux建构环境的重要元素,并展示了如何使用它们建构和定製Linux发行版。随着嵌入式处理器的功能日益强大,特性不断丰富,Linux作业系统在嵌入式应用中得到了迅速普及。儘管Linux的开放塬始码特性与免授权费是其迅速普及的主要推动力,但还有另一项重要推动因素:即由于Linux在PC/伺服器领域广泛使用而提供的丰富应用软体。
OE配置文件
配置文件主要分为两类:设备配置与发行版(distro)配置。另外还有本地配置文件以及名为‘bitbake.conf’的文件。Bitbake.conf是BitBake读取的第一个文件,包含所有其它配置文件。此外,它还可定义许多全局变量,并称之为bitbake.conf。不建议直接修改bitbake.conf,建议在distro配置文件或本地配置文件中进行覆盖。设备配置文件可定义特定目标电路板。发行版配置文件可为一台以上的设备定义特定的Linux发行版(如各种数据封包版本)。
发行版配置文件是进行全局设置的最佳场合,该设置可应用于发行版产生的所有镜像。OE可帮助开发人员根据具体镜像或数据封包覆盖这些设置,因而高度灵活地处理特殊情况。例如,本地配置(local.conf)文件往往用于放置用户专用配置,以适度修改默认发行版配置的设置。在完成对发行版配置文件和设备配置文件的更详细讨论后,我们将从总体上瞭解在Arago local.conf文件中所做的其它配置设置。
该发行版配置文件可设定各种基本‘内务处理’参数(见列表1),如发行版本名称、下载塬始文件和储存所建构数据封包的目录以及uImage的支援文件格式等。
列表1:配置文件摘要
# For now Arago is not big enough to warrant a separate distribuTIon,
# reuse Angstrom, but set the name to Arago
DISTRO = “angstrom-2008.1”
# Set the distro name and version, since we now produce own SDK
DISTRO_NAME = “Arago”
DISTRO_VERSION = “2010.05”
BUILDNAME = “${DISTRO_NAME} ${DISTRO_VERSION}”
# Use this to specify where BitBake should place the downloaded sources into
DL_DIR = “${SCRATCH}/downloads”
# Put resulTIng images and packages in deploy directory outside of temp
#DEPLOY_DIR = “${OEBASE}/arago-deploy”
……
# Add the required image file system types below. Valid are
# jffs2, tar(.gz|bz2), cpio(.gz), cramfs, ext2(.gz), ext3(.gz)
# squashfs, squashfs-lzma
IMAGE_FSTYPES = “jffs2 tar.gz ext2.gz”
此外,该发行版配置文件还可指定建构发行版的目标设备,儘管每台设备启动Linux的详细资讯都存放在设备配置文件中。由于发行版配置文件所处的位置由工具链版本决定,因此支援大量设备可能会使文件变得更加复杂。例如,可能需要指定多个大数据封包修补程式或不同的工具链版本来适应各种不同的设备。其它需要在发行版配置文件中指定的架构相关项包括硬体与软体浮点、是否支援不同的指令集(ARM或Thumb)、以及可能不适应发行版中包含的某些数据封包的各类寻址方式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)