imx6的yocto工程编译记录

1.主机配置

ubuntu18.04LTS x86_64; 硬盘空间120G,超快宽带。

2.安装依赖环境

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat libsdl1.2-dev
$ sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html \
docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils \
libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc
$ sudo apt-get install u-boot-tools

3.参考文档下载

        IMXLXYOCTOUG.pdf
        IMX6L31428101RN.pdf

4.repo下载

创建repo

$ mkdir ~/bin 
$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
$ chmod a+x ~/bin/repo

repo添加到环境变量

$ export PATH=$PATH:~/bin

5.设置git

$ git config --global user.name "name"
$ git config --global user.email "email"
$ git config --list
#举例:
$ git config --global user.name  test
$ git config --global user.email [email protected]

6.repo同步

$ cd ~
$ mkdir fsl-release-bsp
$ cd fsl-release-bsp
$ export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-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 sync

这里使用清华镜像链接,避免出现不能访问。如果同步中断,可以重新执行repo sync。如果出现

/usr/bin/env: ‘python’: No such file or directory,这是python不能使用,执行sudo ln -s /usr/bin/python2 /usr/bin/python 加入python链接,必须使用python2

7.编译yocto

$ DISTRO=fsl-imx-fb MACHINE=imx6qsabresd source fsl-setup-release.sh -b build

DISTRO有如下四种设置:
       fsl-imx-x11         fsl-imx-wayland       fsl-imx-xwayland              fsl-imx-fb
       MACHINE有多种配置:
       imx6qpsabreauto       imx6qpsabresd       imx6ulevk       imx6ull14x14evk       imx6ull9x9evk       imx6dlsabreauto
       imx6dlsabresd       imx6qsabreauto       imx6qsabresd       imx6slevk       imx6solosabreauto       imx6solosabresd
       imx6sxsabresd       imx6sxsabreauto       imx7dsabresd

$ bitbake core-image-minimal

使用bitbake编译镜像,可选项有:

 core-image-minimal
        meta-toolchain
        meta-toolchain-sdk
       adt-installer
       meta-ide-support

编译时间很长,如果中断,可以在~/fsl-release-bsp/目录执行source setup-environment build,再重新执行bitbake core-image-minimal。

编译完成后在~/fsl-release-bsp/build/tmp/deploy/images/imx6qsabresd/目录下生成镜像。

8.编译交叉编译工具链

$ bitbake meta-toolchain

编译完成后会在~/fsl-release-bsp/build/tmp/deploy/sdk目录下生成文件fsl-imx-fb-glibc-x86_64-meta-toolchain-cortexa9hf-neon-toolchain-4.14-sumo.sh。
       执行如下命令交叉编译工具链:

$ cd ~/fsl-release-bsp/build/tmp/deploy/sdk
$ ./fsl-imx-fb-glibc-x86_64-meta-toolchain-cortexa9hf-neon-toolchain-4.14-sumo.sh

一路选择默认设置,最终将在/opt/fsl-imx-fb/4.14-sumo目录下生成我们所需要的工具链。至此,我们所需要的所有文件均已生成,包含了uboot,kernel,rootfs以及交叉编译工具。

9.不使用yocto中的uboot和kernel源码
    直接下载,在终端下执行如下指令(-b 分支 ):
    下载uboot :

git clone https://source.codeaurora.org/external/imx/uboot-imx.git -b imx_v2019.04_5.4.3_2.0.0

    下载kernel:   

 git clone https://source.codeaurora.org/external/imx/linux-imx.git -b imx_5.4.3_2.0.0

 

你可能感兴趣的:(嵌入式linux)