imx8 yocto 下载编译全过程

1、坏境搭建

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
pylint3 xterm rsync curl zstd pzstd lz4c lz4

2、Setting up the Repo utility
Create a bin folder in the home directory.

$ mkdir ~/bin (this step may not be needed if the bin folder already exists)
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

Add the following line to the .bashrc file to ensure that the ~/bin folder is in your PATH variable.

export PATH=~/bin:$PATH

3、Yocto Project Setup
First, make sure that Git is set up properly with the commands below:

$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config –list

构建yocto

$ mkdir imx-yocto-bsp
$ cd imx-yocto-bsp
$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-kirkstone -m imx-5.15.32-2.0.0.xml
$ repo sync

报错问题1

vim ~/bin/repo
import ssl ssl._create_default_https_context = ssl._create_unverified_context 
vim ~/.bashrc
export REPO_URL = 'https://gerrit.googlesource.com/git-repo
source ~/.bashrc 

4、编译
调用脚本选择evk配置
The syntax for the imx-setup-release.sh script is shown below:
$ DISTRO= MACHINE= source imx-setup-release.sh -b
DISTRO= <发行版配置名称> 是发行版,配置构建环境,存储在meta-imx/meta-sdk/conf/distro.
MACHINE= <机器配置名> 是指向conf/machine in meta-freescale and meta-imx
-b 指定由 imx-setup-release.sh 脚本创建的构建目录的名称。

当脚本运行时,它会提示用户接受 EULA。 一旦 EULA 被接受,接受就存储在
每个构建文件夹中的 local.conf,并且不再显示该构建文件夹的 EULA 接受查询。
脚本运行后,工作目录就是脚本刚刚创建的目录,使用 -b 选项指定。 创建了一个 conf 文件夹
包含文件 bblayers.conf 和 local.conf 。
/conf/bblayers.conf 文件包含 i.MX Yocto Project 版本中使用的所有元层。
local.conf 文件包含机器和发行版规范:
MACHINE ??= ‘imx7ulpevk’
DISTRO ?= ‘fsl-imx-xwayland’

ACCEPT_FSL_EULA = "1"

如有必要,可以通过编辑此文件来更改 MACHINE 配置。
local.conf 文件中的 ACCEPT_FSL_EULA 表示您已接受 EULA 的条件。
在 meta-imx 层,为 i.MX 提供了统一的机器配置( imx6qpdlsolox.conf 和 imx6ul7d.conf )
6 和 i.MX 7 机器。 i.MX 使用这些来构建一个通用映像,其中所有设备树都在一个映像中进行测试。 不使用
这些机器用于测试以外的任何用途。

i.MX Yocto project images:
core-image-minimal
core-image-base
core-image-sato
imx-image-core
fsl-image-machine-test
imx-image-multimedia
imx-image-full

bitbake 是这个系统的编译工具

images路径:

<build directory>/tmp/deploy/images .

指定要编译的板子
Wayland image on i.MX 8M Quad EVK 板子

$ DISTRO=fsl-imx-wayland MACHINE=imx8mqevk source imx-setup-release.sh -b build-wayland
$ bitbake imx-image-multimedia
DISTRO=fsl-imx-xwayland MACHINE=imx8mqevk source imx-setup-release.sh -b build
bitbake imx-image-multimedia

bitbake fsl-image-validation-imx 编译基于wayland 的支持GUI 的测试镜像

问题:1在这里插入图片描述

方法:
修改 poky.conf 对我不起作用(从我读到的内容来看,修改 Poky 下的任何内容对于长期解决方案来说都是禁忌)。

修改/conf/local.conf 是唯一对我有用的解决方案。只需添加以下两个选项之一:

#check connectivity using google
CONNECTIVITY_CHECK_URIS = "https://www.google.com/"

#skip connectivity checks
CONNECTIVITY_CHECK_URIS = ""

问题2
在这里插入图片描述

第 1 步:手动下载包(wget、git clone …)
第 2 步:将包复制到./build/downloads
第 3 步:touch 一个 package_name.done文件。
第 4 步:更改*.done文件的权限:chmod 777 package_name.done

问题3
在这里插入图片描述
编译时出现Error: open CFI at the end of file; missing .cfi_endproc directive
方法:
1,尝试重启

基本上是内存不足造成的,有实际内存的可以加大虚拟机内存,如果没有可以增加Ubuntu的swap空间

参考这个https://blog.csdn.net/yc461515457/article/details/53610412

### 回答1: 安装imx6 Yocto交叉编译环境需要以下步骤: 1. 下载并安装交叉编译工具链,可以从官方网站或第三方网站下载。 2. 下载并解压imx6 Yocto源代码,可以从官方网站下载。 3. 进入源代码目录,执行“source setup-environment <build_dir>”命令来设置编译环境变量。 4. 配置编译选项,在conf文件中进行修改。 5. 执行“bitbake core-image-minimal”命令来开始编译。 6. 等待编译完成,将生成的镜像烧写到imx6设备上即可。 ### 回答2: IMX6 Yocto是一种基于Linux的嵌入式操作系统,它可以在各种嵌入式设备中运行,包括智能手机、平板电脑和其他嵌入式设备。IMX6 Yocto需要交叉编译才能在设备上运行,因此需要设置IMX6 Yocto交叉编译环境。 在安装IMX6 Yocto交叉编译环境之前,需要准备以下事项: 1. 一台运行Linux或Mac OS X的计算机; 2. 安装交叉编译工具链; 3. 安装Git; 4. 安装文本编辑器,如Vim或Nano。 接下来,我们将逐步介绍如何在Linux或Mac OS X上安装IMX6 Yocto交叉编译环境。 第一步:安装交叉编译工具链 IMX6 Yocto需要使用交叉编译工具链,可从官方网站下载。可以选择下载解压后放在/usr/local/目录下。然后将/bin/i686-pc-linux-gnu-路径添加到$PATH环境变量中,例如,在~/.bashrc文件中添加以下行: export PATH=$PATH:/usr/local/gcc-arm-none-eabi-10-2020-q4-major/bin/ 然后运行source ~/.bashrc或重新打开终端窗口以应用更改。 第二步:安装Git $ sudo apt-get update $ sudo apt-get install git 第三步:创建工作目录 创建一个新目录,例如imx6-yocto,并进入该目录: $ mkdir ~/imx6-yocto $ cd ~/imx6-yocto 第四步:下载IMX6 Yocto源码 使用GitGitHub上克隆IMX6 Yocto存储库。你需要安装Git,假设下载地址为git@github.com:xxx/imx6-yocto.git: $ git clone git@github.com:xxx/imx6-yocto.git 等待下载过程结束。 第五步:配置Yocto Build Environment 进入imx6-yocto目录并执行以下命令: $ source setup-environment build 它将为您创建一个build目录和一些配置文件。如果在运行此命令时出现任何问题,请确保已正确安装所有依赖项,例如安装了python、perl、help2man等软件包。 第六步:构建Image文件 输入以下命令执行Image文件的构建: $ bitbake core-image-minimal 进程可能需要一段时间才能完成。执行成功将会在/tmp/deploy/images/imx6/中产生core-image-minimal-imx6qdl.sdcard.bz2压缩文件,即镜像文件。可以将镜像文件下载到SD卡中进行运行。 到此,IMX6 Yocto交叉编译环境的安装就完成了。如果出现错误,请检查依赖项是否正确安装,或在官方网站或社区论坛上查找解决方案。 ### 回答3: imx6是一款性能强大的嵌入式处理器,使用yocto构建嵌入式系统,可以有效优化系统性能,提高开发效率。而交叉编译则是嵌入式开发中必不可少的一环,可以在一台主机上编译出适用于目标平台的二进制文件。因此,安装imx6 yocto交叉编译环境是非常重要的。 安装imx6 yocto交叉编译环境的步骤如下: 1. 准备工作 在安装环境之前,需要准备以下环境: a. 一台可运行Linux系统的主机,推荐使用Ubuntu 16.04以上版本。 b. 下载并安装ARM架构交叉编译器,比如arm-linux-gnueabihf。 c. 下载并安装支持imx6的交叉编译工具,比如imx6q-poky-linux-gcc。 d. 下载并安装yocto-sdk环境,这是一个类似于开发工具包的软件,提供了一些模块和库供开发者使用。 2. 安装库文件 在主机上安装所需要的库文件,这些文件包括g++,make,findutils和python。 sudo apt-get install g++ make findutils python 3. 配置环境变量 在主机上配置环境变量,以允许主机寻找交叉编译器和yocto-sdk环境。 export CROSS_COMPILE=arm-linux-gnueabihf export SDKTARGETSYSROOT=/path/to/sdk/sysroot 4. 配置yocto源码 下载并配置yocto源码,以便使用yocto构建嵌入式系统。 git clone git://git.yoctoproject.org/poky cd poky git checkout -b imx6 origin/imx6 5. 构建yocto环境 配置和构建yocto环境,以便构建所需的软件包。 source oe-init-build-env bitbake core-image-minimal 6. 交叉编译应用程序 使用交叉编译工具来交叉编译应用程序,以便在imx6上运行。 arm-poky-linux-gnueabi-gcc -o hello_world hello_world.c 7. 部署应用程序 将交叉编译生成的可执行文件部署到目标设备上,以便在设备上运行。 scp hello_world user@device:/path/to/hello_world 总之,以上就是安装imx6 yocto交叉编译环境的大致步骤。在实际开发中,可能会遇到各种问题,需要仔细检查每一个步骤,找出问题并解决。通过使用yocto构建嵌入式系统,可以大大提高开发效率,减少开发周期,让嵌入式开发更加简单和高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值