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 https://gerrit.googlesource.com/git-repo/clone.bundle的错误,这是因为repo运行时,会去google服务器请求最新版本,解决方式是在本地环境变量中指定repo服务器地址,可以使用清华的镜像源进行更新,即将如下内容复制到你的~/.bashrc里:
export REPO_URL="https://mirrors.tuna.tsinghua.edu.cn/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以及一些板级硬件配置信息。
iMX6Ull采用Yocto构建嵌入式Linux系统(三)相关推荐
- 基于Yocto构建嵌入式Linux系统U-boot、kernel内核、rootfs文件系统
前言 Yocto 是一个很强大的构建工具,其功能不仅仅是用来获取BSP源码和简单地编译源码,开发者还可以使用Yocto对其 开发板添加各种第三方开发库,而不需要每次重新从零开始编译源码,解决第三方依赖 ...
- 构建嵌入式linux系统_用于构建嵌入式Linux系统的4种工具
构建嵌入式linux系统 Linux正在被部署到比Linus Torvalds在他的宿舍里工作的设备更多的设备中. 受支持的各种芯片架构令人震惊,并导致各种大小的设备都使用Linux. 从庞大的IBM ...
- 基于AT91SAM9G20构建嵌入式Linux系统
本文中使用的目标平台AT91SAM9G20是Atmel公司使用ARM926EJ-S处理器内核开发的一块SoC嵌入式微处理器,主频达到400MHz,具有Atmel 先进的外设DMA 和分布式存储器架构, ...
- 利用Yocto构建嵌入式Linux教程01--第一个Yocto项目构建
大家好,从今日开始,计划写一个利用Yocto构建嵌入式Linux的教程,算是对个人工作和学习的一个总结. 本教程选用的Yocto版本为3.0.4,我使用的Linux发行版为Ubuntu 18.04 ( ...
- 【嵌入式】构建嵌入式Linux系统(uboot、内核、文件系统)
知识架构及层次 Linux内核由三部分构成: Bootloader:启动引导系统(可执行文件) Kernel:内核(可执行文件) Root File System:根文件系统 嵌入式Linux系统构成 ...
- 嵌入式系统实验 构建嵌入式Linux系统,《嵌入式系统与开发》构建嵌入式Linux系统-实验报告.doc...
<嵌入式系统与开发>构建嵌入式Linux系统-实验报告 <嵌入式数据库sqlite移植及使用> 实验报告 学生姓名: 陈 彤 学 号: 1座机电话号码 专业班级: 130044 ...
- buildroot:Linux平台构建嵌入式Linux系统的框架
buildroot是Linux平台上一个构建嵌入式Linux系统的框架.整个Buildroot是由Makefile脚本和Kconfig配置文件构成的.你可以和编译Linux内核一样,通过buildro ...
- 基于qemu-riscv从0开始构建嵌入式linux系统ch3. 添加中断控制器、串口、pflash支持
基于qemu-riscv从0开始构建嵌入式linux系统ch3. 添加中断控制器.串口.pflash支持 添加串口支持 真实板卡的初期调试中,串口打印可谓神器,几乎所有的SOC都会带有串口这个外设,因 ...
- 嵌入式 linux 启动脚本 编写,[9构建嵌入式linux系统项目-启动脚本的编写.ppt
[9构建嵌入式linux系统项目-启动脚本的编写 启动脚本 教学回顾 shell语法 管道.重定向 变量 结构性语句 教学内容 启动脚本的写法 教学要求 熟悉掌握启动脚本的写法 shell 函数 在s ...
最新文章
- 安卓中如何判断一个字符串是否为空
- boost::includes相关的测试程序
- MySQL存储引擎MyISAM和 InnoDB
- js中 给json对象添加属性和json数组添加元素
- js 之for..in、表单及事件触发
- java valueof_Java Short类valueOf()方法及示例
- zabbix邮件报警配合logging模块排错的python脚本
- Jenkins持续集成之小试牛刀
- 台达JAVA_wplsoft下载(台达plc编程软件)
- CSDN博客专家证书发放名单(10月已更新)
- froglt教你使用色相环配色(原创理论)
- 代码主题darcula_设置 IntelliJ IDEA 的彩色代码主题
- 个人记录 | 研二预答辩中的一些记录
- 【技术干货】聊聊在大厂推荐场景中embedding都是怎么做的
- 【微信小程序】自定义弹窗蒙版输入框效果图完整代码
- 工作记录--使用FFmpeg将一个视频文件中音频合成到另一个视频中
- C#联合Halcon打开笔记本摄像头
- Debian 8桌面安装Nvidia GTX960显卡驱动
- PCM data flow - part 4: ASoC platform driver
- SpringBoot 生成数据库设计文档工具