摘要:
oe-init-build-env是yocto构建环境运行的第一个脚本,通过运行下面的命令: . oe-init-build-env build-arm64 即可对yocto项目进行构建,顾名思义,该脚本主要目的还在于给yocto项目构建进行环境准备,在运行前后,可以观察到本地的一些变化,先看环境变 阅读全文
摘要:
def recvfds(sock, size): '''Receive an array of fds over an AF_UNIX socket.''' a = array.array('i') #声明一个整型数组,itemsize ... 阅读全文
摘要:
这一节开始介绍ProcessServer.idle_commands,前面我们知道ProcessServer.main就是不停调用idle_commands()以获取可用的套接字描述符或者是文件描述符来进行处理。 从上面的代码分析中,可以看出来,ProessServer.main()中的ready是 阅读全文
摘要:
前面讲到BitbakeServer实际上是一个ProcessServer,因此对ProcessServer进行了一个大略的分析集,这里着重再介绍一下ProcessServer.main。 1. 初始化 2. 服务器连接循环 3. 退出清理 阅读全文
摘要:
从前面章节的论述中,我们知道BitBakeServer实际上是一个ProcessServer,什么是ProcessServer不可不了解。 1. 类的声明: 首先这是一个python的多进程包里面的进程子类,关于多进程包可以参阅:https://docs.python.org/2/library/m 阅读全文
摘要:
1. 创建域套接字,管道以及锁: 2. 创建后台线程执行_startServer: 3. 读者线程: 4. 写者线程: 阅读全文
摘要:
1. 创造日志handler: 在status_only模式,不需要日志以及UI 2. 取得ui模块并设置特征集: 3. 远程模式下返回远程server连接: 4. 本地模式下返回本地server连接: 5. 清理日志handler,返回服务器连接以及ui模块: 阅读全文
摘要:
续前面分析,就该对bitbake_main()这个函数进行分析了,这个函数位于bitbake/lib/bb/main.py。 1. 检测主机操作系统是否为linux并且/dev/shm是否存在,python的multiprocessing需要/dev/shm支持: 2. 重新设置stdout,禁用缓 阅读全文
摘要:
1. 环境准备 按照前面几节的分享,我们已经知道了oe-init-build-env是如何建立yocto项目环境的,下面我们继续研究bitbake脚本,在这之前,因为我们选择qemuarm64为目标机进行开发,所以需要修改配置文件conf/local.conf,设置MACHINE为qemuarm64 阅读全文
摘要:
该脚本的主要功能就是创建构建目录并准备一些配置文件,比如conf/local.conf,conf/bblayer.conf 1. 检测BUILDDIR环境变量是否设置好(在本系列分享第二节已经知道:BUILDDIR=poky-sumo-19.0.0/build-arm64): 2.检测是否本次运行只 阅读全文
摘要:
1 首先,脚本先对运行方式进行了检测: 这个目的,就是强制OEROOT/scripts/oe-buildenv-internal以“. $OEROOT/scripts/oe-buildenv-internal”的方式运行,避免以直接执行$OEROOT/scripts/oe-buildenv-inte 阅读全文