YOCTO編譯環境的搭建


一、YOCTO編譯環境的搭建

參照《freescale_imx6_yocto.pdf》文檔P14-P16頁構建yocto編譯環境。同時可參考https://linux.cn/article-8268-1.html?amputm_medium=rss。

具體操作步驟如下(有些命令需要su權限,視具體情況而定):

以下操作基於ubuntu 16.04 64bit系統,預留至少120G硬盤空間,推薦2G內存。

1、apt-get update

2、apt-get install wget git-core unzip make gcc g++ build-essentialsubversion sed autoconf automake texi2html texinfo coreutils diffstatpython-pysqlite2 docbook-utils libsdl1.2-dev libxml-parser-perl libgl1-mesa-devlibglu1-mesa-dev xsltproc desktop-file-utils chrpath groff libtool xterm gawkfop

3、copy poky 的 morty 穩定分支:

git clone -b mortygit://git.yoctoproject.org/poky.git

 

4、進入poky目錄,然后運行下面的命令為 Yocto 開發環境設置(設置/導出)一些環境變量:

source oe-init-build-env

 

5、若正常,則如下圖所示,會自動進入build目錄:

 

 

6、修改build/conf/local.conf文件,如提供的local.conf文件所示。

 

7、編譯:

bitbake core-image-minimal

一般要編譯幾個小時,電腦配置不高時,有可能要編譯一天。

 

8、編譯完成后,

runqemu qemux86-64為運行新的基於 Yocto 的 Linux 發行版的 qemu 打開一個新屏幕,則表示安裝完成。

 

二、YOCTO BSP編譯:

 

參考http://blog.csdn.net/wince_lover/article/details/51456745來編譯yocto的BSP。具體步驟如下:

 

1、  下載repo:

mkdir ~/bin (this step may not be needed if the bin folderalready exists)
curlhttp://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

2、設置搜索路徑:

export PATH=~/bin:$PATH

 

3、設置用戶名和郵箱

  gitconfig --global user.name "Your Name"

  gitconfig --global user.email "Your Email"

  gitconfig –list

 

4、獲取linux BSP:

mkdir fsl-release-bsp

cd fsl-release-bsp

repo init -ugit://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.14.52-1.1.0_ga

repo sync

說明:

    reposync 將會是一個漫長的等待過程,中間可能會出錯。如果出錯了就重新repo sync,直到成功為止。另外有的時候可能會很長時間不動了,看下載的流量也一直是0,也可以ctrl+C終止,然后重新repo sync。

    注意在yocto下,我們下載BSP實際上只是一些配置文件,實際編譯的時候邊編譯邊下載的,所以在我們下載的BSP里面是找不到代碼的。

 

5、編譯BSP前的准備工作:

格式:

DISTRO=<distro name>MACHINE=<machine name> source fsl-setup-release.sh -b <build dir>

 

 distro name有下面4個值

 fsl-imx-x11       說明只支持X11 graphics

 fsl-imx-wayland   說明只支持Wayland weston graphics

 fsl-imx-xwayland  說明支持 Wayland graphics 和 X11. 

 fsl-imx-fb        說明只支持Frame Buffer graphics 不支持   X11 和 Wayland

 

 machine name 對應我們的開發板的類型,有下面的值

 imx6qpsabreauto 、 imx6qpsabresd、 imx6ulevk 、imx6dlsabreauto

 imx6dlsabresd  、  imx6qsabreauto 、 imx6qsabresd 、 imx6slevk 、 imx6solosabreauto

 imx6solosabresd 、 imx6sxsabresd 、 imx6sxsabreauto 、 imx7dsabresd

 

 build dir 是編譯的目錄,我們可以任意指定一個目錄名,編譯的時候將在當前目錄下新建這個目錄。

 

  例如我是這樣設置的

 MACHINE=imx6qsabresd DISTRO=fsl-imx-x11 source ./fsl-setup-release.sh -bimx6q-x11

  首次運行這個命令的時候會提示時候遵循EULA協議,我們選y就好了。

 

6、編譯BSP:

設置好后開始編譯。

  我們用bitbake來編譯的。

  格式是 bitbake <project name>

 project name有下面的選項

 core-image-minimal  這個是構建一個能啟動的最小的系統

 core-image-base     這個是構建一個只有命令行的系統

 core-image-sato     這個是一個支持X11圖形界面的系統

 fsl-image-machine-test 這個imx內核的只有命令行的系統

 fsl-image-gui          這個是IMX內核的不支持qt的圖形界面的系統

 fsl-image-qt5          這個是支持qt5的圖形界面的系統

  例如我運行的命令是

 bitbake fsl-image-qt5

 

7、

編譯過程中,有可能會產生錯誤,產生錯誤的時候先嘗試再次編譯,如果還有相同的錯誤,再解決。

編譯完成后,在fsl-release-bsp/imx6q-x11/tmp/deploy/images/imx6qsabresd目錄下會產生uboot,zImage,rootfs等映象文件。

 

三、工具鏈的制作:

1、  GCC工具鏈安裝包的制作:

bitbakemeta-toolchain

編譯完成后,在imx6q-x11/tmp/deploy/sdk/目錄下生成一個可執行的sh文件。在別的PC上安裝即可。

2、  QT工具鏈安裝包的制作:

bitbakemeta-toolchain-qt5

 

注意事項:

1、使用ubuntu 16.04 64bit,不要使用ubuntu12.04,避免出現一些無法解決的錯誤。

2、在編譯過程中,有可能有些錯誤,一般在NXP論壇上都能找到解決方法,視具體問題而定。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM