在项目支持过程中, 项目初始阶段,提供了相关说明文件后, 首先最常收到的反馈是,公司对外的速度慢,BSP相关仓库几乎都是国外的链结,下载龟速,请提供已经完整下载的BSP包,提供了真正完整下载的仓库&下载池备份后,又嫌弃太大,不知如何使用与复用该宝贝.
为此有所感,想记录并渐进的分享一些心得,为了标题,如何吸引读者进来阅读该分享内容,思考了许久.具体的主题应该是,如何在中国境内,加快NXP MPUs 家族,使用Yocto Project的 Linux BSP的建制,其仓库下载与分析方式.
Yocto项目的构建主机基于OpenEmbedded(OE)项目,使用BitBake工具构建完整的Linux 镜像. 关于Yocto project的bitbake工具使用,与新增meta-layer, 修改kernel / uboot 等并不在该篇文章内着墨, 在NXP MPU族群中,各别MPU的开发环境建制与倚赖工具,可以在NXP官方各别的Yocto Project User's Guide内得知, 也可以同时在大大通的博文专区内,找到其他大神博主的分享.
该篇主要是介绍,如何在中国境内,利用国内的资源加快仓库下载过程中的速度,与如何分析.
为此有所感,想记录并渐进的分享一些心得,为了标题,如何吸引读者进来阅读该分享内容,思考了许久.具体的主题应该是,如何在中国境内,加快NXP MPUs 家族,使用Yocto Project的 Linux BSP的建制,其仓库下载与分析方式.
Yocto项目的构建主机基于OpenEmbedded(OE)项目,使用BitBake工具构建完整的Linux 镜像. 关于Yocto project的bitbake工具使用,与新增meta-layer, 修改kernel / uboot 等并不在该篇文章内着墨, 在NXP MPU族群中,各别MPU的开发环境建制与倚赖工具,可以在NXP官方各别的Yocto Project User's Guide内得知, 也可以同时在大大通的博文专区内,找到其他大神博主的分享.
该篇主要是介绍,如何在中国境内,利用国内的资源加快仓库下载过程中的速度,与如何分析.
- 起头难.
- 透过repo初始化,并同步欲下载的分支清单列表.
format: repo init -u 网站 -b 分支 -m <指定的清单列表> |
example: repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-zeus -m imx-5.4.47-2.2.0.xml |
|
example: repo init -u http://source.codeaurora.cn/external/imx/imx-manifest -b imx-linux-zeus -m imx-5.4.47-2.2.0.xml |
初始化时替换成 国内的镜像. 我的环境下,其下载速度基本上是 3MB/s 以上 |
- repo工具的自更新问题
export REPO_URL="https://mirrors.tuna.tsinghua.edu.cn/git/git-repo" |
- 同步, 清单文件透露的讯息
修改清单文件内的截取地址描述. 修改清单文件列表的 网址描述 , 替换成国内的镜像网址. http://source.codeaurora.cn -mirror-> https://source.codeaurora.org https://github.com.cnpmjs.org -mirror-> https://github.com |
修改完清单文件再同步,大大的缩短了时间. 如在我的环境下, 费时 2m23.386s
- 好不容易同步完相关的meta source文件后, 初始化并建立了对应MPU开发板的工作目录, 使用BitBake工具构建生成对应的镜像文件, 开始了不知道结束时间的等待.例如: bitbake , 第一次的建构,会先各关联套件的代码从托管网站上下载下来, default的位置摆放在 /downloads 目录下, 称之下载池(Download pool)内,bitbake工具,会基于bblayer的描述内容去对应的指定托管网站例如github或存放的网站下载点下载相关联的套件
若照先前的逻辑,修改对应套件bbalyer的描述脚本. 更换位置 --> 缺点.要针对每一个相依套件的bblayer描述脚本修改. 真心费时费力~
例如 fmt package ,对应的 bblayer描述脚本如下. 需将其URL修改成镜像地址 |
- 善用 gitconfig的'替代 insteadOf'功能描述:
.gitconfig ,git工具的设置文件. 摆放在对应账号home文件目录下. 该文件属性为text,可以用文字编辑器打开编修. |
语法. [url "]替换的地址字串"] insteadOf = 欲取代的目标地址字串 |
[url "http://mirrors.ustc.edu.cn/aosp/"] insteadOF = https://android.googlesource.com [url "https://github.com.cnpmjs.org/google/boringssl"] insteadOF = https://boringssl.googlesource.com/boringssl [url "http://source.codeaurora.cn"] insteadOF = https://source.codeaurora.org [url "http://source.codeaurora.cn"] insteadOF = git://source.codeaurora.org [url "https://github.com.cnpmjs.org/YoeDistro/meta-python2"] insteadOF = https://github.com.cnpmjs.org/openembedded/meta-python2 [url "https://github.com.cnpmjs.org/qemu/"] insteadOF = https://git.qemu.org/git/ [url "https://github.com.cnpmjs.org/lgirdk/poky"] insteadOF = https://git.yoctoproject.org/git/poky [url "https://github.com.cnpmjs.org/qt/"] insteadOf = git://code.qt.io/qt/ [url "https://github.com.cnpmjs.org/"] insteadOf = https://code.qt.io/ [url "https://github.com.cnpmjs.org/qt-creator"] insteadOF= git://code.qt.io/qt-creator [url "https://github.com.cnpmjs.org/"] insteadOF = git://github.com/ [url "https://github.com.cnpmjs.org/"] insteadOF = https://github.com/ [filter "lfs"] smudge = git-lfs smudge -- %f process = git-lfs filter-process required = true clean = git-lfs clean -- %f [url "https://mirrors.sustech.edu.cn/AOSP/"] insteadof = https://android.googlesource.com |
评论