天天看點

YOCTO編譯環境的搭建

以下内容為原創,歡迎轉載,轉載請說明來源:http://blog.csdn.net/masterbee/article/details/78687653

一、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目錄:

YOCTO編譯環境的搭建

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論壇上都能找到解決方法,視具體問題而定。

如果我有幫助到您,也歡迎您能幫助我。一個人能夠走多遠,關鍵是看他與誰同行。謝謝贊賞。

YOCTO編譯環境的搭建