Petalinux系列——0.在Docker裏玩轉PetaLinux

Petalinux系列——0.在Docker裏玩轉PetaLinux

來自https://github.com/alexhegit/
https://mp.weixin.qq.com/s/spaq_Sv1giraeIJgsKDQYA

簡介

PetaLinux

PetaLinux是Xilinx推出的針對Zynq Soc, Zynq MPSOC嵌入式開發板的基於Yocto二次封裝的Linux BSP構建工具,支持Ubuntu/CentOS/RedHat等多個版本。通常,我們都是將其直接安裝在所支持的Linux OS中。

Docker

Docker 利用Linux核心中的資源分離機制來創建獨立的軟件容器,具有輕量級的、可移植的、自包含等特點。
關於Docker的原理和基本應用方法網上已經有很多文章,相信很多讀者也或多或少有些使用經驗。官方網站https://www.docker.com/提供了第一手的信息,相信你很快就能上手。

Combined Advantages

高效部署

通常,我們都是將PetaLinux其直接安裝在所支持的Linux OS中。但對於某些客戶基於雲端服務器的安裝部署需求,我們可以利用Docker實現單服務器上運行多個相同或者不同版本的Linux發行版,並構建相應的petalinux開發環境。

相互隔離

Docker帶來的另一個好處是各個容器之間及HOST端都是相互隔離。此外,目前docker也已經獲得Windows和Mac的支持,這進一步豐富了在不同OS上構建petalinux開發環境的可能性。

操作步驟

這裏我將介紹在Ubuntu 16.04上通過Docker安裝基於Ubuntu 16.04 Docker image的petalinux v2018.2的開發環境。通俗說就是大娃套小娃的意思。這裏構建的docker image並不一定要運行在Ubuntu 16.04上,親測Ubuntu18.04依舊可用。這也印證了剛纔說的“在不同OS上構建petalinux開發環境”。
下面,我們將藉助Dockerfile來build一個ubuntu 16.04 docker image並基於將petalinux v2018.2安裝完成。爲了方便大家操作,我創建了一個github項目來作爲範本來幫助大家實踐。
Github項目:https://github.com/sonnyhcl/petalinux-docker/

安裝docker

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce -y

下載已經準備好的plnx2018.2的docker並構建鏡像

git clone https://github.com/sonnyhcl/petalinux-docker/
cd petalinux-docker
./build-docker-image.sh <petalinux_run_dir> <version>

更簡單的辦法是直接獲取別人已經做好的image

docker pull sonnyhcl/petalinux

測試

構建好鏡像後可以運行一個工程測試一下

docker run -ti -v `pwd`:/home/plnx/project sonnyhcl/petalinux
petalinux -t project -s <path-to-bsp> -n <project-name>
cd <project-name>
petalinux-build # this will take a long time

部署

測試完畢後可以把image保存到本地,方便地進行分發

docker save sonnyhcl/petalinux > petalinux.tar
docker load < petalinux.tar
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章