欢迎来到天天文库
浏览记录
ID:41071367
大小:45.00 KB
页数:5页
时间:2019-08-15
《开放嵌入式(OE Linux)Linux系统开发指南(下)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、开放嵌入式(OELinux)Linux系统开发指南(下)在本文中,德州仪器(TI)NickLethaby和DenysDmytriyenko概括介绍了开放嵌入式(OE,OpenEmbedded)Linux构建环境的重要元素,并展示了如何使用它们构建和定制Linux发行版。随着嵌入式处理器的功能日益强大,特性不断丰富,Linux操作系统在嵌入式应用中得到了迅速普及。尽管Linux的开源性与免许可证费用这一事实是其迅速普及的一个主要推动力,但另一个重要推动因素则是来自Linux在台式机与服务器领域广泛使用所提供的丰富应用软件与驱动。OE配置文件配置文件主要分为两类:设备配置与
2、发行版(distro)配置。另外还有本地配置文件以及名为“bitbake.conf”的文件。Bitbake.conf是BitBake读取的第一个文件,包含所有其它配置文件。此外,它还可定义许多全局变量,并称之为bitbake.conf。不建议直接修改bitbake.conf,建议在distro配置文件或本地配置文件中进行覆盖。设备配置文件可定义特定目标电路板。发行版配置文件可为一台以上的设备定义特定的Linux发行版(比如各种数据包版本)。发行版配置文件是进行全局设置的最佳场合,该设置可应用于发行版生成的所有镜像。OE可帮助开发人员根据具体镜像或数据包覆盖这些设置,从而
3、高度灵活地处理特殊情况。例如,本地配置(local.conf)文件往往用于放置用户专用配置,以适度修改默认发行版配置的设置。在完成对发行版配置文件和设备配置文件的更详细讨论后,我们将从总体上了解在Aragolocal.conf文件中所做的其它配置设置。该发行版配置文件可设定各种基本“内务处理”参数(见列表5),如发行版本名称、下载源文件和存储所构建数据包的目录以及uImage的支持文件格式等。列表5:配置文件摘要#FornowAragoisnotbigenoughtowarrantaseparatedistribution,#reuseAngstrom,butsetth
4、enametoAragoDISTRO="angstrom-2008.1"#Setthedistronameandversion,sincewenowproduceownSDKDISTRO_NAME="Arago"DISTRO_VERSION="2010.05"BUILDNAME="${DISTRO_NAME}${DISTRO_VERSION}"#UsethistospecifywhereBitBakeshouldplacethedownloadedsourcesintoDL_DIR="${SCRATCH}/downloads"#Putresultingimagesand
5、packagesindeploydirectoryoutsideoftemp#DEPLOY_DIR="${OEBASE}/arago-deploy"……#Addtherequiredimagefilesystemtypesbelow.Validare#jffs2,tar(.gz
6、bz2),cpio(.gz),cramfs,ext2(.gz),ext3(.gz)#squashfs,squashfs-lzmaIMAGE_FSTYPES="jffs2tar.gzext2.gz"此外,该发行版配置文件还可指定构建发行版的目标设备,尽管每台设备启动Linux的详细信息都存放在设备
7、配置文件中。由于发行版配置文件所处的位置由工具链版本决定,因此支持大量设备可能会使文件变得更加复杂。例如,可能需要指定多个大数据包补丁或不同的工具链版本来适应各种不同的设备。其它需要在发行版配置文件中指定的架构相关项包括硬件与软件浮点、是否支持不同的指令集(ARMARM应用系统开发详解或ThumbThumb 指令集专题)、以及可能不适应发行版中包含的某些数据包的各类寻址方式。选择数据包版本是发行版配置文件中较为重要的常见功能之一,以确保所使用的已知兼容性版本。选择版本的方法很多。如果没有指定版本,就选择最新版本。同样,也可指定某种“从不落后于”最新版本的版本。对于需要特
8、定版本的数据包,可为发行版配置文件中的整个发行版指定默认首选版本,如列表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.
此文档下载收益归作者所有