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