## 现象
Yocto中在fetch一些软件包的时候经常出现一天也下载不下来,这种情况极大浪费了我们的时间。
例如,下面有三个Package下载了一天也没有完成:
![](https://box.kancloud.cn/2016-04-08_5707769fde7f5.jpg)
## 解决方法
### 确定下载的地址,手动下载
先确定软件包的下载地址,例如对于opencv与opencv-samples软件包:
![](https://box.kancloud.cn/2016-04-08_5707769feeb39.jpg)
可以看到他们的git地址都是一样的,因此,我们可以手动来git clone:
![](https://box.kancloud.cn/2016-04-08_570776a013db5.jpg)
可以看到我们只使用了几十分钟而已。clone下来以后,我们就可以让软件包使用我们本地的这个repo了,而不需要忙忙的去远程repo去clone。
让package克隆时使用本地的git
### 找到软件包对应的bb文件
我们可以使用find命令来查找
![](https://box.kancloud.cn/2016-04-08_570776a028f22.jpg)
### 更改bb文件
![](https://box.kancloud.cn/2016-04-08_570776a03978b.jpg)
注意里面添加了一个protocol指定。
### 再一次获取
bitbake opencv -c fetch
结果如下:
![](https://box.kancloud.cn/2016-04-08_570776a05a511.jpg)
提示找不到branch,于是我们到我们本地的repo中将此branch切出来,也可以将其制作成bare repo:
![](https://box.kancloud.cn/2016-04-08_570776a076740.jpg)
然后再一次进行fetch就可以了:
![](https://box.kancloud.cn/2016-04-08_570776a08c858.jpg)
对于其他软件也是类似的。
- 前言
- (1): Yocto 编译后文件放在了哪里 输出文件位置
- (2): Yocto Linux内核编译目录在哪?
- (3): Yocto 如何重新编译Linux内核与dtb,并放到deploy目录?
- (4): Yocto 如何确定(找到)一个包的名字
- (5): Yocto如何更改source code的下载与git clone地址
- (6): Yocto中如何共享已经下载的文件
- (7): Yocto Bitbake的clean与cleanall以及cleansstate的区别
- (8): Yocto 如何加快软件包的下载 如何只下载所有需要的软件包而不编译
- (9): Yocto 软件包的下载地址在哪
- (10): Yocto hellworld 添加一个软件包
- (11): Yocto如何往最终的rootfs中添加软件
- (12): 使用Yocto帮组我们寻找难找的固件与固件放置路径
- (13): Yocto 查看软件包的依赖关系
- (14): Yocto中编译链的配置变更(tuning)
- (15): Yocto中的包管理器
- (16): Yocto 制作SDK分发Toolchain 脱离Yocto环境开发
- (17): Yocto License问题:restricted license not whitelisted in LICENSE_FLAGS_WHITELIST
- (18): Yocto SDK Toolchian中静态库的添加
- (19): Yocto SDK Toolchian的使用