获取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系统(三)相关推荐

  1. 基于Yocto构建嵌入式Linux系统U-boot、kernel内核、rootfs文件系统

    前言 Yocto 是一个很强大的构建工具,其功能不仅仅是用来获取BSP源码和简单地编译源码,开发者还可以使用Yocto对其 开发板添加各种第三方开发库,而不需要每次重新从零开始编译源码,解决第三方依赖 ...

  2. 构建嵌入式linux系统_用于构建嵌入式Linux系统的4种工具

    构建嵌入式linux系统 Linux正在被部署到比Linus Torvalds在他的宿舍里工作的设备更多的设备中. 受支持的各种芯片架构令人震惊,并导致各种大小的设备都使用Linux. 从庞大的IBM ...

  3. 基于AT91SAM9G20构建嵌入式Linux系统

    本文中使用的目标平台AT91SAM9G20是Atmel公司使用ARM926EJ-S处理器内核开发的一块SoC嵌入式微处理器,主频达到400MHz,具有Atmel 先进的外设DMA 和分布式存储器架构, ...

  4. 利用Yocto构建嵌入式Linux教程01--第一个Yocto项目构建

    大家好,从今日开始,计划写一个利用Yocto构建嵌入式Linux的教程,算是对个人工作和学习的一个总结. 本教程选用的Yocto版本为3.0.4,我使用的Linux发行版为Ubuntu 18.04 ( ...

  5. 【嵌入式】构建嵌入式Linux系统(uboot、内核、文件系统)

    知识架构及层次 Linux内核由三部分构成: Bootloader:启动引导系统(可执行文件) Kernel:内核(可执行文件) Root File System:根文件系统 嵌入式Linux系统构成 ...

  6. 嵌入式系统实验 构建嵌入式Linux系统,《嵌入式系统与开发》构建嵌入式Linux系统-实验报告.doc...

    <嵌入式系统与开发>构建嵌入式Linux系统-实验报告 <嵌入式数据库sqlite移植及使用> 实验报告 学生姓名: 陈 彤 学 号: 1座机电话号码 专业班级: 130044 ...

  7. buildroot:Linux平台构建嵌入式Linux系统的框架

    buildroot是Linux平台上一个构建嵌入式Linux系统的框架.整个Buildroot是由Makefile脚本和Kconfig配置文件构成的.你可以和编译Linux内核一样,通过buildro ...

  8. 基于qemu-riscv从0开始构建嵌入式linux系统ch3. 添加中断控制器、串口、pflash支持

    基于qemu-riscv从0开始构建嵌入式linux系统ch3. 添加中断控制器.串口.pflash支持 添加串口支持 真实板卡的初期调试中,串口打印可谓神器,几乎所有的SOC都会带有串口这个外设,因 ...

  9. 嵌入式 linux 启动脚本 编写,[9构建嵌入式linux系统项目-启动脚本的编写.ppt

    [9构建嵌入式linux系统项目-启动脚本的编写 启动脚本 教学回顾 shell语法 管道.重定向 变量 结构性语句 教学内容 启动脚本的写法 教学要求 熟悉掌握启动脚本的写法 shell 函数 在s ...

最新文章

  1. 安卓中如何判断一个字符串是否为空
  2. boost::includes相关的测试程序
  3. MySQL存储引擎MyISAM和 InnoDB
  4. js中 给json对象添加属性和json数组添加元素
  5. js 之for..in、表单及事件触发
  6. java valueof_Java Short类valueOf()方法及示例
  7. zabbix邮件报警配合logging模块排错的python脚本
  8. Jenkins持续集成之小试牛刀
  9. 台达JAVA_wplsoft下载(台达plc编程软件)
  10. CSDN博客专家证书发放名单(10月已更新)
  11. froglt教你使用色相环配色(原创理论)
  12. 代码主题darcula_设置 IntelliJ IDEA 的彩色代码主题
  13. 个人记录 | 研二预答辩中的一些记录
  14. 【技术干货】聊聊在大厂推荐场景中embedding都是怎么做的
  15. 【微信小程序】自定义弹窗蒙版输入框效果图完整代码
  16. 工作记录--使用FFmpeg将一个视频文件中音频合成到另一个视频中
  17. C#联合Halcon打开笔记本摄像头
  18. Debian 8桌面安装Nvidia GTX960显卡驱动
  19. PCM data flow - part 4: ASoC platform driver
  20. SpringBoot 生成数据库设计文档工具

热门文章

  1. 2、Java——for循环打印九九乘法口诀表
  2. 程序员能用大数据分析,用脚本测算股市的状况吗?
  3. PHP开发实例大全(基础卷) 适合菜鸟新手学习
  4. linux 磁盘扩容(做逻辑卷)
  5. java 数组、List、Set互相转化
  6. 儿童用白炽灯和护眼灯哪个好些?推荐教育部入围护眼照明品牌
  7. 抖音运营:从0到1,做好企业抖音
  8. go vendor的正确使用方式
  9. 白嫖Github和CDN,播放一个远程视频
  10. 2017年秋季招生文案/活动