? ? ? ?
目錄
一.下載離線包
1.1?共享狀態緩存包:sstate-cache
1.1.1 進入官網打開Petalinux工具網頁
1.1.2 找到相應的Petalinux版本
1.1.3 根據平臺下載
1.2 下載downloads源碼包
1.3?open_components源碼包
二.解壓
2.1 sstate-cache
2.2 downloads源碼包
2.3 解壓open_components
三.Petalinux離線工程配置
3.1 u-boot和linux源碼路徑配置
3.2 downloads離線包路徑配置
3.3 sstate-cache路徑配置
3.4 禁止聯網編譯
四.編譯
????????我們常常出于各種原因,需要離線編譯Petalinux工程。例如:辦公電腦不允許聯網,或者在線編譯需要訪問國外網站而又苦于不能翻墻,或者折騰了好一陣子終于可以順利下載了,但又出現了各種編譯錯誤,搜遍全網都沒有找到解決方法......
? ? ? ? 此時,你需要離線編譯來拯救你臨近崩潰邊緣的心!
一.下載離線包
? ? ? ? 離線編譯需要三個基礎包,都可以從xilinx的中國官網下載:
Xilinx中國官網
1.1?共享狀態緩存包:sstate-cache
1.1.1 進入官網打開Petalinux工具網頁
1.1.2 找到相應的Petalinux版本
1.1.3 根據平臺下載
? ? ? ? 若是64位ARM平臺,則下載aarch64版本;若是32位ARM平臺,則下載arm版本。
1.2 下載downloads源碼包
? ? ? ? 這是在線編譯時會自動下載的源碼包。我們要離線編譯,所以,要提前下載。
? ? ? ? 下載地址與sstate-cache在同一欄目下。這個包比較大,需耐心等待。
1.3?open_components源碼包
? ? ? ? 此源碼包中包含了u-boot、linux、RootFS和arm-trusted-firmware等核心系統組件。
二.解壓
? ? ? ? 準備好離線包后,可以解壓到任意目錄。
? ? ? ? 例如:
2.1 sstate-cache
? ? ? ? 解壓到如下目錄:
/mnt/petalinux202101_offline/
? ? ? ? 解壓后,是一個sstate_arm_2021.1文件夾(此處下載的是202101版本)。
? ? ? ? 則工程配置時,需要用到以下目錄路徑:
/mnt/petalinux202101_offline/arm
2.2 downloads源碼包
? ? ? ? 解壓到如下目錄:
/mnt/petalinux202101_offline/
? ? ? ? 解壓后,是一個downloads文件夾。
? ? ? ? 則工程配置時,需要用到以下目錄路徑:
/mnt/petalinux202101_offline/downloads
2.3 解壓open_components
????????解壓到如下目錄:
mnt/petalinux202101_offline
? ? ? ? 解壓后,將得到一個petalinux-v2021.1-open_components文件夾(此處下載的是202101版本)。
? ? ? ? 此文件夾下包含了以下組件:
? ? ? ? 則工程配置時,需要用到以下目錄路徑:
/mnt/petalinux202101_offline/petalinux-v2021.1-open_components/components/u-boot-plnx
/mnt/petalinux202101_offline/petalinux-v2021.1-open_components/components/xlnx-5.10
三.Petalinux離線工程配置
? ? ? ? 執行如下命令,進入Petalinux工程配置界面:
petalinux-config --get-hw-description=../xsa/
3.1 u-boot和linux源碼路徑配置
? ? ? ? 在Linux Components Selection選項中,u-boot和linux-kernel均選擇“ext-local-src”,然后在對應路徑設置中填寫u-boot和linux-kernel的本地路徑:
/mnt/petalinux202101_offline/petalinux-v2021.1-open_components/components/u-boot-plnx
/mnt/petalinux202101_offline/petalinux-v2021.1-open_components/components/xlnx-5.10
3.2 downloads離線包路徑配置
? ? ? ? 進入以下選項中:
-> Yocto Settings-> Add pre-mirror url-> (press Enter)Clear default value
? ? ? ? 填入如下路徑:
file:///mnt/petalinux202101_offline/downloads
3.3 sstate-cache路徑配置
? ? ? ? 進入如下選項:
-> Yocto Settings->Local sstate feeds settings->local sstate feeds url(press Enter)
? ? ? ? 填入如下路徑:
/mnt/petalinux202101_offline/sstate_arm_2021.1/arm
3.4 禁止聯網編譯
1.取消“Enable Network sstate feeds”選項。
2.選擇“Enable BB NO NETWORK”選項。
四.編譯
? ? ? ? 至此,離線編譯配置已大功告成,放心去編譯吧,開始實現你的項目........