技术文章
当前页面: 首页 >技术文章 >使用云加速 Yocto 编译

使用云加速 Yocto 编译

供稿:韬睿(上海)计算机科技有限公司 2017/9/4 16:35:24

0 人气:18

  1. 关键词: arm linux yocto
  2. 摘要:云服务技术已经形成多年。有一件事我们经常会忽略,云不仅仅是 IoT 工具,或者只是大公司才能使用的东西。我们还可以用其处理日常事物。事实上这就是本文背后的动机,处理耗费的时间的任务,并用云进行简化。 因为对微软的云平台 Azure 较为熟悉,我讲向你介绍在 Azure 上部署 Ubuntu Server 16.04 LTS 虚拟机(是的,在微软云上的 Linux虚拟机),使用 Yocto/OpenEmbedded 生成嵌入式 Linux 镜像,如 Toradex Colibri iMX6 计算机模块的标准镜像。
简介  云服务技术已经形成多年。现在行业中一个最大的概念就是物联网,又称为IoT。我们作为电子工程师,脑海中出现的第一个印象是将许多设备连接到云,上传数据用于可视化、存储和分析。当然,也可以有许多其他的应用:云服务还可以存储和处理资源,特别是SaaS和个人应用;IT专家和运维也可以发挥云虚拟机和数据库的优势。  有一件事我们经常会忽略,云不仅仅是 IoT工具,或者只是大公司才能使用的东西。我们还可以用其处理日常事物。事实上这就是本文背后的动机,处理耗费的时间的任务,并用云进行简化。  因为对微软的云平台 Azure 较为熟悉,我讲向你介绍在 Azure 上部署 Ubuntu Server 16.04 LTS虚拟机(是的,在微软云上的 Linux虚拟机),使用 Yocto/OpenEmbedded 生成嵌入式 Linux 镜像,如Toradex Colibri iMX6 计算机模块的标准镜像。登录 Azure首先访问 portal.azure.com ,使用你的微软账号登录 Azure。创建虚拟机然后根据 该页面 上的 Azure 文档提示快速部署一个虚拟机。提示1:在你电脑的终端上,使用下面命令生成认证秘钥:ssh-keygen -t rsa -b 2048你需要复制公钥。只要复制 “id_rsa.pub” 文件。使用下面命令复制:cat ~/.ssh/id_rsa.pub提示2:在完成 “连接到虚拟机”步骤后,就可以结束。你不需要安装 Azure 文档中提到的NGINX。编译 Yocto通过 SSH 访问虚拟机,准备编译环境。按照这篇技术文章和 Toradex 网页的说明进行。提示1: :尽管文章内容比较多,你可以只参考这些章节: “Prerequisites” -Ubuntu 16.04, “Installation – Setup/Configure”, “Installation –local.conf” - 然后选择 Colibri iMX6,并 “Building”.提示2:当虚拟机初始化完成后,将会有 30GB的 SSD 磁盘空间,用于安装操作系统。在/mnt 目录下还有临时磁盘空间,根据你选择的虚拟机配置相应的空间大小也有所不同。注意:你可以增加安装操作系统 30GB SSD 磁盘的大小。这样会很快吗?为了测试,我们进行 'angstrom-lxde-image'的首次编译,包括下载和编译所有软件包,包括从云服务器上下载镜像到本地开发电脑。我使用工作台式机做对比测试。电脑配有 Intel® Core i7-3740QMCPU @ 2.70GH 8虚拟核(4核处理器)、8GB 内存和 SSD,运行 Ubuntu 16.04LTS。从零开始,首次编译总共耗时4个小时。接下来,使用 Azure 的两个虚拟机,配置如下:一个使用最基础的配置((Standard DS1 v2),1Intel® Xeon® core, CPU E5-2673 v3 @ 2.40GHz,3.5 GB RAM 和 SSD 磁盘;另一个使用我账户中的最高配置(最多10核),8 Intel®Xeon® cores, CPU E5-2673 v3 @ 2.40GHz, 28 GB RAM 和SSD。最基础配置的虚拟机首次编译的总时间为12小时,最高配置的则耗费1小时30分钟。我的同事使用 Amazon AWS (c4.2xlarge, c4.4xlarge and m4.2xlarge –点击这里了解详情)进行了同样的编译做对比,以及采用其他配置的电脑(4 corei7-6700K CPU @ 4.00GHz, 32 GB DDR4, NVMe SSD 和 8 coreXeon® CPU E5-2667 v4 @ 3.20GHz, 64GB DDR4, RAM磁盘)。结果如下表所示。注意1:其他的账户可以使用更高配置的虚拟机。注意2:从云端下载编译好的镜像到本地电脑的速度很快(小于3分钟),平均速度为1MB/S。注意3:有些云平台,例如Azure,按分钟计算虚拟机费用,其他的则根据小时计算费用。注意4:使用 RAM 磁盘也可以提高性能
机器编译完成时间每小时费用*总费用
个人笔记本电脑
Intel® Corei7-3740QM CPU @ 2.70GHz, 8GB RAM and SSD disk
4.00 小时--
Azure 1-vcore
1 core Intel®Xeon® CPU E5-2673 v3, 3,5GB RAM and SSD disk
12.00 小时US$0.073/小时US$0.876
Azure 8-vcore
8 cores Intel®Xeon® CPU E5-2673 v3, 28GB RAM and SSD disk
1.50 小时US$0.585/小时US$0.878
AWS 8-vcore c
8 cores Intel®Xeon® CPU E5-2666 v3, 15GB RAM and EBSstorage
1.88 小时US$0.398/小时US$0.796
AWS 16-vcore c
8 cores Intel®Xeon® CPU E5-2666 v3, 30GB RAM and EBSstorage
1.18 小时US$0.796/小时US$0.796
AWS 8-vcore m
8 cores Intel®Xeon® CPU E5-2686 v4 or E5-2676 v3, 32GB RAM and SSDdisk
2.10 小时US$0.400/小时US$0.800
Local Server 1
Intel® Corei7-6700K CPU @ 4GHz, 32GB RAM DDR4 and NVMe SSD disk
1.23 小时--
Local Server 2
Intel® Xeon®ES-2667 v4 CPU @ 3.20GHz, 64GB DDR4 RAM and RAM disk
1.15 小时--
* 该表格中的每小时费用不包括国际区域转移费用。该费用是部署在美国东部 Azure服务器上的虚拟机,在其他区域虚拟机的价格可能会有波动。其他的服务,例如数据存储,也伴随虚拟机一同使用。这些也关系到编译的总费用。价格可能随时会出现变动,根据微软的政策,请浏览Azure网页或者联系微软获取更多关于价格的信息。这样经济吗?最低配置的虚拟机费用为每小时US$0.073,最高配置则为每小时US$0.585。因此,两个虚拟机编译的总费用都约为US$0.878。所有配置虚拟机价格可以在 Azure 的页面中看到。提示1:编译完成后,关闭虚拟机避免不必要的费用。我们采用按需付费,所以请记住不要在周末的时候还开着虚拟机。提示2:你可以配置虚拟机自动关机,万一你忘记将其关闭。总结  本实验揭示了基于云编译的优缺点。考虑到“这样会很快吗?”章节中编译时间,基于云编译的方法可以显著缩短编译时间。但是,你也应该考虑到下载速度:使用好的网络连接,低成本的编译服务器可能和有些配置的云差不多快,甚至更快。另一方面,如果你的网络连接很慢或者不稳定,那么云方案可能更加合适。  另外,长期使用虚拟机的成本可能会高于使用本地编译服务器。如果你公司没有专门的服务器用于编译,使用云方案可以为员工节约时间。这能够节约成本,因为虚拟机每小时的费用低于员工的公时薪资。还可以避免在个人电脑上编译带来的潜在损耗。  云也可以作为临时的方案,用于多个编译任务并行执行。结合已经在运行一个或者多个任务的本地服务器,该方案可以很容易和便宜地实施。  最后,你需要了解何种云方案可以使用,并知悉这些方案可能适合或者不适合你的需求。希望本文的提示和案例能够有所帮助。下次见!
审核编辑(王静)
更多内容请访问 韬睿(上海)计算机科技有限公司(http://c.gongkong.com/?cid=16879)
手机扫描二维码分享本页
工控网APP下载安装
工控速派APP下载安装
 

我来评价

评价:
一般
鸿运国际手机登录首页