900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > iMX6Ull采用Yocto构建嵌入式Linux系统(三)

iMX6Ull采用Yocto构建嵌入式Linux系统(三)

时间:2019-11-11 08:20:37

相关推荐

iMX6Ull采用Yocto构建嵌入式Linux系统(三)

获取Yocto

设置Git用户名和密码

Yocto项目采用repo管理各个git库的方式进行管理。因此,除了使用repo工具外,还需要使用到Git。使用Git前,需要设置Git的用户名和密码:

$ git config --global user.name "Your Name" // 配置git用户名:“Your Name” $ git config --global user.email "Your Email" // 配置git用户邮箱:“Your Email” $ git config --list // 查看git配置信息

如:

获取Yocto项目

切换至Yocto工作路径/home/jason/Linux/Yocto/fsl-release-yocto,然后使用如下repo命令,获取Yocto项目(克隆NXP官方fsl-arm-yocto-bsp.git项目的imx-linux-zeus分支):

./repo init -u imx-manifest - i.MX Release Manifest -b imx-linux-zeus -m imx-5.4.47-2.2.0.xml

注意:由于国内的原因,直接运行上面repo init命令时,会出现fatal: Cannot get /git-repo/clone.bundle的错误,这是因为repo运行时,会去google服务器请求最新版本,解决方式是在本地环境变量中指定repo服务器地址,可以使用清华的镜像源进行更新,即将如下内容复制到你的~/.bashrc里:

export REPO_URL="https://mirrors.tuna./git/git-repo/"

并重启Ubuntu即可。

输入上述命令./repo init -u imx-manifest - i.MX Release Manifest -b imx-linux-zeus -m imx-5.4.47-2.2.0.xml后,会提示/usr/bin/env: ‘python’: No such file or directory,这是因为Ubuntu20.04中已经移除了python2的原因,直接使用的是Python3。因此,使用命令: sudo ln -s /usr/bin/python3 /usr/bin/python,将python连接为Python3即可。

再次输入./repo init -u imx-manifest - i.MX Release Manifest -b imx-linux-zeus -m imx-5.4.47-2.2.0.xml,即开始克隆imx-linux-zeus分支:

克隆完成后,输入几次y确认一些信息即可。通过ls -a命令,可以看到在fsl-release-yocto路径下有.repo隐藏目录,进入.repo:

可以看到,在.repo目录下的manifests中的文件,定义了imx-linux-zeus分支下使用到的哪些Git库。(体现了repo的功能)。最后在fsl-release-yocto路径下,运行./repo sync命令,获取Yocto项目(repo将会从网上下载很多东西):

(需要注意的是,在./repo sync获取Yocto源码的过程中,由于网速等原因,会出现下载失败或下载“卡死”的情况,此时,可按Ctrl+c终止,再次输入./repo sync命令,即可继续从断点处下载)。

PS:对于教程中使用到的Yocto项目源码,笔者已经将其在网盘中进行分享:

链接:百度网盘 请输入提取码 提取码:vkyr

获取Yocto项目源码成功后,会在Yocto工作路径/home/jason/Linux/Yocto/fsl-release-yocto路径下得到imx-setup-release.sh、setup-environment、sources等文件。其中:

imx-setup-release.sh:该脚本用于初始化Yocto构建嵌入式Linux系统工作环境。

setup-environment:该脚本根据运行imx-setup-release.sh脚本时输入的参数,设置Yocto工作环境。

sources文件夹:在该文件夹下存放了很多文件、源码以及编译工具,用于构建嵌入式Linux系统。

base:该文件夹下主要存放了bblayers.conf和setup-environment,构建Yocto工作环境时用到。

meta-clang:C语言家族前端和LLVM编译器后端。

meta-freescalse-3rdparty:第三方板卡支持软件。

meta-browser:提供了几种浏览器,如gnome、mozilla。

meta-freescale:提供了一些基于Freescale ARM官方参考板的基础支持软件。

meta-imx:

meta-bsp - meta-fsl-arm, poky, meta-openembedded层的一些更新软件。

meta-sdk - meta-freescale-distros以及发行版的一些更新软件。

meta-ml:机器学习相关的软件。

meta-freescalse-distro:官方提供的一些嵌入式Linux发行版。

meta-nxp-demo-experience:NXP官方提供的一些demo。

meta-python2: python2相关的软件。

meta-rust:rust相关的软件。

meta-openembedded:OE内核的一些集合,定义了构建Yocto使用到的一些工具软件。

meta-qt5:QT5相关的软件。

meta-timesys:提供Vigiles工具来查看和通知BSP漏洞。

poky:Yocto的基础发行版,在此版本基础上进行构建自己的嵌入式Linux发行版。

需要注意的是,对于i.MX板卡的配置,主要是在meta-imx以及meta-freescale中定义的,包括Linux内核、U-Boot以及一些板级硬件配置信息。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。