如何在Ubuntu中利用repo和git地址下载获取imx6ull的BSP
01-设置git的用户名和邮箱
git config --global user.name "suwenhao"
git config --global user.email "2487872782@qq.com"
这里不设置的话后面在第5步的repo配置中还是会要求输入,而且以后进行相关操作都要输入,不妨现在就进行配置。
02-进入home/book目录


03-下载Git 仓库的管理工具repo
git clone https://e.coding.net/codebug8/repo.git


repo 是一个用于管理多个 Git 仓库的工具,它通常用于处理复杂的项目,比如 Android 源代码的管理。由于大型项目可能由多个子项目组成,每个子项目可能有自己的 Git 仓库,手动管理这些仓库会变得复杂。repo 工具通过提供一层额外的抽象,简化了对多个 Git 仓库的同步、更新和操作。
04-创建目录并进入目录
mkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk

05-初始化repo配置
../repo/repo init -u https://gitee.com/weidongshan/manifests.git -b linux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml --no-repo-verify
能不能详细解释下Ubuntu命令:
../repo/repo init -u https://gitee.com/weidongshan/manifests.git -b linux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml --no-repo-verify
答:
这个命令是在 Ubuntu 系统中使用 repo 工具初始化一个仓库,具体是初始化一个多 Git 仓库的项目。命令的每个部分都有不同的功能,下面我将详细解释每个参数的意义。
../repo/repo init -u https://gitee.com/weidongshan/manifests.git -b linux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml --no-repo-verify
1. ../repo/repo init
这个部分是运行 repo 命令。repo 是一个工具,用于管理多个 Git 仓库,它通常用于 Android 等大型项目。repo init 用来初始化一个新的 repo 工作区,或者将一个现有的 repo 工作区与特定的 manifest 文件进行关联。
../repo/repo:这里使用的是相对路径,指向repo工具的位置。repo工具可能位于当前目录的上级目录的repo子目录下。
2. -u https://gitee.com/weidongshan/manifests.git
这个参数指定了 repo 配置文件(即 manifest 文件)的 Git 仓库 URL。manifest 是一个 XML 文件,用于描述如何管理多个 Git 仓库,它包含了所有需要同步的 Git 仓库的信息,比如仓库的 URL 和所需的分支等。
https://gitee.com/weidongshan/manifests.git:这是manifest仓库的 URL。这里使用的是 Gitee 上的仓库,表示你要从这个 URL 上获取manifest文件。
3. -b linux-sdk
这个参数指定了要拉取的 branch(分支)。在 repo 中,每个 manifest 文件都可能有多个分支,通常这些分支与不同的开发版本、配置或平台相关。
linux-sdk:这个是你想要拉取的manifest分支。通常,linux-sdk可能代表与 Linux SDK(软件开发工具包)相关的配置。
4. -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml
这个参数指定了要使用的 manifest 文件。manifest 文件是一个 XML 文件,包含了多个 Git 仓库的 URL、版本和其他配置。你可以通过 -m 参数指定 manifest 文件的路径。
imx6ull/100ask_imx6ull_linux4.9.88_release.xml:这个是manifest文件的路径。imx6ull是可能与i.MX6ULL处理器相关的项目,100ask_imx6ull_linux4.9.88_release.xml则是特定版本的manifest文件,可能是针对i.MX6ULL处理器的 Linux 4.9.88 版本的配置。
5. --no-repo-verify
这个参数禁用了对 repo 工具的验证步骤。在 repo 初始化期间,默认会检查并验证 repo 工具的完整性或版本。通过添加 --no-repo-verify,可以跳过这个验证过程,通常用于在你确定 repo 工具没有问题的情况下加速初始化过程。
总结:
完整的命令 ../repo/repo init -u https://gitee.com/weidongshan/manifests.git -b linux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml --no-repo-verify 做了以下几件事:
- 使用
repo工具初始化一个新的仓库工作区。 - 从
https://gitee.com/weidongshan/manifests.git获取manifest配置文件。 - 使用
linux-sdk分支的manifest文件。 - 选择
imx6ull/100ask_imx6ull_linux4.9.88_release.xml作为具体的manifest文件配置。 - 跳过对
repo工具的完整性验证,直接进行初始化。
这通常用于设置一个针对 i.MX6ULL 平台的 Linux 开发环境。
结合下面的图理解一下吧:


理解了以上的代码,以后就可以灵活改变参数来获得别的BSP了。
如果第0步的名字执行上面的命令时会要求填入你的名字和邮箱,如下图所示:
名字:suwenhao
邮箱 :2487872782@qq.com


接下来是否希望启用彩色输出?

Testing colorized output":这是在测试是否启用彩色输出(也就是命令行输出中使用颜色来区分不同的内容)。例如,repo status 或 repo diff 命令的输出可能会显示彩色,使得不同的文件状态或更改更加明显。
彩色输出通常用于增强可读性。例如,绿色可以表示文件没有问题(已提交或未修改),红色可能表示文件有冲突或错误,黄色表示警告,等等。
从上面来看,我的终端没有彩色输出的能力,那就选N呗。


从上面的图片来看,repo这样才被配置好了。
06-下载BSP包
执行下面的命令:
../repo/repo sync -j4
这句命令是用 repo 工具同步项目的源码,它的具体含义如下:
../repo/repo sync -j4
逐部分解释
-
../repo/repo:- 这是运行
repo工具的命令,路径指向repo可执行文件。../repo/repo表示repo工具位于当前目录的上一级目录的repo子目录中。
- 这是运行
-
sync:repo sync是用来同步代码的命令。- 它会根据
manifest文件中定义的仓库配置,从远程仓库(通常是多个 Git 仓库)拉取代码到本地,并将工作区的代码更新到指定的分支或标签。
-
-j4:-j参数表示同步时使用的并行线程数。-j4意味着同时使用 4 个线程并行下载代码,这可以提高下载速度,尤其是在项目包含许多子仓库时。- 根据你的网络带宽和系统资源,可以调整这个数字。通常,设置为系统 CPU 核心数量是一个较好的选择,比如
-j$(nproc)会自动根据可用 CPU 核心数选择线程数。
这句命令是用 repo 工具同步项目的源码,它的具体含义如下:
../repo/repo sync -j4
逐部分解释
-
../repo/repo:- 这是运行
repo工具的命令,路径指向repo可执行文件。../repo/repo表示repo工具位于当前目录的上一级目录的repo子目录中。
- 这是运行
-
sync:repo sync是用来同步代码的命令。- 它会根据
manifest文件中定义的仓库配置,从远程仓库(通常是多个 Git 仓库)拉取代码到本地,并将工作区的代码更新到指定的分支或标签。
-
-j4:-j参数表示同步时使用的并行线程数。-j4意味着同时使用 4 个线程并行下载代码,这可以提高下载速度,尤其是在项目包含许多子仓库时。- 根据你的网络带宽和系统资源,可以调整这个数字。通常,设置为系统 CPU 核心数量是一个较好的选择,比如
-j$(nproc)会自动根据可用 CPU 核心数选择线程数。
整体作用
该命令的作用是:
- 同步代码:从远程仓库下载和更新本地代码。
- 使用 4 个并行线程:加速同步过程。
在执行该命令之前,需要先运行 repo init 初始化工作区,因为 repo sync 会依赖 .repo/manifest.xml 文件中定义的仓库信息。
运行完之后如下图所示:


07-顺便把Linux-4.9.88的源码压缩传到Windows中,方便以后学习和工作之用
这个压缩操作在Ubuntu的图形界面右键就可以操作,这里就不给命令了。
传到百度网盘了,百度网盘下载链接:
https://pan.baidu.com/s/1lOmiubmL5vsyWtgkT08uZg?pwd=yh34
相关文章:
如何在Ubuntu中利用repo和git地址下载获取imx6ull的BSP
01-设置git的用户名和邮箱 git config --global user.name "suwenhao" git config --global user.email "2487872782qq.com"这里不设置的话后面在第5步的repo配置中还是会要求输入,而且以后进行相关操作都要输入,不妨现在就进行配置…...
Ruby On Rails 笔记5——常用验证下
3.Validation Options 3.1 :allow_nil 当验证值为nil时:allow_nil选项会跳过验证 class Coffee < ApplicationRecordvalidates :size, inclusion: { in: %w(small medium large),message: "%{value} is not a valid size" }, allow_nil: true end irb> Cof…...
JS听到了因果的回响
这是我学习JS的第11天了,,,我现在赶着周末学JS,然后还有二十多天就期末了呵呵呵。。。 图片切换模块 思路分析: 这是实现的代码,建议还是把不同的变量定义出来比较合适: //获取三个盒子// 小盒…...
【高中生讲机器学习】28. 集成学习之 Bagging 随机森林!
创建时间:2024-12-09 首发时间:2024-12-09 最后编辑时间:2024-12-09 作者:Geeker_LStar 嘿嘿,你好呀!我又来啦~~ 前面我们讲完了集成学习之 Boooooosting,这篇我们来看看集成学习的另一个分支…...
硬件设计 | Altium Designer软件PCB规则设置
基于Altium Designer(24.9.1)版本 嘉立创PCB工艺加工能力范围说明-嘉立创PCB打样专业工厂-线路板打样 规则参考-嘉立创 注意事项 1.每次设置完规则参数都要点击应用保存 2.每次创建PCB,都要设置好参数 3.可以设置默认规则,将…...
【Elasticsearch】实现用户行为分析
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...
python字符串处理基础操作总结
1.去掉空格或者特殊符号 input_str.strip() #去掉所有空格 input_str.lstrip() #去掉左边空格 input_str.rstrip() #去掉右边空格 def print_hi():input_str 今天天气不错,风和日丽 out input_str.strip()print(input_str)print(out)if __name__ __main__:print…...
电子商务人工智能指南 6/6 - 人工智能生成的产品图像
介绍 81% 的零售业高管表示, AI 至少在其组织中发挥了中等至完全的作用。然而,78% 的受访零售业高管表示,很难跟上不断发展的 AI 格局。 近年来,电子商务团队加快了适应新客户偏好和创造卓越数字购物体验的需求。采用 AI 不再是一…...
【论文阅读】相似误差订正方法在风电短期风速预报中的应用研究
文章目录 概述:摘要1. 引言2. 相似误差订正算法(核心)3. 订正实验3.1 相似因子选取3.2 相似样本数试验3.3 时间窗时长实验 4. 订正结果分析4.1 评估指标对比4.2 风速曲线对比4.3 分风速段订正效果评估4.4 风速频率统计 5. 结论与讨论 概述&am…...
贪心算法 - 学习笔记 【C++】
2024-12-09 - 第 38 篇 贪心算法 - 学习笔记 作者(Author): 郑龙浩 / 仟濹(CSND账号名) 贪心算法 学习课程: https://www.bilibili.com/video/BV1f84y1i7mv/?spm_id_from333.337.search-card.all.click&vd_source2683707f584c21c57616cc6ce8454e2b 一、基本…...
精确的单向延迟测量:使用普通硬件和软件
论文标题:Precise One-way Delay Measurement with Common Hardware and Software(精确的单向延迟测量:使用普通硬件和软件) 作者信息:Maciej Muehleisen 和 Mazen Abdel Latif,来自Ericsson Research Eri…...
【MySQL 进阶之路】存储引擎和SQL优化技巧分析
1.InnoDB和MyISAM存储引擎的区别是什么?你在哪些场景下选择InnoDB? Innodb是高并发,支持事务跟行级锁,myisam不支持事务和行级锁,支持表级锁,不支持高并发。innodb底层是B树,适合范围查询&#…...
vue+elementUI从B页面回到A页面并且定位到A页面的el-tabs的某个页签
场景 做项目碰到一个需求,不能使用组件缓存keep-alive,但是需要跳转到B页面后,点击B页面的返回回到A页面的某个页签,灵机一动利用路由拦截去判断即将要跳转的页面后,在获取vm里对应的标签变量进行赋值,实现…...
{结对编程/大模型} 实践营项目案例 | 基于RAG搭建政策问答智能聊天助手
在构建政策问答智能聊天助手的过程中,我们采用了 RAG(Retrieval-Augmented Generation)技术。RAG 是一种结合了检索和生成的混合型自然语言处理技术,它通过检索相关信息来增强生成模型的上下文理解能力。RAG 的主要优点在于能够有…...
【Canvas与图标】乡土风金属铝边立方红黄底黑字图像处理图标
【成图】 120*120图标: 大小图: 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>金属铝边立方红黄底黑…...
【开源】A064—基于JAVA的民族婚纱预定系统的设计与实现
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看项目链接获取⬇️,记得注明来意哦~🌹 赠送计算机毕业设计600个选题ex…...
C++实现一个经典计算器(逆波兰算法)附源码
1、本篇要实现的内容 最近,大家讨论计算器的实现比较热,今天我也来用C和Visual Studio实现一个计算器的小程序。这里使用逆波兰算法,能够根据当前用户输入的算式表达式字符串,计算出所要的结果,算式字符串可以包括加、…...
Python知识分享第二十二天-数据结构入门
数据结构 “”" 基础概念: 程序 数据结构 算法 数据结构 存储和组织数据的方式. 算法 解决问题的思维, 思路, 方式. 算法的特性:独立性: 算法 思维, 是解决问题的思路和方式, 不依赖语言.5大特性: 有输入, 有输出, 有穷性, 确定性, 可行性.问: 如何衡量算法的优劣?…...
【WRF理论第十三期】详细介绍 Registry 的作用、结构和内容
目录 1. Introduction:介绍 Registry 的作用和功能。2. Registry Contents:详细描述 Registry 的结构和内容,包括各个部分的条目类型。2.1. DIMSPEC ENTRIES(维度规格条目)2.2. STATE ENTRIES(状态变量条目…...
Android启动优化指南
文章目录 前言一、启动分类与优化目标1、冷启动1.1 优化思路1.2 延迟初始化与按需加载1.3 并行加载与异步执行1.4 资源优化与懒加载1.5 内存优化与垃圾回收控制 2. 温启动2.1 优化应用的生命周期管理2.2 数据缓存与懒加载2.3 延迟渲染与视图优化 3. 热启动3.1 保持应用的状态3.…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
