Yocto环境编译QT5
2017-12-11 @SystemIntegration #QT #Yocto从下面地址获取qt5的meta,加入到yocto的bblayer.conf中: http://github.com/meta-qt5/meta-qt5.git
从下面地址获取qt5的meta,加入到yocto的bblayer.conf中: http://github.com/meta-qt5/meta-qt5.git
Virtualbox自身在“显示”中存在一个远程桌面 ,也是使用的3389端口。但是,这个远程桌面使用的是Virtualbox的VRDP服务,而不是Win10自身的远程桌面服务。因此,它是没有用户验证的,也就是说,任何人只要知道了机器的IP地址,就可以访问这台Win10。
Yocto编译,一直报如下错误:
ERROR: Timeout while attempting to communicate with bitbake server
在网上搜索,大多数答案都是内存不足。今天突发奇想,重新起了一个工程编译,居然就不报错了。
所以,猜测内存不足的根本原因是在同一个工作环境下编译次数太多,导致垃圾文件太多,延长了Yocto启动检索消耗的时间。
最近在Jenkins中编译Yocto工程,经常发生内存不足导致的编译失败的情况。而每次只要执行一下
sysctl -w vm.drop_caches=3
就可以编译成功。
首先,利用/proc/pid/maps可以获取到进程关联的文件的列表。 其次,OpenSUSE中提供了一个工具fincore(包含在linux-ftools这个软件包中)可以获取指定文件的Cache情况。
将线性的输出信息整理成为二维的表格,便于查看。
dlt提供了一个函数叫做dlt_user_atexit_blow_out_user_buffer()。这个函数的解释如下: Try to resend log message in the user buffer. Stops if the dlt_uptime is bigger than dlt_uptime() + DLT_USER_ATEXIT_RESEND_BUFFER_EXIT_TIMEOUT. A pause between the resending attempts can be defined with DLT_USER_ATEXIT_RESEND_BUFFER_SLEEP.
虽然其中的DLT_USER_ATEXIT_RESEND_BUFFER_EXIT_TIMEOUT对应的变量可以通过dlt_set_resend_timeout_atexit()函数进行修改,但是程序崩溃前残余的LOG需要多久才可以输出完并不是可控的。
因此,我想了下面的办法来确保LOG的完全输出。
本文基于Weston-1.9.0整理完成。后续版本可能会有变动。但原理应该大同小异。
本文基于Weston-1.9.0整理完成。后续版本可能会有变动。但原理应该大同小异。