yocto

使用前需要安装google的repo工具。

$ mkdir ~/bin
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ PATH=${PATH}:~/bin

创建工作文件夹并同步代码,这里使用yocto3.0也就是zeus这个brance。

$ mkdir fsl-community-bsp
$ cd fsl-community-bsp
$ repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b zeus
$ repo sync

进入刚创建的文件夹fsl-community-bsp,可以发现sources目录,这个目录顾名思义是存放资源的地方,所有的layer相关,recipes都在其中,同时这个目录下的文件内容不会随着编译行为而产生变化,也就是说,编译所产生的一切中间文件和最终的镜像等都存放在另一个目录下。执行setup-environment脚本,之前要设置MACHINE和DISTRO环境变量,和工作目录,这个目录就是存放编译相关的文件的。(这里使用默认名称build,自己随意更改)

$ cd fsl-community-bsp
$ MACHINE=imx6dl-riotboard DISTRO=fslc-framebuffer source setup-environment build

也可以执行直接执行以下命令来获得可选的参数和帮助。

$ source setup-environment

(注意,如果关闭了终端后再使用bitbake的话,需要执行如下

$ source setup-environment build

yocto可以编译出很多镜像文件和package,可以使用以下命令列出(数量很多,可以使用  | grep ***  来定位)

$ bitbake -s

这里首先介绍以下编译kernel镜像的过程,执行以下,第一次需要很久的时间,因为需要下载各种工具的源码进行编译(这还是最简单的编译,后期完整的镜像一般十几个小时都有可能,而且不会FQ大概率不行)

$ cd build
$ bitbake linux-flsc

编译完成后在build/tmp/deploy/images/imx6dl-riotboard/下后产生对应的kernel镜像文件zImage--5.1.15+git0+cd1d083333-r0-imx6dl-riotboard-20200122135708.bin和

dtb imx6dl-riotboard--5.1.15+git0+cd1d083333-r0-imx6dl-riotboard-20200122135708.dtb

原文地址:https://www.cnblogs.com/-rzx-/p/12229863.html