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