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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章