作者:Alex He,Xilinx 嵌入式技術專家
Xilinx 嵌入式技術專家 Alex He 與大家分享在Docker里玩轉PetaLinux的上手教程~
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開發環境的可能性。
Getting Started
這里我將介紹在Ubuntu 16.04上通過Docker安裝基于Ubuntu 16.04 Docker image的petalinux v2018.2的開發環境。通俗說就是大娃套小娃的意思。
下面,我們將借助Dockerfile來build一個ubuntu 16.04 docker image并基于將petalinux v2018.2安裝完成。為了方便大家操作,我創建了一個github項目來作為范本來幫助大家實踐。
Github項目: https://github.com/alexhegit/petalinux-v2018.2-docker
注意: 這里約定你的工作目錄為n
1. 準備工作
1、安裝docker
$sudo apt-get install docker-ce
2.、下載Github項目
$cd
$git clone https://github.com/alexhegit/
petalinux- v2018.2-docker
$cd /petalinux-v2018.2-docker
你將看到clone好的項目目錄結構是這樣的。
── docker_run_plnx_182.sh
//運行container的范例腳本
── petalinux-182-docker-ubuntu
│ ── build_docker.s
//構建docker image的范例腳本
│ ── default.env
//放置container的初始環境變量
│ ── Dockerfile
//Docker image的構建文件
│ ── File-Tail-1.3.tar.gz
//plnx_installer.pl的運行支持文件
│ ── petalinux-v2018.2
//放置petalinux安裝文件目錄
│ ── petalinux-v2018.2_bsps
//放置BSP的目錄
│ └── plnx_installer.pl
//自動安裝petalinux的perf腳本
└── README.md
3、下載petalinux安裝文件官方下載頁面
請將其放置在 /petalinux-182-docker-ubuntu/petalinux-v2018.2/目錄下 https://www.xilinx.com/support/download/index.html/content/xilinx/en/dow...
4、下載petalinux BSP v2018.2 file(e.g. xilinx-zcu102-v2018.2-final.bsp)官方下載頁面。 https://www.xilinx.com/support/download/index.html/content/xilinx/en/dow...
2. 基于Dockerfile構建Docker image
1、切換到包含Dockerfile的子目錄(./petalinux-182-docker-ubuntu)
2、構建Docker image
*注意* Dockerfile范本中設置了網絡代理(proxy), 這個需要讀者根據具體環境要求自行修改。
$sudo docker build ./ --network=host --build-arg version=2018.2 --build-arg date_created=1110 -t petalinux-182-ubuntu:test
Docker會依據Dockerfile的步驟定義完成基于ubuntu 16.04的image整個petalinux v2018.2的開發環境。此外,還創建了一個用戶plnx_user用于用戶登錄運行petalinux。
build_docker.sh 是一個腳本范例。
3. 運行容器
$sudo docker run --name petalinux-2018.2 --user=plnx_user --entrypoint=/bin/bash -it -v /home/ahe/PLNX_WS/:/home/plnx_user/PLNX_WS petalinux-182-ubuntu:test
示例命令將Host端的目錄/home/ahe/PLNX_WS/ 映射到容器中的/home/plnx_user/PLNX_WS/目錄,并以plnx_user用戶名登錄進入容器。
4. 在容器中創建一個petalinux項目
登錄到容器后,構建petalinux項目的方法和Host上無異,具體可以參考petalinux用戶手冊UG1144和UG1157.
個人建議將你的項目創建在/home/plnx_user/PLNX_WS/目錄下,這樣在Host端也可以訪問到項目文件。
點擊訪問本工程Github頁面: https://github.com/alexhegit/petalinux-v2018.2-docker
編輯:hfy
-
Linux
+關注
關注
87文章
11335瀏覽量
210088 -
Xilinx
+關注
關注
71文章
2170瀏覽量
121869 -
嵌入式開發板
+關注
關注
5文章
83瀏覽量
18779 -
Docker
+關注
關注
0文章
489瀏覽量
11910
發布評論請先 登錄
相關推薦
評論