當前位置:首頁 » 編程軟體 » yocto離線編譯環境搭建

yocto離線編譯環境搭建

發布時間: 2022-06-18 06:06:49

① 怎麼使用yocto定製一個跑在pc104平台上的linux版本

概述
Yocto Project 是一個開源協作項目,它提供了一些模板、工具和方法來支持面向嵌入式產品的自定義 Linux 系統,不管硬體架構是什麼。我想要告訴那些對 yocto 這個名稱不甚理解的用戶的是,術語 yocto 是最小的 SI 單元。最為一個前綴,yocto 表示 10^-24。
本文將提供一個分步指導,向您介紹如何使用 Yocto Project 的行業標准開源工具為嵌入式設備創建自定義的 Linux 操作系統,並使用 QEMU 在一台虛擬機中啟動操作系統。Yocto Project 是由大型硬體公司和操作系統供應商資助的、由 Linux 基金會贊助的開源項目,提供了一些行業領先的工具、方法和元數據來構建 Linux 系統。
Yocto Project 的兩大主要組件由 Yocto Project 和 OpenEmbedded 項目一起維護,這兩個組件是 BitBake 和 OpenEmbedded-Core,前者是構建引擎,後者是運行構建過程所使用的一套核心配方 (recipe)。下一節會介紹所有項目組件。
Yocto Project 簡介
作為一個協作項目,Yocto Project 有時也稱為 「umbrella」 項目,它吸納了許多不同的開發流程部分。在整個 Yocto Project 中,這些部分被稱為項目,包括構建工具、稱為核心配方 的構建指令元數據、庫、實用程序和圖形用戶界面 (GUI)。
Poky
Poky 是 Yocto Project 的一個參考構建系統。它包含 BitBake、OpenEmbedded-Core、一個板卡支持包 (BSP) 以及整合到構建過程中的其他任何程序包或層。Poky 這一名稱也指使用參考構建系統得到的默認 Linux 發行版,它可能極其小 (core-image-minimal),也可能是帶有 GUI 的整個 Linux 系統 (core-image-sato)。
您可以將 Poky 構建系統看作是整個項目的一個參考系統,即運行中進程的一個工作示例。在下載 Yocto Project 時,實際上也下載了可用於構建默認系統的這些工具、實用程序、庫、工具鏈和元數據的實例。這一參考系統以及它創建的參考發行版都被命名為 Poky。您還可以將此作為一個起點來創建您自己的發行版,當然,您可以對此發行版隨意命名。
所有構建系統都需要的一個項目是工具鏈:一個編譯器、匯編程序、鏈接器以及為給定架構創建二進制可執行文件所需的其他二進制實用程序。Poky 使用了 GNU Compiler Collection (GCC),不過您也可以指定其他工具鏈。Poky 使用了一種名為交叉編譯 的技術:在一個架構上使用工具鏈為另一個架構構建二進制可執行文件(例如,在基於 x86 的系統上構建 ARM 發行版)。開發人員常常在嵌入式系統開發中使用交叉編譯來利用主機系統的高性能。
元數據集
元數據集按層 進行排列,這樣一來每一層都可以為下面的層提供單獨的功能。基層是 OpenEmbedded-Core 或 oe-core,提供了所有構建項目所必需的常見配方、類和相關功能。然後您可以通過在 oe-core 之上添加新層來定製構建。
OpenEmbedded-Core 由 Yocto Project 和 OpenEmbedded 項目共同維護。將 Yocto Project 與 OpenEmbedded 分開的層是 meta-yocto 層,該層提供了 Poky 發行版配置和一組核心的參考 BSP。
OpenEmbedded 項目本身是一個獨立的開源項目,具有可與 Yocto Project 交換的配方(大部分)以及與 Yocto Project 類似的目標,但是兩者具有不同的治理和范圍。
板卡支持包
BSP 包含為特定板卡或架構構建 Linux 必備的基本程序包和驅動程序。這通常由生產板卡的硬體製造商加以維護。BSP 是 Linux 操作系統與運行它的硬體之間的介面。注意,您也可以為虛擬機創建 BSP。
BitBake
BitBake 是一個構建引擎。它讀取配方並通過獲取程序包來密切關注它們、構建它們並將結果納入可引導映像。BitBake 由 Yocto Project 和 OpenEmbedded 項目共同維護。
Hob
為了讓嵌入式 Linux 開發更容易,Yocto Project 提供了幾種不同的圖形工作方法。項目的一個較新的添加項叫作 Hob,它向 BitBake 和構建過程提供一個圖像前端。兩者的開發工作仍在繼續,包含社區用戶研究。
開源許可證合規性
遵守開源許可證是任何 Linux 開發工作的一個極其重要的部分。Yocto Project 的一個目標是盡可能容易地實現合規性。可以極為輕松地使用 Yocto Project 工具來創建清單(甚至構建整個源存儲庫)和過濾構建過程,用它們排除使用特定許可證的程序包。該項目使用了 Linux 基金會的 「開放遵守計劃」 (Open Compliance Program),該計劃包含一個 Software Package Data Exchange® (SPDX™) 規范。
EGLIBC
嵌入式 GLIBC (EGLIBC) 是 GNU C Library (GLIBC) 的一個變體,旨在能夠在嵌入式系統上運行。EGLIBC 的目標包括減少內存佔用、讓組件可配置、更好地支持交叉編譯和交叉測試。EGLIBC 是 Yocto Project 的一部分,但在它自己的治理結構內加以維護。
應用程序開發工具包
應用程序開發工具包 (ADT) 能夠讓系統開發人員為他們使用 Yocto Project 工具創建的發行版提供軟體開發工具包 (SDK),為應用程序開發人員提供了一種針對系統開發人員提供的軟體棧進行開發的方法。ADT 包含一個交叉編譯工具鏈、調試和分析工具,以及 QEMU 模擬和支持腳本。ADT 還為那些喜歡使用集成開發環境 (IDE) 的人提供了一個 Eclipse 插件。

② 怎麼樣用YOCTO編譯出帶apache,mysqlphp的鏡像

PHP,已經單獨編譯並燒寫可運行了,我事這么做的:
用bitbake php
之後會生成tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/php/目錄,
在tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/php/5.5.20-r0/image/目錄下面有需要添加到rootfs當中的文件,
需要在local.conf文件中修改CORE_IMAGE_EXTRA_INSTALL 變數,加上 php才能在安裝到rootfs下面

③ 關於安裝Yocto環境的安裝時出現的錯誤,該怎麼解決

出現這樣的問題是因為系統中需要的安裝介面出現問題造成的。現將解決方法陳述於下: 1、在NT平台下(包括Win NT,Win 2000,Win XP),請使用管理員身份登陸後運行安裝程序,請確認身份,否則不能進行安裝; 2、如果剛運行完一個安裝程序,請稍等...

④ yocto 怎樣編譯busybox

Yocto 是一個開源社區,它通過提供模版、工具和方法幫助開發者創建基於linux內核的定製系統,支持ARM, PPC, MIPS, x86 (32 & 64 bit)硬體體系架構。[1] Yocto Project™是一個開源的協作軟體,提供模板、工具和方法幫你創建定製的 Linux 系

⑤ 如何在yocto下安裝deb文件

開始搭建環境
(1)$source poky/oe-init-build-env xxx
xxx$cd conf
xxx/conf$ vim bblayers.conf
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "4"
BBFILES ?= ""
BBLAYERS ?= " \
/hda5/hmi/x86/yocto/poky/meta \
/hda5/hmi/x86/yocto/poky/meta-yocto \
/hda5/hmi/x86/yocto/poky/meta-intel \
/hda5/hmi/x86/yocto/poky/meta-intel/meta-crownbay \
(2)修改local.conf
xxx/conf$ vim local.conf
#MACHINE ??= "qemux86"
MACHINE ??= "crownbay"

4.開始編譯
註:(官方下載的只是腳本,yocto一邊下載一邊編譯所以很慢而且還受資源下載限制和電腦配置,下載的文件在工作目錄中的downloads中,第一次下載後保存好downloads以後就方便了)
(1)配置內核
xxx$ bitbake linux_yocto -c menuconfig
(2)定製微型yocto
xxx$ bitbake core-image-minimal
(3)定製桌面型yocto
xxx$ bitbake coure-image-sato
(4) hob config
xxx$ hob
可以在圖形化界面中方便的定製系統。

熱點內容
sql提示存儲過程 發布:2025-05-17 07:35:58 瀏覽:743
qq里的互動訪問 發布:2025-05-17 07:26:53 瀏覽:665
口語易賬號密碼發送到哪裡 發布:2025-05-17 07:26:52 瀏覽:62
核桃編程幼兒 發布:2025-05-17 07:26:50 瀏覽:786
2台伺服器集群搭建 發布:2025-05-17 07:18:57 瀏覽:185
北方園林配置植物有哪些 發布:2025-05-17 07:18:20 瀏覽:544
數控加工零件圖及編程 發布:2025-05-17 07:18:11 瀏覽:730
煉鋼鹼度演算法 發布:2025-05-17 07:17:26 瀏覽:14
python獲取年月日 發布:2025-05-17 07:15:33 瀏覽:303
手機加密軟體java 發布:2025-05-17 07:00:24 瀏覽:443