這個標題有一點長, 事實上也是有一點麻煩說明. 我有一塊搭載 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
http://embedded-software-architecture.com/?page_id=134
$ cd conf
$ cp local.conf local.conf.backup
$ nano local.conf
修改 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
加入 ${BSPDIR}/sources/meta-openembedded/meta-ruby \
加入 ${BSPDIR}/sources/meta-qt5 \
開始製作
$ bitbake fsl-image-multimedia
在 ~/bin/fsl-community-bsp/build 的目錄下, 執行以下命令開始製作
如果發生 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#
沒有留言:
張貼留言
請提供您寶貴的意見