本文檔是為從事嵌入式 Linux 應用程序的開發人員社區創建的。本文檔的目的是指導您完成使用Yocto 框架為 Linux 發行版構建映像的步驟。
PS – 為了最好地利用本文檔中的信息,必須具備以下專業知識:
熟悉基本的 Linux 操作系統操作和管理任務
Yocto項目和OpenEmbedded項目的理解
了解構建系統的基礎知識
了解系統要求和 OpenEmbedded (OE) 構建系統:
在我們討論工作流程之前,必須對系統要求和 OE 構建系統有一個基本的了解。以下是必要的細節。
一個。系統要求:
1.主機系統:理想情況下,至少有 50 GB 可用磁盤空間的系統可以在任何 Linux 發行版(即 Ubuntu、Fedora、CentOS、openSUSE 或 Debian)上運行。大多數情況下,本機 Linux 機器功能用作開發主機。
2 。 構建包:確保您的主機開發系統具有以下包(關于 Linux 發行版 - Ubuntu、Fedora、CentOS 等)
在無頭系統上構建映像的要點
圖形和 Eclipse 插件附加功能
文檔
OpenEmbedded 自檢
3. Yocto 項目的任何版本
灣。OpenEmbedded 構建系統和 BitBake 工具
OpenEmbedded (OE)是 Yocto 項目的構建系統。這個構建系統的核心組件是BitBake。
BitBake 執行解析元數據、從元數據創建任務列表等任務。
圖 2:Yocto IDE
BitBake 工具由以下功能塊組成:
用戶配置:這包括用于管理 YOCTO 構建過程的元數據。作為開發人員,您可以通過指定目標架構、存儲下載源的位置以及使用用戶配置文件的其他構建屬性來定義構建環境。
元數據、機器和策略配置層:這些層包含對構建過程管理至關重要的數據。
元數據:這一層由用戶提供的配方文件、補丁和附加文件組成。
機器配置 (BSP):這一層包含特定于構建映像的目標架構的信息。特定于機器配置的信息由 Yocto 分層架構模型的 BSP 層提供。
Distro Layer/Policy Configuration:該層由指定特定分發的策略配置的數據組成。該層包括類文件、配置文件和配方。這些配方將包括自定義圖像配方、特定于發行版的配置、初始化腳本。
源文件:包括上游版本、本地項目和源代碼控制管理器 (SCM) 等源文件,構建系統從中下載源文件以構建映像。
構建系統:該塊指定 BitBake 獲取源、應用補丁、執行編譯、分析輸出以生成包、生成和測試這些包、生成圖像和交叉開發工具的過程。
Package Feeds:此模塊由目錄組成,其中包含 RPM、DEB 或 IPK 格式的各種類型的輸出包。在構建由構建系統生成的映像或 SDK 時使用包提要。它們還用于在運行時通過在 Web 服務器上復制和共享它們來擴展或更新設備上的現有圖像。
圖像:這是一個輸出模塊,用于管理由構建系統創建的 Linux 圖像。
應用開發SDK:該模塊由各種交叉開發工具組成,可以與鏡像一起構建,也可以與BitBake分開構建。
使用 Yocto 項目作為嵌入式 Linux 構建系統的工作流程:
圖 1:工作流程:使用 Yocto 構建 Linux 映像
為 YOCTO 構建系統設置主機系統:主機系統應符合最低系統要求,如前所述。此外,您應該測試主機構建系統的以下內容:
一個。所需的包
灣。構建系統滿足 Git、tar 和 Python 的最低版本要求
C。如果沒有,請安裝預構建的構建工具,例如 Tarball,或者
d。構建您自己的構建工具,類似于 Tarball,前提是您的構建主機可以運行 BitBake。
下載 所需版本的 YOCTO 版本:通過克隆 Poky Git 存儲庫的本地副本,在主機開發系統上設置最新的 Yocto 項目文件。
下載供應商為 BSP 提供的元數據:根據處理器平臺(ARM、MIPS、PowerPC 和 x86),您可以下載特定供應商提供的 BSP 元數據。
將供應商元數據添加到 Yocto 構建系統:通過創建存儲庫的本地副本將供應商元數據添加到您的構建主機環境。例如,meta-intel 是 Intel 特定目標架構的元數據。
進行構建配置更改:檢查本地配置文件并通過編輯 bblayers.conf 和 local.conf 文件進行構建配置更改。這應該在調用 BitBake 命令初始化構建之前完成。
初始化構建環境:要定義 OpenEmbedded 構建環境,需要執行構建主機上的特定設置腳本。
該腳本創建一個構建目錄,該目錄位于源目錄中。之后,當前工作目錄設置為構建目錄。構建完成后,構建目錄將包含構建期間創建的所有文件。
開始構建鏡像:現在 YOCTO IDE/ 框架已經收到了構建 Linux 鏡像所需的所有命令。接下來通過一系列操作 Yocto (IDE) 將根據元數據中的信息/規范構建圖像。
使用 QEMU 模擬和測試 Linux 映像:QEMU 作為模擬器和虛擬化機器,支持使用 Yocto Project 架構構建的 Linux 映像和應用程序的測試,而無需在實際硬件上運行它。
要在 QEMU Emulator 上運行 Linux 映像,請使用 runqemu 命令
編寫 Linux 映像:根據 TARGET_DEVICE 命令中提供的信息,您可以借助 poky 存儲庫中包含的 mkefidisk.sh 腳本在任何目標設備(如 SATA 驅動器、SD 卡甚至 USB 密鑰)上編寫 Linux 映像。
為什么在 Linux 項目中使用 Yocto 框架?
輕松定制:Yocto 擁有一個非常健壯和強大的定制架構,它提供了許多定制選項,例如封裝尺寸、啟用/禁用圖形子系統、可視化中間件和服務等組件。
供應商支持:Yocto Project 得到了大多數半導體和操作系統供應商以及主要電子制造公司的支持。因此,使用 Yocto,您可以利用堅實的支持生態系統并實現您的項目目標。
可重用性:Yocto 項目通過共享狀態機制促進了這一點。這允許在類似的構建中重用資源。
嵌入式 Linux 應用程序的簡化構建操作:Yocto 的單一通用框架幫助擺脫了對離散構建系統的依賴,其中每個 SoC 供應商都創建了自己的構建框架,僅與他們的微處理器平臺兼容。
無縫添加 UI 組件:支持增強帶顯示設備的用戶體驗。Qt、Clutter 等系統組件(如 X11、GTK+ 和 SDL)促進了這一點。
仿真器支持:它支持使用 QEMU 仿真器進行硬件和設備仿真。因此,通過 Yocto Project 構建的映像可以在 QEMU 仿真器內啟動,開發環境充當嵌入式軟件的測試平臺。
增加便利性:Yocto 憑借其用于構建系統和移植操作系統的可定制配方、工具和模板,使開發人員能夠專注于其他核心開發任務。
系統管理和更新:每 6 個月發布一個新版本的 Yocto,包括內核 (LTSI)、工具鏈和軟件包版本。
縮短 Crucial 嵌入式 Linux 應用程序的上市時間:使用 Yocto,開發人員可以在幾個小時內從頭開始構建整個 Linux 系統(根據項目組件,低至 1-2 小時)。
隨時可用的 開發工具:作為 Yocto 用戶,您可以訪問各種開發工具,例如應用程序開發工具包 (ADT)、ECLIPSE IDE 插件、嵌入式設備的圖形 UI (Matchbox)、QA 工具等等。
審核編輯:郭婷
-
嵌入式
+關注
關注
5090文章
19176瀏覽量
306887 -
Linux
+關注
關注
87文章
11342瀏覽量
210141 -
微處理器
+關注
關注
11文章
2274瀏覽量
82656
發布評論請先 登錄
相關推薦
評論