介绍
本文以imx6q为例介绍关于yocto开发环境搭建过程。其它imx系列的yocto开发环境搭建也基本类似,也可以作为参考。系统所用的PC开发环境根据构建代码的文档中的要求选择,避免出现未知错误。
因为<i.MX_Yocto_Project_User’s_Guide.pdf>文档中官网已经给出了详细的过程。下面只是将自己在搭建过程遇到问题和处理方法做一些补充。
linux版本支持及开发文档下载
登录访问下面的网页,可以查看imx目前支持的linux版本和相应版本下支持的cpu系列。https://www.nxp.com.cn/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX
https://github.com/nxp-imx/imx-manifest nxp的官方github仓库。里面有各个版本的manifest。
安装编译系统依赖包
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat libsdl1.2-dev
需要了解更多可以查阅<i.MX_Yocto_Project_User’s_Guide.pdf>的3.1 Host packages章节。
如果没有repo命令可以利用“sudo apt-get install repo”进行安装。
拉取代码
$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-sumo -m imx-4.14.98-2.0.0_ga.xml --repo-url=git://codeaurora.org/tools/repo.git --repo-branch=caf-stable
$ repo sync
刚开始我利用文档中给的方法搭建一直无法正常下载repo,文档中给的repo地址一直连接不上,后来在repo init的命令后面添加了“–repo-url=git://codeaurora.org/tools/repo.git --repo-branch=caf-stable”参数就成功了。这个过程时间较长,耐心等待。
同步代码过程中如果遇见提示证书错误的情况可以利用"sudo apt-get upgrade"命令更新系统。
#证书错误log
server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
另外git 来取类似“git://git.yoctoproject.org”位置上的代码出错可以修改.repo/manifest.xml将其修改成“https://git.yoctoproject.org”。如下:
<remote fetch="git://git.yoctoproject.org" name="yocto"/>
<remote fetch="git://github.com/Freescale" name="community"/>
<- 修改成下面的样子 ->
<remote fetch="https://git.yoctoproject.org" name="yocto"/>
<remote fetch="https://github.com/Freescale" name="community"/>
编译
这个过程相当耗时,如果出现错误可以尝试多执行几次编译命令看看能不能修复错误。
如果有下载失败的tarball可以尝试手动下载然后放在downloads目录下,在重新执行编译命令。
X-11 image on i.MX 6Quad SABRE-SD 编译命令
DISTRO=fsl-imx-x11 MACHINE=imx6qsabresd source fsl-setup-release.sh -b build-x11
bitbake fsl-image-validation-imx
This builds an X11 image without Qt 5. To build with Qt 5, use fsl-image-qt5-validation-imx instead.
需要了解更多可以参考<i.MX_Yocto_Project_User’s_Guide.pdf>的5.6 Build scenarios
章节