开放嵌入式(OE Linux)Linux系统开发指南(下)_第1页
开放嵌入式(OE Linux)Linux系统开发指南(下)_第2页
开放嵌入式(OE Linux)Linux系统开发指南(下)_第3页
开放嵌入式(OE Linux)Linux系统开发指南(下)_第4页
开放嵌入式(OE Linux)Linux系统开发指南(下)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

开放嵌入式(OELinux)Linux系统开发指南(下)在本文中,德州仪器(Tl)NickLethaby和DenysDmytriyenko概括介绍了开放嵌入式(OE,OpenEmbedded)Linux构建环境的重要元素,并展示了如何使用它们构建和定制Linux发行版。随着嵌入式处理器的功能日益强大,特性不断丰富,Linux操作系统在嵌入式应用中得到了迅速普及。尽管Linux的开源性与免许可证费用这一事实是其迅速普及的一个主要推动力,但另一个重要推动因素则是来自Linux在台式机与服务器领域广泛使用所提供的丰富应用软件与驱动。OE配置文件配置文件主要分为两类:设备配置与发行版(distro)配置。另外还有本地配置文件以及名为"bitbake.conf”的文件。Bitbake.conf是BitBake读取的第一个文件,包含所有其它配置文件。此外,它还可定义许多全局变量,并称之为bitbake.conf。不建议直接修改bitbake.conf,建议在distro配置文件或本地配置文件中进行覆盖。设备配置文件可定义特定目标电路板。发行版配置文件可为一台以上的设备定义特定的Linux发行版(比如各种数据包版本)。发行版配置文件是进行全局设置的最佳场合,该设置可应用于发行版生成的所有镜像。OE可帮助开发人员根据具体镜像或数据包覆盖这些设置,从而高度灵活地处理特殊情况。例如,本地配置(local.conf)文件往往用于放置用户专用配置,以适度修改默认发行版配置的设置。在完成对发行版配置文件和设备配置文件的更详细讨论后,我们将从总体上了解在Aragolocal.conf文件中所做的其它配置设置。该发行版配置文件可设定各种基本“内务处理”参数(见列表5),如发行版本名称、下载源文件和存储所构建数据包的目录以及uImage的支持文件格式等。列表5:配置文件摘要FornowAragoisnotbigenoughtowarrantaseparatedistribution,reuseAngstrom,butsetthenametoAragoDISTRO="angstrom-2008.1"Setthedistronameandversion,sincewenowproduceownSDKDISTRO_NAME="Arago"DISTRO_VERSION="2010.05"BUILDNAME="${DISTRO_NAME}${DISTRO_VERSION}"UsethistospecifywhereBitBakeshouldplacethedownloadedsourcesintoDL_DIR="${SCRATCH}/downloads"#Putresultingimagesandpackagesindeploydirectoryoutsideoftemp#DEPLOY_DIR="${OEBASE}/arago-deploy"#Addtherequiredimagefilesystemtypesbelow.Validare#jffs2,tar(.gz|bz2),cpio(.gz),cramfs,ext2(.gz),ext3(.gz)#squashfs,squashfs-lzmaIMAGE_FSTYPES="jffs2tar.gzext2.gz"此外,该发行版配置文件还可指定构建发行版的目标设备,尽管每台设备启动Linux的详细信息都存放在设备配置文件中。由于发行版配置文件所处的位置由工具链版本决定,因此支持大量设备可能会使文件变得更加复杂。例如,可能需要指定多个大数据包补丁或不同的工具链版本来适应各种不同的设备。其它需要在发行版配置文件中指定的架构相关项包括硬件与软件浮点、是否支持不同的指令集(ARMARM应用系统开发详解或ThumbThumb指令集专题)、以及可能不适应发行版中包含的某些数据包的各类寻址方式。选择数据包版本是发行版配置文件中较为重要的常见功能之一,以确保所使用的已知兼容性版本。选择版本的方法很多。如果没有指定版本,就选择最新版本。同样,也可指定某种“从不落后于”最新版本的版本。对于需要特定版本的数据包,可为发行版配置文件中的整个发行版指定默认首选版本,如列表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等桌面数据包管理技术相比,其在满足空间有限的嵌入式应用需求方面具有一定的优势dpk格式原本建立在deb格式基础之上,可用ipkg或opkg数据包管理器处理。相比之下,opkg更新,因此也更有优势。数据包格式会使更多的元数据存储在数据包中。这样能够避免加载不兼容的数据包,并确保带来正确运行时间的相关项。Arago可定义其预先构建的IPK源程序(见列表7),但可能不具有最为广泛的数据包。在需要更多数据包时,可启用Angstrom源程序,但是在混合使用不同源程序时需要更加小心谨慎。列表7:发行版配置文件摘要ANGSTROM_PKG_FORMAT?="ipk"requireconf/distro/include/angstrom-package${ANGSTROM_PKG_FORMAT}.inc#Usethisvariabletoselectwhichrecipeyouwanttouseto#getfeedconfigs(/etc/ipkg/,#/etc/apt/sources.list).Useful#forderivativedistrosandlocaltestingANGSTROM_FEED_CONFIGS="arago-feed-configs"FeedconfigurationARAGO_URI=""ARAGO_FEED_BASEPATH="feeds/live/${ANGSTROM_PKG_FORMAT}"DISTRO_FEED_URI="${ARAGO_URI}/${ARAGO_FEED_BASEPATH}"在发行版配置文件中可以设置其它通用构建参数。例如,开发人员可将具有更多调试信息或配置文件信息的已完成构建流程指定为标准流程。这些代码行可通过“生产代码”镜像方法注释掉或覆盖,从而可提高最终生产版本的性能。列表8:发行版配置文件摘要CommentthesetwooutifyouwantBitBaketobuildproductionimages.DEBUG_BUILD="1"INHIBIT_PACKAGE_STRIP="1"Buildapackagesuchthatyoucanusegproftoprofileit.PROFILE_OPTIMIZATION="-pg"SELECTED_OPTIMIZATION="${PROFILE_OPTIMIZATION}"LDFLAGS=+"-pg设备配置文件可定义在电路板上引导Linux所需的基本要素。例如,ARM926或ARMCortex-A8等目标CPU的定义,提供了Linux内核的优先方法提供方以及相应引导加载程序,如列表9所示,显示了TlARM9视频器件的DM365设备配置文件。列表9:设备配置文件#@TYPE:Machine#@NAME:DM365CPUsonaDavinciDM365EVMboard#@DESCRlPTlON:MachineconfigurationfortheTlDavinciDM365EVMboardrequireconf/machine/include/dm365.increquireconf/machine/include/tune-arm926ejs.inc#lncreasethiseverytimeyouchangesomethinginthekernelMACHlNE_KERNEL_PR="r45"TARGET_ARCH="arm"KERNEL_lMAGETYPE="ulmage"PREFERRED_PROVIDER_virtual/kernel="linux-davinci-staging"PREFERRED_PROVlDER_virtual/bootloader="u-boot"UBOOT_MACHINE="davinci_dm365_evm_config"UBOOT_ENTRYPOINT="0x80008000"UBOOT_LOADADDRESS="0x80008000"EXTRA_IMAGEDEPENDS+="u-boot"SERIAL_CONSOLE?="115200ttyS0"EXTRA_IMAGECMD_jffs2="--pad--little-endian--eraseblock=0x20000-n"#ROOT_FLASH_SIZE="29"MACHINE_FEATURES="ke

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论