QEMU环境搭建
step1:安装依赖库
sudo apt-get install gcc libc6-dev pkg-config bridge-utils uml-utilities zlib1g-dev libglib2.0-dev autoconf automake libtool libsdl1.2-dev
step2:安装QEMU
git clone https://git.qemu.org/git/qemu.git
cd qemu
./configure
./configure
这步缺少ninja、pixman、bison、flex都可能会报错,可以根据报错安装相应的东西,也可以在这一步之前先把以上安装好
- 安装ninja
sudo apt install ninja-build
- 安装pixman
sudo apt install pixman-1-dev
- 安装flex
sudo apt install flex
- 安装bison
sudo apt install bison
step3
make
sudo make install
交叉编译工具链
step1:从国内镜像源安装相关的(以下不需要的可以不装)
git clone https://gitee.com/mirrors/riscv-gnu-toolchain
cd riscv-gnu-toolchain
git clone https://gitee.com/mirrors/riscv-dejagnu
git clone -b riscv-gcc-10.2.0 https://gitee.com/mirrors/riscv-gcc
git clone -b riscv-glibc-2.29 https://gitee.com/mirrors/riscv-glibc
git clone https://gitee.com/mirrors/riscv-newlib
git clone -b riscv-binutils-2.35 https://gitee.com/mirrors/riscv-binutils-gdb riscv-binutils
git clone -b fsf-gdb-10.1-with-sim https://gitee.com/mirrors/riscv-binutils-gdb riscv-gdb
step2
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
step3
sudo apt-get install libnewlib-dev
step4:进入bashrc文件添加环境变量
vim ~/.bashrc
在该文件开头添加以下路径(根据自己的路径进行修改)
export RISCV="/home/riscv-gnu-toolchain"
export PATH=$PATH:/home/bin
step5
source ~/.bashrc
step6
su
如果报错执行:sudo passwd root
再执行su
step7
mkdir build
cd build/
../configure --prefix=$RISCV
step8:这步执行会很慢
sudo make -j4
如果执行这步的时候报错先执行chown -R root /home/wing/riscv-gnu-toolchain
(这个路径也要根据自己的路径进行修改)
如果报错中有RPC failed执行以下几步:
apt-get install gnutls-bin
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000
step9
sudo make install
step10
执行完之后可以查看版本检查是否安装成功,如检查gcc交叉编译是否安装成功riscv64-unknown-elf-gcc --version