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