本文將為大家介紹如何創建 Yocto* 的可運行映像,如何在基礎軟體模擬器 QEMU 中測試該映像,以及如何在管理程序(比如 Windows 上的 Microsoft Hyper-V)中運行該映像。
操作本教程的前提條件 Debian/Ubuntu(已經過 Debian 8.2 amd64 的測試) 網際網路連接 磁碟提供至少 100 GB 可用空間構建機器的前期準備工作以根身份(或通過 "sudo")運行以下命令
1 # apt-get install wget git-core unzip make gcc g++ build-essential subversion sed autoconf automake texi2html texinfo coreutils diffstat python-pysqlite2 docbook-utils libsdl1.2-dev libxml-parser-perl libgl1-mesa-dev libglu1-mesa-dev xsltproc desktop-file-utils chrpath groff libtool xterm gawk fop注 1:上述命令是否成功運行取決於大家使用的 Ubuntu/Debian 版本。 最後,如欲解決程序包的依賴關係,可以運行 "aptitude",強行安裝正確版本的程序包(比如,"aptitude install libsdl1.2-dev")。
注 2:對於其他 Linux-distribution 來說,比如 RadHat、CentOS、Fedora、SuSe、Gentoo 等......建議通過正確的 package-manager(例如 zypper、yum 等)檢查上述程序包的相應版本。
第一步: 設置工作文件夾以沒有特權的普通用戶(沒有根身份)
5 # tar xvjf poky-jethro-14.0.0.tar.bz2 6 # cd poky-jethro-14.0.0/注 3:可以點擊以下連結 https://www.yoctoproject.org/downloads,選擇 Yocto 版本的其他開發分支。 本教程將使用當前最新版本 "Jocto Poky 2.0.14.0.0 codename Jethro"。
注 4:如欲獲取最新版 Yocto 資源,可以獲得主開發分支,需要將 wget 操作替換為以下內容:
注 5: 還可以通過代號選擇特定的開發分支。 例如:
第二步: 設置系統 shell 的環境變量Yocto 開發人員提供了一個非常易用的腳本。
1 # . ./oe-init-build-env腳本運行後,如果正常,您的位置將變成一個構建子目錄,它將成為您的新工作區。 類似於 /home/<your user>/yocto-2.0/poky-jethro-14.0.0/build/。
第三步: 設置 bitbake執行之前的腳本,會創建一個 conf/local.conf 文件。
該配置文件需要設置 Yocto 的構建引擎 bitbake(Yocto 項目的核心組件)。
採用首選文本編輯器編輯 bitbake 配置文件。 本教程將使用 nano — 面向類似 Unix 的環境的簡單命令-行-界面文本編輯器,如下所示:
取消下列行的注釋
1 DL_DIR ?= "${TOPDIR}/downloads" 2 SSTATE_DIR ?= "${TOPDIR}/sstate-cache" 3 TMPDIR ?= "${TOPDIR}/tmp"建議為該映像構建所有其他的可用特性。 最終的映像將特別大(每個大約 8GB),但絕對完整,可滿足所有開發需求。
1 EXTRA_IMAGE_FEATURES = "dbg-pkgs dev-pkgs ptest-pkgs tools-sdk tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks"現在,通過 CTRL+X 鍵組合保存對文件 local.conf 作出的所有更改。
然後:
現在,Hob 實例(面向 BitBake、基於 GTK2 的圖形用戶界面)將啟動,檢查構建系統的準確程度。
現在在下拉菜單中選擇 qemux86 機器。
等 Hob 完成 BitBake 方案解析並生成依賴關係樹。 然後選擇目標映像,以從上述菜單的 "select an image recipe" 開始構建。 在本示例中,我們選擇不包含 GUI 的完整核心映像: core-image-full-cmdline。
現在點擊 "Advanced Configuration"。
如欲構建最新的穩定版,在 "Image types" 面板中保留 "Distro" 菜單中的 poky。 然後在 "Image types" 欄位中選擇所需的格式:通常我選擇 ".iso"、".vdi" 和 ".vmdk",它們最好用。
請在 "Output" 面板中選擇能夠滿足要求的最佳選項。 建議為映像增加 4GB 可用存儲,以放置面向 i686 架構的 SDK(如果您使用 Edison 開發板)。 另外,我認為將 "deb" 設置為面向根文件系統的打包格式非常有用。 因此,如下所示:
好的,保存。 現在,您已準備好構建映像! 點擊 "Build image" 按鈕!
Hob 將啟動 bitbake core-image-full-cmdline 示例,以及您鍾愛的設置。
注 7:這一流程將花費很長時間構建最終映像。 不過,根據您主機功能的不同,可以更改用於在 "BitBake parallel threads" 和 "Make parallel threads" 上執行構建操作的處理器內核的數量。 可從 Hob settings 窗口更改這些變量:
注 8:您可以藉助 Hob 確定將要構建的映像包含哪些包。 為此,可以在開始構建映像之前選擇 "Edit image recipe"。
查看全文