使用yocto搭建 i.MX8QXP Linux 4.14.98_ga 板级开发包编译环境

1.1 下载板级开发包
https://www.nxp.com/support/developer-resources/run-time-software/i.mx-developer-resources/i.mx
-software-and-development-tool:IMX_SW
i.MX BSP Updates and Releases
Linux
        Linux 4.14.98_2.0.0
        Source Code
        Linux Binary Demo Files - i.MX 6QuadPlus, i.MX 6Quad, i.MX 6DualPlus, i.MX 6Dual, i.MX
        6DualLite, i.MX 6Solo, i.MX 6SoloX
        Linux Binary Demo Files - i.MX 6SoloLite EVK
        Linux Binary Demo Files - i.MX 6SLL EVK
        Linux Binary Demo Files - i.MX 6UltraLite, i.MX 6ULL, i.MX 7Dual
        Linux Binary Demo Files - i.MX 7Dual SabreSD
        Linux Binary Demo Files - i.MX 7ULP EVK
        Linux Binary Demo Files - i.MX 8MMini EVK
        Linux Binary Demo Files - i.MX 8MQuad EVK
        Linux Binary Demo Files - i.MX 8QMax MEK
        Linux Binary Demo Files - i.MX 8QXPlus MEK
        SCFW Porting Kit
        AACPlus Codec
Documentation
        Linux
        Linux L4.14.98_2.0.0 Documentation
可以首先下载:
        1. Linux L4.14.98_2.0.0 Documentation
        i.MX_BSP_Porting_Guide.pdf
        i.MX_Graphics_User's_Guide.pdf
        i.MX_Linux_Reference_Manual.pdf
        i.MX_Linux_Release_Notes.pdf
        i.MX_Linux_User's_Guide.pdf
        i.MX_VPU_Application_Programming_Interface_Linux_Reference_Manual.pdf
        i.MX_Yocto_Project_User's_Guide.pdf
        2. SCFW Porting Kit
        imx-scfw-porting-kit-1.2.tar.gz
        i.MX8QXP MEK Linux Demo 镜像也可以下载。
1.2 创建 yocto 编译环境:
Ubuntu 14.04 编译主机需要事先执行以下命令安装编译所需包:
sudo apt-get update 
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 

git config --global user.name xxx 
git config --global user.email [email protected] 
git config –list
根据文档 imx-yocto-L4.14.98_2.0.0_ga\i.MX_Yocto_Project_User's_Guide.pdf 创建 yocto 编译
环境时,需要注意以下几点:
1.
中国大陆地区无法从 google 的 git 服务器下载 repo 工具,可以改成如下清华的 git 服务器:
mkdir bin
cd bin
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
chmod a+x repo
export PATH=~/bin:$PATH
2. 可以通过如下地址检查目前可以下载的 manifest:
https://source.codeaurora.org/external/imx/imx-manifest/tree/?h=imx-linux-sumo
mkdir 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
repo sync
3. 建议编译 wayland 后端,而不是编译 fb 后端(对于没有屏的应用如 Tbox,可以使用 fb 后端)。
DISTRO=fsl-imx-wayland MACHINE=imx8qxpmek source fsl-setup-release.sh -b imx8qxpmek_wayland
或者支持 QT 的话编译 xwayland 后端
DISTRO=fsl-imx-xwayland MACHINE=imx8qxpmek source fsl-setup-release.sh -b imx8qxpmek_xwayland
4. 如下命令编译基于 wayland 的支持 GUI 的测试镜像:
bitbake fsl-image-validation-imx -k
或者编译 QT
bitbake fsl-image-qt5-validation-imx -k
5. 编译成功后的输出是:
Wayland:
/imx-yocto-bsp/imx8qxpmek_wayland/tmp/deploy/images/imx8qxpmek/
fsl-image-validation-imx-imx8qxpmek.sdcard.bz2 ->
fsl-image-validation-imx-imx8qxpmek-20190114071748.rootfs.sdcard.bz2 (sdcard 镜像,解压后可以直接烧写)
fsl-image-validation-imx-imx8qxpmek.tar.bz2 ->
fsl-image-validation-imx-imx8qxpmek-20190114071748.rootfs.tar.bz2 (rootfs 压缩包)
u-boot-sd-2018.03-r0.bin (uboot)
imx-boot-tools/ mx8qx-mek-scfw-tcm.bin (sc firmware)
imx-boot-tools/ bl31-imx8qxp.bin (ATF)
imx-boot-tools/mx8qx-ahab-container.img (seco HAB container 仅有镜像)
xwayland+QT:
pwd
~/imx-yocto-bsp/imx8qxpmek_xwayland/tmp/deploy/images/imx8qxpmek/
fsl-image-validation-imx-imx8qxpmek.sdcard.bz2 ->
fsl-image-qt5-validation-imx-imx8qxpmek-20190731045445.rootfs.sdcard.bz2 (sdcard 镜像,解压后可以直接烧写)
fsl-image-validation-imx-imx8qxpmek.tar.bz2 ->
fsl-image-qt5-validation-imx-imx8qxpmek-20190731045445.rootfs.tar.bz2 (rootfs 压缩包)
u-boot-sd-2018.03-r0.bin (uboot)
imx-boot-tools/ mx8qx-mek-scfw-tcm.bin (sc firmware)
imx-boot-tools/ bl31-imx8qxp.bin (ATF)
imx-boot-tools/mx8qx-ahab-container.img (seco HAB container 仅有镜像)
6. 烧写 SD 卡镜像
Validation image:
bunzip2 -dk -f fsl-image-validation-imx-imx8qxpmek-20190114071748.rootfs.sdcard.bz2
sudo dd if= fsl-image-validation-imx-imx8qxpmek-20190114071748.rootfs.sdcard of=/dev/sd<partition> bs=1M  conv=fsync && sync

sync
QT image:
bunzip2 -dk -f fsl-image-qt5-validation-imx-imx8qxpmek-20190731045445.rootfs.sdcard.bz2
sudo dd if= fsl-image-qt5-validation-imx-imx8qxpmek-20190731045445.rootfs.sdcard of=/dev/sd<partition> bs=1M conv=fsync && sync

sync
总共时长:
大约 15 个小时(包括解决问题的时间)。

 1.2.1 编译 sdk 及安装

bitbake fsl-image-validation-imx -c populate_sdk 

或者:

bitbake fsl-image-qt5-validation-imx -c populate_sdk

 总共时长大约:2 个小时。

sdk 编译结束后,安装文件地址如下:
~/imx-yocto-bsp/imx8qxpmek_wayland/tmp/deploy/sdk
fsl-imx-wayland-glibc-x86_64-fsl-image-validation-imx-aarch64-toolchain-4.14-sumo.sh

QT 如下:

~/imx-yocto-bsp/imx8qxpmek_xwayland/tmp/deploy/sdk
fsl-imx-xwayland-glibc-x86_64-fsl-image-qt5-validation-imx-aarch64-toolchain-4.14-sumo.sh

安装 sdk:

运行安装脚本:
pwd
~/imx-yocto-bsp/imx8qxpmek_wayland
mkdir sdk
./fsl-imx-wayland-glibc-x86_64-fsl-image-validation-imx-aarch64-toolchain-4.14-sumo.sh

Xwayland+QT 如下:

pwd
~/imx-yocto-bsp/imx8qxpmek_wayland
mkdir sdk
./fsl-imx-xwayland-glibc-x86_64-fsl-image-qt5-validation-imx-aarch64-toolchain-4.14-sumo.sh

输入安装 sdk 的目标目录(default: /opt/fsl-imx-fb/4.9.51-mx8-ga):

~/imx-yocto-bsp/imx8qxpmek_wayland/sdk
You are about to install the SDK to "~/imx-yocto-bsp/imx8qxpmek_wayland/sdk". Proceed[Y/n]? Y

Xwayland+QT 如下:

~/imx-yocto-bsp/imx8qxpmek_xwayland/sdk
You are about to install the SDK to "~/imx-yocto-bsp/imx8qxpmek_xwayland/sdk". Proceed[Y/n]? Y

安装结束后,可以在以下目录找到安装的 sdk 及编译 toolchain:

~/imx-yocto-bsp/imx8qxpmek_wayland/sdk/environment-setup-aarch64-poky-linux
sysroots

Xwayland+QT 如下:

~/imx-yocto-bsp/imx8qxpmek_xwayland/sdk/environment-setup-aarch64-poky-linux
sysroots

猜你喜欢

转载自blog.csdn.net/Linux_zhicheng/article/details/118606104
今日推荐