導航:首頁 > 源碼編譯 > 清除yocto編譯的緩存

清除yocto編譯的緩存

發布時間:2022-09-23 01:06:42

1. 如何安裝yocto

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

2.Yocto定製准備工作
(1)確保電腦能聯網,並且有100G的空閑,電腦配置不低於4核
(2)獲取yocto腳本:$git clone git://git.yoctoproject.org/poky
(3)獲取硬體相關層:$git clone git://git.yoctoproject.org/meta-intel.git
(4)關於yocto的幫助:http://www.yoctoproject.org/documentation

3.開始搭建環境
(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
可以在圖形化界面中方便的定製系統。

2. yocto交叉編譯工具在哪個目錄

概述YoctoProject是一個開源協作項目,它提供了一些模板、工具和方法來支持面向嵌入式產品的自定義Linux系統,不管硬體架構是什麼。我想要告訴那些對yocto這個名稱不甚理解的用戶的是,術語yocto是最小的SI單元。最為一個前綴,yocto表示10^-24。本文將提供一個分步指導,向您介紹如何使用YoctoProject的行業標准開源工具為嵌入式設備創建自定義的Linux操作系統,並使用QEMU在一台虛擬機中啟動操作系統。YoctoProject是由大型硬體公司和操作系統供應商資助的、由Linux基金會贊助的開源項目,提供了一些行業領先的工具、方法和元數據來構建Linux系統。YoctoProject的兩大主要組件由YoctoProject和OpenEmbedded項目一起維護,這兩個組件是BitBake和OpenEmbedded-Core,前者是構建引擎,後者是運行構建過程所使用的一套核心配方(recipe)。下一節會介紹所有項目組件。YoctoProject簡介作為一個協作項目,YoctoProject有時也稱為「umbrella」項目,它吸納了許多不同的開發流程部分。在整個YoctoProject中,這些部分被稱為項目,包括構建工具、稱為核心配方的構建指令元數據、庫、實用程序和圖形用戶界面(GUI)。PokyPoky是YoctoProject的一個參考構建系統。它包含BitBake、OpenEmbedded-Core、一個板卡支持包(BSP)以及整合到構建過程中的其他任何程序包或層。Poky這一名稱也指使用參考構建系統得到的默認Linux發行版,它可能極其小(core-image-minimal),也可能是帶有GUI的整個Linux系統(core-image-sato)。您可以將Poky構建系統看作是整個項目的一個參考系統,即運行中進程的一個工作示例。在下載YoctoProject時,實際上也下載了可用於構建默認系統的這些工具、實用程序、庫、工具鏈和元數據的實例。這一參考系統以及它創建的參考發行版都被命名為Poky。您還可以將此作為一個起點來創建您自己的發行版,當然,您可以對此發行版隨意命名。所有構建系統都需要的一個項目是工具鏈:一個編譯器、匯編程序、鏈接器以及為給定架構創建二進制可執行文件所需的其他二進制實用程序。Poky使用了GNUCompilerCollection(GCC),不過您也可以指定其他工具鏈。Poky使用了一種名為交叉編譯的技術:在一個架構上使用工具鏈為另一個架構構建二進制可執行文件(例如,在基於x86的系統上構建ARM發行版)。開發人員常常在嵌入式系統開發中使用交叉編譯來利用主機系統的高性能。元數據集元數據集按層進行排列,這樣一來每一層都可以為下面的層提供單獨的功能。基層是OpenEmbedded-Core或oe-core,提供了所有構建項目所必需的常見配方、類和相關功能。然後您可以通過在oe-core之上添加新層來定製構建。OpenEmbedded-Core由YoctoProject和OpenEmbedded項目共同維護。將YoctoProject與OpenEmbedded分開的層是meta-yocto層,該層提供了Poky發行版配置和一組核心的參考BSP。

3. yocto 如何編譯

Yocto 是一個開源社區,它通過提供模版、工具和方法幫助開發者創建基於linux內核的定製系統,支持ARM, PPC, MIPS, x86 (32 & 64 bit)硬體體系架構。[1]
Yocto Project™是一個開源的協作軟體,提供模板、工具和方法幫你創建定製的 Linux 系統和嵌入式產品,而無需關心硬體體系。適合嵌入式Linux開發人員使用。極大地簡化你的開發過程,因為你不用再從頭裁剪一個完整的Linux發布版本,後者通常包括許多你並不需要的軟體。
Yocto項目通過Poky來構建一個系統,並提供了一個開放源碼的開發環境,針對目標為ARM,MIPS,PowerPC和x86架構,而平台包括x86-64和模擬器。
你可以使用Yocto項目的組件來設計,開發,構建,調試,模擬和對使用了Linux, X windows系統, 基於移動設備的GNOME應用框架和Qt框架的完整的軟體堆棧進行測試.
Yocto兼容OpenEmbedded項目,你可以簡單可靠地進行編譯和開發.完全支持通過QEMU模擬器的廣泛的硬體和設備的模擬.
Yocto項目可以為多種設備生成映像.
通過Yocto項目開發出來的映像可以在一個QEMU模擬器中進行引導,開發環境可以作為一個開發嵌入式軟體的良好的測試平台.

4. 如何在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
可以在圖形化界面中方便的定製系統。

5. yocto 怎樣編譯busybox

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

6. 怎麼樣用YOCTO編譯出帶apache,mysql和php的鏡像

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下面

7. linux 內核 鏡像 工具 哪些 yocto

linux內核鏡像格式
一、Linux內核鏡像格式
Linux內核有多種格式的鏡像,包括vmlinux、Image、zImage、bzImage、uImage、xipImage、bootpImage等.
(1)kernel鏡像格式:vmlinux
vmlinuz是可引導的、可壓縮的內核鏡像,vm代表Virtual Memory.Linux支持虛擬內存,因此得名vm.它是由用戶對內核源碼編譯得到,實質是elf格式的文件.也就是說,vmlinux是編譯出來的最原始的內核文件,未壓縮.這種格式的鏡像文件多存放在PC機上.
【 attention】elf格式文件
ELF,Executable and Linkable Format,可執行可鏈接格式,是UNIX實驗室作為應用程序二進制介面而發布的,擴展名為elf.可以簡單的認為,在elf格式的文件中,除二進制代 碼外,還包括該可執行文件的某些信息,比如符號表等.
(2)kernel鏡像格式:Image
Image是經過obj處理的只包含二進制數據的內核代碼,它已經不是elf格式了,但這種格式的內核鏡像還沒有經過壓縮.
【 attention】obj
GNU使用工具程序obj作用是拷貝一個目標文件的內容到另一個目標文件中,也就是說,可以將一種格式的目標文件轉換成另一種格式的目標文件. 通過使用binary作為輸出目標(-o binary),可產生一個原始的二進制文件,實質上是將所有的符號和重定位信息都將被拋棄,只剩下二進制數據.
(3)kernel鏡像格式:zImage
zImage是ARM linux常用的一種壓縮鏡像文件,它是由vmlinux加上解壓代碼經gzip壓縮而成,命令格式是#make zImage.這種格式的Linux鏡像文件多存放在NAND上.
(4)kernel鏡像格式:bzImage
bz表示big zImage,其格式與zImage類似,但採用了不同的壓縮演算法,注意,bzImage的壓縮率更高.
(5)kernel鏡像格式:uImage
uImage是uboot專用的鏡像文件,它是在zImage之前加上一個長度為0x40的頭信息(tag),在頭信息內說明了該鏡像文件的類型、載入 位置、生成時間、大小等信息.換句話說,若直接從uImage的0x40位置開始執行,則zImage和uImage沒有任何區別.命令格式是#make uImage.這種格式的Linux鏡像文件多存放在NAND上.
(6)kernel鏡像格式:xipImage
這種格式的Linux鏡像文件多存放在NorFlash上,且運行時不需要拷貝到內存SDRAM中,可以直接在NorFlash中運行.

二、Linux內核鏡像的產生過程
在嵌入式Linux中,內核的啟動過程分為兩個階段.其中,第一階段啟動代碼放在arch/arm/kernel/head.S文件中,該文件與體系 結果相關,與用戶的開發板無關,主要是初始化ARM內核等.第二階段啟動代碼是init目錄下的main.c.現以執行命令#make zImage為例來說明,arm-linux內核鏡像的產生過程.
(1)當用戶對Linux內核源碼進行編譯時,kernel的第1/2階段代碼會生成可執行文件vmlinux,該文件是未被壓縮的鏡像文件,非常大,不能直接下載到NAND中,通常放在PC機上,這也是最原始的Linux鏡像文件.試驗時該文件約50M.
(2)鏡像文件vmlinux由於很大,肯定不能直接燒入NAND中,因此需要進行二進制化,即經過obj處理,使之只包含二進制數據的內核代 碼,去除不需要的文件信息等,這樣就製作成了image鏡像文件.該鏡像文件也是未壓縮,只是經過了二進制化而變小.試驗時該文件約5M.
(3) 一般來說,內存SDRAM中的內核鏡像是經過壓縮的,只是在運行時再將其解壓.所以,編譯時會先使用gzip將鏡像文件image進行壓縮(壓縮比約為 2:1),再將壓縮後的鏡像文件和源碼中的兩個文件arch/arm/boot/compressed/head.S、arch/arm/boot /compressed/misc.c一起鏈接生成壓縮後的鏡像文件compress/vmlinux.試驗時該文件約為2.5M.注意,這兩個源碼文件 是解壓程序,用於將內存SDRAM中的壓縮鏡像zImage進行解壓.
(4)壓縮後的鏡像文件compress/vmlinux經過二進制化,最終生成鏡像文件zImage,試驗時該文件約為2.5M.當然,在內存 SDRAM中運行壓縮鏡像文件zImage時,會首先調用兩個解壓程序arch/arm /boot/compressed/head.S、arch/arm/boot/compressed/misc.c將自身解壓,然後再執行kernel 的第一階段啟動代碼arch/arm/kernel/head.S.簡而言之,在內存中運行內核時,kernel先自身解壓,再執行第一階段啟動代碼.試 驗時運行在內存中的鏡像文件約為5M,與image鏡像文件大小相同.
(

閱讀全文

與清除yocto編譯的緩存相關的資料

熱點內容
GM附魔命令 瀏覽:597
反編譯自己製作的軟體 瀏覽:33
ros用c還是python好 瀏覽:76
安卓九系統提醒怎麼關 瀏覽:654
我的世界伺服器有領地怎麼抄家 瀏覽:36
python實現多態 瀏覽:300
幼師pdf 瀏覽:941
你怎麼用python開發游戲 瀏覽:647
雷霆戰機伺服器異常是什麼問題 瀏覽:669
程序員客棧20 瀏覽:254
化妝pdf下載 瀏覽:923
takla伺服器ip地址 瀏覽:357
歐盟加密資產法律 瀏覽:573
威綸通反編譯密碼是多少 瀏覽:201
51單片機有40個外部引腳 瀏覽:956
山西撥號伺服器雲空間 瀏覽:714
python中階乘怎麼計算 瀏覽:530
linux查看塊大小 瀏覽:554
空調壓縮機壓力低 瀏覽:184
pdf怎麼復制粘貼文字 瀏覽:576