开放嵌入式:建构嵌入式Linux的另一途径

来源:
导读 大家好,我是本期栏目编辑小友,现在为大家讲解开放嵌入式:建构嵌入式Linux的另一途径问题。 序 本文介绍了开放嵌入式Linux构建环境的重

大家好,我是本期栏目编辑小友,现在为大家讲解开放嵌入式:建构嵌入式Linux的另一途径问题。

本文介绍了开放嵌入式Linux构建环境的重要元素,并展示了如何使用它们来构建和定制Linux发行版。随着嵌入式处理器功能的日益强大和功能的丰富,Linux操作系统在嵌入式应用中得到了迅速普及。尽管Linux的开源代码特性和免许可费是其快速普及的主要驱动力,但还有另一个重要的驱动因素:Linux由于在PC/服务器领域的广泛使用而提供了丰富的应用软件。

运行经验配置文件

有两种主要类型的配置文件:设备配置和发行版配置。还有一个本地配置文件和一个名为“bitbake.conf”的文件。Bitbake.conf是Bitbake读取的第一个文件,包含所有其他配置文件。此外,它可以定义许多全局变量,并将其称为bitbake.conf.不建议直接修改bitbake.conf,而是在distro配置文件或本地配置文件中覆盖它。设备配置文件可以定义特定的目标电路板。分发配置文件可以为多个设备定义特定的Linux分发(例如各种数据包版本)。

发布配置文件是进行全局设置的最佳位置,它可以应用于发布生成的所有图像。OE可以帮助开发人员根据特定的图像或数据包覆盖这些设置,因此处理特殊情况非常灵活。例如,本地配置(local.conf)文件通常用于放置用户特定的配置,以便适当修改默认分发配置的设置。在更详细地讨论了分发配置文件和设备配置文件之后,我们将大致了解在阿拉戈local.conf文件中进行的其他配置设置。

发布配置文件可以设置各种基本的“内务”参数(参见清单1),例如发布名称、下载原始文件和存储构建数据包的目录,以及uImage的支持文件格式。

列表1:配置文件摘要。

#就目前而言,阿拉戈还不足以保证独立发行,

#重用埃姆斯特,但将名称设置为阿拉戈

DISTRO="angstrom-2008.1 "

#设置发行版名称和版本,因为我们现在生产自己的软件开发工具包

"阿拉戈"

DISTRO_VERSION="2010.05 "

BUILD NAmE=" $ { DISTRO _ NAmE } $ { DISTRO _ VERSION } "

#使用此选项指定BitBake应该将下载的源放入的位置

DL _ DIR=$ { SCRATCH }/下载

#将生成的映像和包放在temp之外的部署目录中

# DEPLOY _ DIR=$ { OEBASE }/arago-DEPLOY "

……

#在下面添加所需的图像文件系统类型。有效的有

# jffs2,tar(。gz|bz2)、cpio(。gz)、cramfs、ext2(。gz),ext3(。gz)

# squashfs,squashfs-lzma

tar.gz ext 2 . gz

此外,分发配置文件还可以指定构建分发的目标设备,尽管每个设备启动Linux的详细信息都存储在设备配置文件中。由于发布配置文件的位置由工具链版本决定,支持大量设备可能会使文件更加复杂。例如,可能需要指定多个大数据包补丁或不同的工具链版本来适应各种设备。需要在分发配置文档中指定的其他架构相关项目包括硬件和软件浮点、是否支持不同的指令集(ARM或Thumb),以及可能不适合分发中包含的某些数据包的各种寻址方法。

本文介绍了开放嵌入式Linux构建环境的重要元素,并展示了如何使用它们来构建和定制Linux发行版。随着嵌入式处理器功能的日益强大和功能的丰富,Linux操作系统在嵌入式应用中得到了迅速普及。尽管Linux的开源代码特性和免许可费是其快速普及的主要驱动力,但还有另一个重要的驱动因素:Linux由于在PC/服务器领域的广泛使用而提供了丰富的应用软件。

运行经验配置文件

  配置文件主要分为两类:设备配置与发行版(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)、以及可能不适应发行版中包含的某些数据封包的各类寻址方式。

技术专区 睿赛德科技喜迁新址 ,RT-Thread进入新的加速发展阶段 可靠性高、控制灵活、低功耗可调速风扇散热系统 安防监控摄像头LED驱动解决方案 如何定制嵌入式Linux发行版 基于SoC实现的数据采集系统详解

标签:

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。