iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
佛心分享-SideProject30

門外漢的嵌入式地獄系列 第 3

Day 3 。初入嵌入式開發-Yocto 介紹

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20240803/20146325wxckRNoK20.png

1. Yocto Project 簡介

Yocto Project 其實是一個開源專案,主要是為嵌入式系統提供較靈活與高效的 Linux 發行版建構框架。
這個發行板其實就是我們常使用的 Ubuntu Redhat 等等,這些都是常見的發行版。

雖然 Yocto 不太好學,相較於其他像是 Buildroot 入門不是太容易,但勝在他足夠靈活。
未來如果需要新增什麼新的功能,我們只需要去修改或寫新的recipe,就可以非常容易的將功能新增到我們的 image 當中。

2. 核心元件

Yocto Project 最主要的幾個核心如下,可以用來幫助我們來建立 Linux 發行版。

Bitbake:任務執行引擎,用來處理(recipes)和建構系統。Bitbake 可以自動化的編譯,並且處理系統的依賴關係。

OpenEmbedded Core:提供了 Yocto Project 的基礎架構和核心功能,可以用來構建不同的 Linux 發行版。

Poky:Yocto Project 的參考發行版,包含了 OpenEmbedded Core 和一些預設的設定文件。
可以用它作為開發和學習,當中給我們提供了許多基本的工具與範例。

Yocto Metadata:包括各種recipe、conf 和 metadata,主要是用於說明如何建構與配置軟體包。這些metadatab 讓 Yocto 能夠靈活地客制和建構自己的 Linux 系統。

後續會在說明 recipe conf metadata 的用途與定義。

3. Yocto 的工作流程

https://ithelp.ithome.com.tw/upload/images/20240803/20146325vinSyoEsKo.png

上圖是官方說明 Yocto 的工作流程,最上方是將遠端倉庫的檔案給下載下來,並且儲存到本地端 (GIT 版本管控)
,最左側則是設定我們的目標機器配置(EX : STM32MP1),寫我們自己的 recipe與conf等等,並且這兩樣會進到藍色底的 build system 當中,經過一系列的編譯過程最後生成我們的 rootfs 、 bootfs 、 application 、 image 等等相關的燒錄檔案。

簡單來說可以分為下方幾個部分

  1. 下載 : 從遠端倉庫下載對應的 source code
  2. 解壓縮 : 將下載下來的 source code 解壓縮
  3. 打補丁 : 各個廠家可能會提供自己的 patch 用於修復或是增加功能。
  4. 設定 : 根據需求設定我們的建構過程。
  5. 建構 : 編譯 Image 與 處理依賴等等
  6. 安裝 : 將我們所需要的套件or自定義的檔案複製到對應目錄
  7. 打包 : 最後建構出我們所需要的 BIN , IMAGE 或是其他的檔案

官方連結 : https://docs.yoctoproject.org/index.html

官方提供了非常多的基本教學文件,如果有興趣的話也可以到官網上看看。


上一篇
Day 2 。初入嵌入式開發-安裝虛擬機與環境架設
下一篇
Day 4 。初入嵌入式開發-Yocto 環境架設
系列文
門外漢的嵌入式地獄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言