yocto-sumo源码解析(一): oe-init-build-env
2018-08-21 05:42:08来源:博客园 阅读 ()
oe-init-build-env是yocto构建环境运行的第一个脚本,通过运行下面的命令:
. oe-init-build-env build-arm64
即可对yocto项目进行构建,顾名思义,该脚本主要目的还在于给yocto项目构建进行环境准备,在运行前后,可以观察到本地的一些变化,先看环境变量上的一些变化:
对于原有环境变量,yocto修改了下面几个环境变量:
OLDPWD:记录脚本运行前的工作目录;
PATH:修改执行程序搜索路径,这样就可以在后续操作中运行bitbake等命令;
PWD:记录脚本运行后的工作目录;
BBPATH:记录BBPATH,具体含义,在后面的分析当中进行阐述;
BUILDDIR:记录yocto构建目录;
BB_ENV_EXTRAWHITE: 记录BB_ENV_EXTRAWHITE,具体含义,在后面的分析当中进行阐述。
除了对环境变量进行修改,同时也在本地建立了build-arm64这个构建目录。
下面是oe-init-build-env源码:
if [ -n "$BASH_SOURCE" ]; then THIS_SCRIPT=$BASH_SOURCE elif [ -n "$ZSH_NAME" ]; then THIS_SCRIPT=$0 else THIS_SCRIPT="$(pwd)/oe-init-build-env" fi if [ -n "$BBSERVER" ]; then unset BBSERVER fi if [ -z "$ZSH_NAME" ] && [ "$0" = "$THIS_SCRIPT" ]; then echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'" exit 1 fi if [ -z "$OEROOT" ]; then OEROOT=$(dirname "$THIS_SCRIPT") OEROOT=$(readlink -f "$OEROOT") fi unset THIS_SCRIPT export OEROOT . $OEROOT/scripts/oe-buildenv-internal && TEMPLATECONF="$TEMPLATECONF" $OEROOT/scripts/oe-setup-builddir || { unset OEROOT return 1 } unset OEROOT [ -z "$BUILDDIR" ] || cd "$BUILDDIR"
脚本逻辑也不复杂,主要步骤:
1、设置THIS_SCRIPT变量,若BASH_SOURCE不为空,THIS_SCRIPT指向BASH_SOURCE,若ZSH_NAME不为空,THIS_SCRIPT指向脚本文件本身,缺省情况下,THIS_SCRIPT指向oe-init-build-env脚本文件绝对路径;
2、重置BBSERVER变量;
3、检查oe-init-build-env运行方式,确认一定是以“. oe-init-build-env <builddir>”的方式运行;
4、运行scripts/oe-buildenv-internal以及scripts/oe-setup-builddir脚本;
5、进入构建目录;
从上面5个步骤来看,关于环境变量的变化,并没有在该脚本进行修改,因此只有可能在oe-buildenv-internal以及oe-setup-builddir中进行,具体情况,将在下回分解。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:python数据结构之选择排序
下一篇:python 闭包
- Django源码安装xadmin报错Apps aren't loaded yet. 2019-07-24
- Django model 字段类型及选项解析 2019-07-24
- python项目实战:实时博客项目 源码下载 2019-07-24
- python表白小程序(1)源码下载 2019-07-24
- python小游戏贪吃蛇源码下载 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash