在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1248|回复: 0

[原创] riscv-gnu-toolchain下载慢的解决方法

[复制链接]
发表于 2022-5-7 15:16:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 arthur_wo 于 2022-5-7 15:18 编辑

很多朋友在下载riscv-gnu-toolchain时都存在下载慢的问题,我实践过的很快,废话不多说,如下:





  1. git clone https://gitee.com/mirrors/riscv-gnu-toolchain.git
  2. cd riscv-gnu-toolchain


复制代码

接下来这步是关键,后面所有操作的原理都和下面这步一样。


往常我们是执行:git submoudle update --init --recursive,这样很慢,不这样做,而是打开目录下的.gitmodule,为.gitmoudle里的每个submodule开一个终端,有几个开几个,但要保证目录都一样,比如这次的.gitmodule在riscv-gnu-toolchain下面,那么开的几个终端的目录都必须是riscv-gnu-toolchain,然后执行下面命令,以riscv-binutils为例:





  1. git clone -b riscv-binutils-2.36.1  ./riscv-binutils


复制代码


参数说明:

1.  -b 后面是分支,branch的缩写,.gitmodule里相应的submodule如果有branch这个参数,就写上,而且必须是.gitmodule里branch的版本序号,没有就不写了;


2.  https:xxxxxxx,这个链接是把github.com/submodule_name改称gitee.com/mirrors,你要不确定就直接写https://gitee.com/mirrors/submodule_name.git,然后回车,没有就去gitee的网站搜一搜,因为github和gitee会存在名字不一样的问题,但这种情况基本很少。


3.  最后的./riscv-binutils:这个是本地目录名,存放下载内容的,要确保跟.gitmodule里的path这个参数保持一致。


OK,接下来就是照猫画虎,riscv-gnu-toolchain下面的.gitmodule里的其他几个submodule都按照这条命令在独自的终端里运行,会很快。



接下来就是简单但繁琐的一步,就是你怎么确保你这样下载的全不全,会不会漏掉一两个submodule,按照下面的步骤:

1. riscv-gnu-toolchain是根目录,就一个.gitmodule,你已经下载完了,或者有的完了,有的没完,打开的终端口别关;

2. 比如说riscv-binutils这个跑完了,你在这个终端下执行:





  1. cd riscv-bintils
  2. ls .git*


复制代码


看一下有没有.gitmodule这个文件存在,如果没有,那说明没有子模块,如果有这个文件,那说明这个submodule下存在自己的submodule,方法和上面的一样,打开.gitmodule,有几个submodule,开几个终端,但保证目录都是riscv-bintils,然后根据.gitmodule里的内容,结合上面的方法分开独自下载。

据我的经验,就qemu的submodule多,其他个别有,这一步就简单重复工作。


最后你觉得你都下载完了,那么执行一下:






  1. git submodule update --init --recursive


复制代码
      

如果都下载完了,这条命令会很快执行完,会把你已经下载好的submodule的git信息检索一边,如果有漏掉的,会自动下载,你要是觉得慢,可以ctrl+c停止这条命令,按照上面的方法开个终端独自下载。

最终你执行这条命令,就跟回车的效果一样,没有任何信息,那几句说明下载成功了。


后续的更新,只需要在根目录riscv-gnu-toolchain下面,执行下面这条命令就行:





  1. git submodule update --remote


复制代码














您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-7 18:05 , Processed in 0.015487 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表