介紹
在 DesignLinx 硬件解決方案公司,我們使用 PetaLinux 構建定制 Linux 鏡像,為客戶的定制產品提供支持。不得不承認,初一聽聞 PetaLinux 時我是心存質疑的。我的職業背景是嵌入式 Linux,曾從事過大量項目,包括純 Yocto/Bitbake/OE,以及在不同的 SoC 平臺上集成 Linux。Yocto 是構建定制化嵌入式 Linux 發行版的實用方式。從可由源文件構建任意內容的特性到極富擴展性的接口,Yocto 允許用戶針對自身產品構建定制化 Linux 發行版。
問題在于,Yocto 的使用難度較大。由于學習難度較高,采用 Yocto 開發將是一個艱深甚至是痛苦的過程。此外,如果沒有快速構建設備,構建一個完整的鏡像可能需要花費數個小時(取決于封裝包的數量)。而當我終于首次開始嘗試使用 PetaLinux 的時候,我感到十分驚訝:
因為 PetaLinux 擁有許多堪與 Yocto 媲美的優勢,但學習過程卻簡單方便,且構建時間更短。
轉粉 PetaLinux 的三大理由
PetaLinux 是一套直接構建在 Yocto 項目頂層的定制工具,用于實現與賽靈思平臺的集成。因此,在某種意義上 PetaLinux 仍屬于 Yocto。但賽靈思更進一步,通過提供一套額外的工具,簡化了開發流程,使新手使用起來及其方便,在這方面網上已有大量的指南,本文我將不再深入復述一些具體細節,而是想借此機會,跟大家分享一下使用這款賽靈思工具為我帶來三大關鍵優勢。
01
便于入門
正如前文所說,使用 PetaLinux 構建鏡像非常方便。只需安裝 PetaLinux 工具,您就可能在一小時之內完成鏡像構建并啟動鏡像。在后臺,它仍然使用 Yocto,所以在定制開發方面我們仍然有很大的靈活性,例如在項目創建過程中,PetaLinux 實際上是使用 Bitbake“配方”為您創建了一個 Yocto 層。雖然 PetaLinux 提供了創建簡單“配方”的機制,但對于較高級的用戶來說,還可以手動定制“配方”來實現非標配功能。
02
加快構建時間
當我構建首個 PetaLinux 鏡像時,我驚訝地發現根本不需要幾個小時,而是只要幾分鐘。構建時間可能會隨機器性能和互聯網連接性能而有所改變,對此我將進行比較。我們公司有一臺非常高端的構建服務器,我們將它用于 FPGA 綜合、仿真等用途以及軟件搭建。“Poky”鏡像“core-image-minimal”的純 Yocto 構建用時大約為 30 分鐘(含下載),用于 ZCU104 板的 PetaLinxu 鏡像僅用時 10 分鐘。雖然這種比較不能算是直觀準確的比較,core-image-minimal 也算一種相當緊湊的鏡像,但它的用時顯然更長。
我不禁在想:“他們是如何做到的?肯定是用了緩存 SSTATE 和下載。”顯而易見,這正是他們采取的方法。如果您不知道 SSTATE 緩存,這是它的介紹:SSTATE 緩存是一種 Yocto 已構建“配方”的緩存,可以用在未來的構建工作中,幫助加快構建速度。此外,如果外部源頭的“配方”下載也建立了緩存,構建時就無需重新下載。賽靈思就是這樣做的,其在 PetaLinux 工具安裝包中同時提供了這兩項功能,這樣用戶就能重復使用通用組件,只需要重新構建真正不同的組件,從而顯著加快了構建速度。
PetaLinux 安裝包中的部分緩存下載
PetaLinux 安裝包中的 SSTATE 緩存目錄
PetaLinux 安裝包中用于 aarch64 的 Yocto 層
03
自持性以及可輕松實現 Git 集成
賽靈思預先添加了 Git 集成功能。使用 .gitignore 文件能夠自動完成新項目的設置工作,以忽略不應屬于版本控制的任何內容(構建工件等)。另外,由于PetaLinux 安裝所需的大多數外部 Yocto 層都留存在 PetaLinux 安裝包內部,這些項目都具有自持性,而您的整個項目的應用、驅動程序、器件樹定制等都能夠保留在單個項目/庫內。
結 論
總之,使用 PetaLinux 的理由眾多,我就不一一盡述了。所以,我不得不說,即使是 Yocto 的資深用戶,我也鼓勵您更深入地去了解 PetaLinux 工具。因為 PetaLinux 最終將為您節省大量時間,讓您能夠騰出更多時間用來編寫軟件,而不是學習 Yocto 的使用方法。
-
賽靈思
+關注
關注
32文章
1794瀏覽量
131246 -
互聯網
+關注
關注
54文章
11148瀏覽量
103235
原文標題:真香!Yocto 鐵桿用戶轉粉 PetaLinux 的三大理由
文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論