全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
开放嵌入式(OE Linux)Linux系统开发指南(下)在本文中,德州仪器(TI) Nick Lethaby 和 Denys Dmytriyenko概括介绍了开放嵌入式(OE,Open Embedded) Linux构建环境的重要元素,并展示了如何使用它们构建和定制Linux发行版。随着嵌入式处理器的功能日益强大,特性不断丰富,Linux操作系统在嵌入式应用中得到了迅速普及。尽管Linux的开源性与免许可证费用这一事实是其迅速普及的一个主要推动力,但另一个重要推动因素则是来自Linux在台式机与服务器领域广泛使用所提供的丰富应用软件与驱动。 OE 配置文件 配置文件主要分为两类:设备配置与发行版(distro)配置。另外还有本地配置文件以及名为“bitbake.conf”的文件。Bitbake.conf是BitBake读取的第一个文件,包含所有其它配置文件。此外,它还可定义许多全局变量,并称之为bitbake.conf。不建议直接修改 bitbake.conf,建议在distro配置文件或本地配置文件中进行覆盖。设备配置文件可定义特定目标电路板。发行版配置文件可为一台以上的设备定义特定的Linux发行版(比如各种数据包版本)。 发行版配置文件是进行全局设置的最佳场合,该设置可应用于发行版生成的所有镜像。OE可帮助开发人员根据具体镜像或数据包覆盖这些设置,从而高度灵活地处理特殊情况。例如,本地配置(local.conf)文件往往用于放置用户专用配置,以适度修改默认发行版配置的设置。在完成对发行版配置文件和设备配置文件的更详细讨论后,我们将从总体上了解在Arago local.conf文件中所做的其它配置设置。 该发行版配置文件可设定各种基本“内务处理”参数(见列表5),如发行版本名称、下载源文件和存储所构建数据包的目录以及uImage的支持文件格式等。 列表5:配置文件摘要 # 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 ARM应用系统开发详解或Thumb Thumb指令集专题)、以及可能不适应发行版中包含的某些数据包的各类寻址方式。 选择数据包版本是发行版配置文件中较为重要的常见功能之一,以确保所使用的已知兼容性版本。选择版本的方法很多。如果没有指定版本,就选择最新版本。同样,也可指定某种“从不落后于”最新版本的版本。对于需要特定版本的数据包,可为发行版配置文件中的整个发行版指定默认首选版本,如列表6的Angstrom发行版配置文件摘要所示。 列表6:发行版配置文件摘要 ANGSTROM_QT_VERSION ?= 4.6.2 CE_VERSION ?= latest PREFERRED_VERSION_autoconf = 2.65 PREFERRED_VERSION_autoconf-native = 2.65 PREFERRED_VERSION_automake-native = 1.10.3 PREFERRED_VERSION_busybox? = 1.13.2 PREFERRED_VERSION_glib-2.0? = 2.24.0 PREFERRED_VERSION_glib-2.0-native = 2.24.0 发行版的另一项重要功能是提供一套源程序,以便访问预先构建的二进制数据包。发行版一般使用二进制源程序在运行时动态加载新的数据包。为稳定可靠的添加数据包,发行版还整合了一个数据包管理系统。例如,Angstrom发行版在开始时使用ipkg软件包管理器(近期转向opkg),因为与dpkag或RPM等桌面数据包管理技术相比,其在满足空间有限的嵌入式应用需求方面具有一定的优势。Ipk格式原本建立在deb格式基础之上,可用ipkg或opkg数据包管理器处理。相比之下,opkg更新,因此也更有优势。数据包格式会使更多的元数据存储在数据包中。这样能够避免加载不兼容的数据包,并确保带来正确运行时间的相关项。Arago可定义其预先构建的IPK源程序(见列表7),但可能不具有最为广泛的数据包。在需要更多数据包时,可启用Angstrom源程序,但是在混合使用不同源程序时需要更加小心谨慎。 列表7:发行版配置文件摘要 ANGSTROM_PKG_FORMAT ?= ipk require conf/distro/include/ angstrom-package$ANGSTROM_PKG_FORMAT.inc #Use this variable to select which recipe you want to use to #get feed configs (/etc/ipkg/, #/etc/apt/sources.list). Useful #for derivative distros and local testing ANGSTROM_FEED_CONFIGS = arago-feed-configs # Feed configuration ARAGO_URI = ARAGO_FEED_BASEPATH = feeds/live/$ANGSTROM_PKG_FORMAT DISTRO_FEED_URI = $ARAGO_URI/$ARAGO_FEED_BASEPATH 在发行版配置文件中可以设置其它通用构建参数。例如,开发人员可将具有更多调试信息或配置文件信息的已完成构建流程指定为标准流程。这些代码行可通过“生产代码”镜像方法注释掉或覆盖,从而可提高最终生产版本的性能。 列表8:发行版配置文件摘要 # Comment these two out if you want BitBake to build # production images. DEBUG_BUILD = 1 INHIBIT_PACKAGE_STRIP = 1 # Build a package such that you can use gprof to profile it. PROFILE_OPTIMIZATION = -pg SELECTED_OPTIMIZATION = $PROFILE_OPTIMIZATION LDFLAGS =+ -pg 设备配置文件可定义在电路板上引导Linux所需的基本要素。例如,ARM926或ARM Cortex-A8等目标CPU的定义,提供了Linux内核的优先方法提供方以及相应引导加载程序,如列表9所示,显示了TI ARM9视频器件的DM365设备配置文件。 列表9:设备配置文件 #TYPE: Machine #NAME: DM365 CPUs on a Davinci DM365 EVM board #DESCRIPTION: Machine configuration for the TI Davinci DM365 EVM board require conf/machine/include/dm365.inc require conf/machine/include/tune-arm926ejs.inc # Increase this everytime you change something in the kernel MACHINE_KERNEL_PR = r45 TARGET_ARCH = arm KERNEL_IMAGETYPE = uImage PREFERRED_PROVIDER_virtual/kernel = linux-davinci-staging PREFERRED_PROVIDER_virtual/bootloader = u-boot UBOOT_MACHINE = davinci_dm365_evm_config UBOOT_ENTRYPOINT = 0x80008000 UBOOT_LOADADDRESS = 0x80008000 EXTRA_IMAGEDEPENDS += u-boot SERIAL_CONSOLE ?= 115200 ttyS0 EXTRA_IMAGECMD_jffs2 = -pad -little-endian -eraseblock=0x20000 -n #ROOT_FLASH_SIZE = 29 MACHINE_FEATURES =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中地理教师的个人工作总结(28篇)
- 初中道德与法治教学工作总结
- 产后抑郁的中医辨证论治思路
- 肺功能检查及其临床应用
- 初中语文九年级下册 作业设计
- 创卫知识宣传资料
- 二甲双胍与抗凝药物相互作用的临床管理
- 北京体育大学本科生毕业论文工作流程图
- 出租厂房合同(15篇)
- 分析六角头螺栓产生毛刺的主要原因
- JCT945-2005 透水砖的标准
- 读书分享交流会《时间管理:如何充分利用你的24小时》课件
- Unit5 Words and expressions 课件-2022-2023学年高中英语人教版(2019)选择性必修第一册
- 新版PEP小学英语五年级上册复习方位介词和therebe句型课件
- 视频监控安装方案
- 【高中化学奥赛课件】配位化合物(一)
- 建设工程围挡标准化管理图集
- GB 4806.8-2022食品安全国家标准食品接触用纸和纸板材料及制品
- 供应商审核表(英文版)Supplier Audit Form-List
- 机械设备振动状态监测培训讲义课件
- 《痛风饮食管理》课件
评论
0/150
提交评论