(注意,以下指令均需在非root指令下执行)
1 中国大陆地区无法从google的git服务器下载repo工具,需要改成清华的git服务器
创建bin目录,命令mkdir bin
进入bin目录,命令cd bin
修改源 curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
修改repo文件夹权限,命令:chmod a+x repo
配置环境变量:export PATH=~/bin:$PATH
图片7.png
2 建立imx-yocto-bsp文件夹,命令:mkdir imx-yocto-bsp
进入imx-yocto-bsp目录,命令cd imx-yocto-bsp
执行命令: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=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
图片8.png
在这个过程中可能会出现需要注册姓名与邮箱,正常注册即可。
同步,执行命令: repo sync
图片9.png
3 设置脚本环境,DISTRO选择fsl-imx-x11,MACHINE选择imx7dsabresd,输入命令:DISTRO=fsl-imx-x11 MACHINE=imx7dsabresd source fsl-setup-release.sh -b build-x11。
图片10.png
4 编译完成后会自动进入build-x11目录,编译镜像文件,输入命令bitbake fsl-image-validation-imx
图片11.png
(注):若报错缺少安装包,则按具体情况进行安装,下面包含所有需要的包
sudo apt-get update
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev 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
5 编译qt5交叉编译器执行命令:bitbake meta-toolchain
图片12.png
编译完成后会在/home/imx8/imx-yocto/build-x11/tmp/deploy/sdk目录下生成文件
Fsl-imx-x11-glibc-x86_64-meta-toolchain-cortexa7hf-neno-toolchain-4.14-suno.sh。
安装交叉编译工具链,执行命令:$cd /home/imx8/imx-yocto/build-x11/tmp/deploy/sdk
$./fsl-imx-x11-glibc-x86_64-meta-toolchain-cortexa7hf-neno-toolchain-4.14-suno.sh。
6 最终会生成我们所需要的交叉编译工具链,位置如下图所示:
图片13.png
内核源码位置:
图片14.png
Uboot源码位置:
图片15.png
文件系统所在位置:
图片16.png