網頁

2015年6月29日 星期一

[Freescale i.MX6] Build BSP with Yocto on Ubuntu


這個標題有一點長, 事實上也是有一點麻煩說明. 我有一塊搭載 Freescale i.MX6 的單板電腦, 這個單板電腦要用來執行 Embedded Linux. 而這個 Embedded Linux 將會是從執行 Ubuntu 的桌上型電腦建立起來. 由於單板電腦 ( 大部份的嵌入式系統) 的硬體的差異性很大, 因此會需要 BSP ( Board Support Package) 介於硬體和作業系統之間, 控制硬體, 支援作業系統.
而這一篇, 主要說明的就是在 Ubuntu 上 利用 Yocto 這個 BSP 製作工具, 來製作 BSP.
因為要用的軟體工具很多, 這邊從一個乾淨的 Ubuntu 環境開始作業. 另外, 剛安裝好, 最好先更新一下.

$ sudo apt-get update
$ sudo apt-get upgrade

安裝軟體工具



開發所需要用到的工具, 並不都包含在預設安裝中, 以下命令安裝所需要的軟體.

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo build-essential chrpath libsdl1.2-dev xterm curl

設定 git



我們需要 git 來取得原始碼. 有些原始碼需要登入資訊, 這邊先做設定

$ git config –global user.email “your@email.com”
$ git config –global user.name “Your Name”


注意 : –global 是連續兩個 -

接著, 開一個目錄, 來作為後續作業的空間

$ mkdir ~/devel
$ cd ~/devel

安裝 repo


repo 是 google 發佈的管理套件,先在自己的目錄下, 建立一個 bin 的子目錄, 並且加到路徑中

$ mkdir ~/bin
$ PATH=~/bin:$PATH


下載 repo 到 bin 的 repo ( repo 是一個檔案)

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo


注意 : google 有時候會變更下載的路徑. 產生奇怪的錯誤. 有問題可以參考 google 的 repo 網址 http://source.android.com/source/downloading.html

下載 BSP

$ mkdir fsl-community-bsp
$ cd fsl-community-bsp
$ repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b fido
$ repo sync

加入 qt5



qt5 是用來製作使用者介面的軟體. 這邊先把它裝進來

$ cd sources
$ git clone -b master-next https://github.com/meta-qt5/meta-qt5.git

注意 :
1. 以上命令是取得最新的版本. 如果要最新的穩定版本可以把 master-next 改成 master.

2. qt5 的目錄是在 fsl-community 下 ( ~/bin/fsl-community-bsp/sources/meta-qt5


設定環境



執行 fsl-community-bsp ( ~/bin/fsl-community-bsp) 下的 setup-environment, 以建立 build 目錄及其下的檔案. 我們要修改 build 下的 conf 的 local.conf, 所以先把它備份.

$ source ./setup-environment build
$ cd conf
$ cp local.conf local.conf.backup
$ nano local.conf

nano_local_conf

http://embedded-software-architecture.com/?page_id=134

修改  EXTRA_IMAGE_FEATURES = “debug-tweaks ssh-server-openssh”
加入 IMAGE_INSTALL_append = “qtbase qtbase-fonts qtbase-plugins qtbase-examples cinematicexperience openssh-sftp-server”
加入 DISTRO_FEATURES_remove = “x11 wayland”

$ nano bblayers.conf


修改 bblayers.conf, 還是要記得備份喔

nano_bblayers 

加入 ${BSPDIR}/sources/meta-openembedded/meta-ruby \
加入 ${BSPDIR}/sources/meta-qt5 \


開始製作



在 ~/bin/fsl-community-bsp/build 的目錄下, 執行以下命令開始製作

$ bitbake fsl-image-multimedia

如果發生 bitbake 命令找不到, 可以重新設定一下

$ source ./setup-environment build

然後經過很久很久很久. 久到超過你的想像.
注意 : 需要穩定的網路連線, 否則還會更久.


在 fsl/community-bsp/build/tmp/deploy/images/imx6qsabresd/ 這個目錄下, 會生成 fsl-image-multimedia-imx6qsabresd.sdcard 這個檔案. 這就是我們要的檔案.


製作開機 SD card




$ sudo dd if=build/tmp/deploy/images/imx6qsabresd/fsl-image-multimedia-imx6qsabresd.sdcard of = /dev/sd#

沒有留言:

張貼留言

請提供您寶貴的意見