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