yocto环境构建

yocto 系统构建与应用系统移植

1 yocto系统构建



前言

在一些情况下,如果公司没有能力做底层硬件PCB的封装设计和产品外观,需要用人家的硬件,那么就需要在上面进行二次开发,市面上有不少的硬件公司或团队提供二次开发网关的服务,我的工作中就遇到过这种情况,硬件用别人的,自己在上面开发软件,下面记录整理下在yocto环境盒子上进行c/c++二次开发的大致内容,供后面回顾和参考。


一、为什么要提前构建yocto环境

为什么软件开发人员要提前构建yocto环境原因可能有很多,我觉得最重要的一个原因是下面的这个,在yocto环境构建后进行应用程序移植之前,在没有拿到硬件之前,可以先自己构建yocto环境,提前进行应用程序的移植,等硬件来了之后,将构建好的结果直接拿到上面去测试,缩短工期。

二、构建步骤

1.构建主机环境要求:

 ubuntu18.04的系统,100G以上磁盘
iot@iot:~$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="18.04.6 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.6 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
iot@iot:~$ df -h
Filesystem                    Size  Used Avail Use% Mounted on
udev                          7.8G     0  7.8G   0% /dev
tmpfs                         1.6G  1.3M  1.6G   1% /run
/dev/mapper/ubuntu--vg-lv--0  195G  9.4G   175G  6% /
tmpfs                         7.9G     0  7.9G   0% /dev/shm
tmpfs                         5.0M     0  5.0M   0% /run/lock
tmpfs                         7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/sda2                     974M   80M  827M   9% /boot
tmpfs                         1.6G     0  1.6G   0% /run/user/1000

2.构建主机上安装基本的主机包

可以构建一个shell脚本yocto_preinstall.sh:

#!/bin/bash
sudo apt install gawk wget git diffstat unzip -y
sudo apt install texinfo gcc build-essential -y
sudo apt install chrpath socat cpio -y
sudo apt install python3-pip python3-pexpect -y
sudo apt install xz-utils debianutils iputils-ping -y
sudo apt install python3-git python3-jinja2 libegl1-mesa -y
sudo apt install libsdl1.2-dev pylint3 xterm python3-subunit -y
sudo apt install mesa-common-dev zstd liblz4-tool -y
sudo apt install makeinfo gawk chrpath -y
sudo apt install libfile-find-rule-perl-perl -y
sudo apt install python-minimal -y

执行脚本进行安装。


3.获取repo

3.1 创建工程项目文件夹

iot@iot:~/imx6ull-iot-smart-car$ mkdir -p fsl-release-yocto/imx-linux-zeus

iot@iot:~/imx6ull-iot-smart-car$ mkdir -p  fsl-release-yocto/imx-linux-zeus
iot@iot:~/imx6ull-iot-smart-car$ ls
fsl-release-yocto  yocto_preinstall.sh

3.2 地址获取

iot@iot:~/imx6ull-iot-smart-car/fsl-release-yocto/imx-linux-zeus$ export https_proxy=http://127.0.01:15777 http_proxy=http://127.0.01:15777 
iot@iot:~/imxull-iot-smart-car/fsl-release-yocto/imx-linux-zeus$ curl http://commondatastorage.googleapis.com/git-repo-domnloads/repo -0 repo
% Total % Received % Xferd Average Speed  Time  Time  Time Current   	
			               Dload   Upload Total Spent Left Speed 
100 46937 100 46937 0   0  136k     0    --:-- --:-- --:-- 136K

3.3 添加可执行权限

iot@iot:~/imx6ull-iot-smart-car/fsl-release-yocto/imx-linux-zeus$ chmod 777 repo
iot@iot:~/imx6ull-iot-smart-car/fsl-release-yocto/imx-linux-zeus$ ls
repo 

4.获取yocto项目

4.1在线获取

./repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-zeus -m imx-5.4.47-2.2.0.xml

在这里插入图片描述
中间出现需要设置 git账号的问题,按提示设置你自己的email和username
git config --global user.email “xx@xx.com”
git config --global user.name “xxx”
然后重新执行上面的命令 ./repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-zeus -m imx-5.4.47-2.2.0.xml
然后用ls -a命令查看,如果成功出现了 .repo文件夹就说明成功了。
在这里插入图片描述

4.2 获取yocto项目

iot@iot:~/imx6ull-iot-smart-car/fsl-release-yocto/imx-linux-zeus$ ./repo sync
在这里插入图片描述

等到执行成功到100%,如下图:
在这里插入图片描述

5.编译配置yocto项目

5.1 在imx-linux-zeus目录执行如下命令进行配置:

DISTRO=fsl-imx-fb MACHINE=imx6ull14x14evk source ./imx-setup-release.sh -b build

出现下面页面:
在这里插入图片描述
选择q,退出阅读,选择y,接受协议
在这里插入图片描述
成功配置,并自动切换到build目录
在这里插入图片描述

5.2 编译

fsl-release-yocto/imx-linux-zeus/build$ bitbake imx-image-multimedia
开始从网上下载源码包进行构建,网络良好情况下大约需5-10小时,一般都是晚上让机器工作一晚上,第二天早上再看结果。
在这里插入图片描述

总结

以上就是今天要讲的内容,本文主要介绍了需要构建yocto系统环境的场景以及如何构建yocto的环境,方便嵌入式软件工程师在没有硬件的情况下进行开发。

  • 29
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值