yocto环境构建

yocto环境构建在一些情况下 如果公司没有能力做底层硬件 PCB 的封装设计和产品外观 需要用人家的硬件 那么就需要在上面进行二次开发 市面上有不少的硬件公司或团队提供二次开发网关的服务 我的工作中就遇到过这种情

大家好,欢迎来到IT知识分享网。

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项目

5.编译配置yocto项目

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

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

5.2 编译

总结

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

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/126879.html

(0)
上一篇 2025-09-15 14:26
下一篇 2025-09-15 14:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信