Docker里玩转PetaLinux的上手教程

作者: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


MIT的新研究,MIT科学家们将此技术称为内爆制造
亚光科技与赛迪集团将共同推动“中国芯应用创新中心”在地方落地,总投资约为10亿左右
高性能探测器(APDs)
一种简单的、真实的基于循环序列的FIFO缓存设计
PCB印制板外形加工的方法解析
Docker里玩转PetaLinux的上手教程
空中交工具是如何为全国的医院和诊所输送血液的
杭州19号线开通,赛思电子赋能“516公里线网”顺利贯通
c语言实现RC5分组密钥算法的应用
DMA传输不经过CPU处理的地址空间复制解决方案
PCB设计软件分析
三维扫描检测仪外观质量控制
意法半导体副总裁:希望更多新行业参与到物联网中,并从中受益
小米即将进入2亿像素时代
工业智能网关搭建智能工厂解决方案
合见工软发布先进FPGA原型验证系统UniVista Advanced Prototyping System
怎样用arduino制作RGB照明系统
一体化扬尘自动监测设备的产品特点介绍
苏宁2018拟开461家智慧门店 意在新零售市场主动权
三菱FX系列PLC编程实例视频教程全集part5(41-50集)