利用码云镜像快速拉取riscv-gnu-toolchain工具链

riscv-gnu-toolchain是riscv的gcc交叉编译工具链
github地址为:https://github.com/riscv/riscv-gnu-toolchain/tree/master

正常拉取的步骤为:

git clone  [email protected]:riscv/riscv-gnu-toolchain.git
cd riscv-gnu-toolchain
git submodule update --init --recursive

但由于外网原因,往往会卡在拉取子模块的阶段(有时有梯子也挺慢的)。
这些子模块包括:

  • riscv-qemu
  • riscv-newlib
  • riscv-binutils
  • riscv-gdb
  • riscv-dejagnu
  • riscv-glibc
  • riscv-gcc

为了解决这个问题,可以拉取码云上的riscv-gnu-toolchain镜像。
码云地址为:https://gitee.com/mirrors/riscv-gnu-toolchain

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

然而码云上的子模块的地址仍然为github的地址,所以需要分别拉取其子模块在码云上的镜像。(虽然挺麻烦的,但总的来说还是挺快的)

  • riscv-newlib:https://gitee.com/mirrors/riscv-newlib
  • riscv-binutils:https://gitee.com/mirrors/riscv-binutils-gdb
  • riscv-gdb:https://gitee.com/mirrors/riscv-binutils-gdb(riscv-gdb和riscv-binutils为同一个仓库下的不同分支)
  • riscv-dejagnu:https://gitee.com/mirrors/riscv-dejagnu
  • riscv-glibc:https://gitee.com/mirrors/riscv-glibc
  • riscv-gcc:https://gitee.com/mirrors/riscv-gcc

需要注意的是,riscv-gnu-toolchain工具链下子模块拉取的不都是其主分支,我们可以通过其最近的一次commit来判断是那个分支,下图红框处:
利用码云镜像快速拉取riscv-gnu-toolchain工具链_第1张图片
这里我直接列出其子模块对应的分支:

  • riscv-newlib:riscv-newlib-3.2.0
  • riscv-binutils:riscv-binutils-2.34
  • riscv-gdb:fsf-gdb-9.1-with-sim
  • riscv-dejagnu:master
  • riscv-glibc:riscv-glibc-2.29
  • riscv-gcc:riscv-gcc-9.2.0

集成后的命令为:

git clone  https://gitee.com/mirrors/riscv-gnu-toolchain
cd riscv-gnu-toolchain
#把之前的空文件夹删了
rm -rf riscv-*
#再分别拉取分支
git clone -b riscv-newlib-3.2.0 [email protected]:mirrors/riscv-newlib.git
git clone -b riscv-glibc-2.29 [email protected]:mirrors/riscv-glibc.git
git clone -b riscv-gcc-9.2.0 [email protected]:mirrors/riscv-gcc.git
git clone [email protected]:mirrors/riscv-dejagnu.git

#riscv-binutils与riscv-gdb为同一个仓库的不同分支
git clone -b riscv-binutils-2.34 [email protected]:mirrors/riscv-binutils-gdb.git  riscv-binutils
git clone -b fsf-gdb-9.1-with-sim [email protected]:mirrors/riscv-binutils-gdb.git riscv-gdb

而对于riscv-v拓展的版本,即riscv-gnu-toolchain rvv-0.8子模块的分支对应如下:

  • riscv-newlib:upstream
  • riscv-binutils:rvv-0.8.x
  • riscv-gdb:fsf-gdb-8.3-with-sim
  • riscv-dejagnu:master
  • riscv-glibc:riscv-glibc-2.29
  • riscv-gcc:riscv-gcc-9.2.0-rvv

集成后的命令为

git clone  https://gitee.com/mirrors/riscv-gnu-toolchain
cd riscv-gnu-toolchain
#把之前的空文件夹删了
rm -rf riscv-*
#再分别拉取分支
git clone -b upstream [email protected]:mirrors/riscv-newlib.git
git clone -b riscv-glibc-2.29 [email protected]:mirrors/riscv-glibc.git
git clone -b riscv-gcc-9.2.0-rvv [email protected]:mirrors/riscv-gcc.git
git clone [email protected]:mirrors/riscv-dejagnu.git

#riscv-binutils与riscv-gdb为同一个仓库的不同分支
git clone -b rvv-0.8.x [email protected]:mirrors/riscv-binutils-gdb.git
  riscv-binutils

git clone -b fsf-gdb-8.3-with-sim [email protected]:mirrors/riscv-binutils-gdb.git riscv-gdb

你可能感兴趣的:(RISCV)