第零章 环境搭建
Ubuntu20.04.6
VM Pro 17.5
C开发环境搭建(安装好RISC-V配套的gcc)
配置risc-v工具链
# 选择一个常用的路径直接下载预编译好的Risc-v工具链
cd /usr/local
sudo wget https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.08/riscv64-unknown-elf-gcc-10.1.0-2020.08.2-x86_64-linux-ubuntu14.tar.gz
# 解压缩
sudo tar xzf riscv64-unknown-elf-gcc-10.1.0-2020.08.2-x86_64-linux-ubuntu14.tar.gz
# 文件名太长,改短
sudo mv riscv64-unknown-elf-gcc-10.1.0-2020.08.2-x86_64-linux-ubuntu14 riscv64-unknown-elf-gcc
# 配置环境变量
echo 'export PATH="/usr/local/riscv64-unknown-elf-gcc/bin:$PATH"' >> ~/.bashrc
# 为了让更改立即生效 执行如下命令
source ~/.bashrc
# 检验是否配置成功 ...gcc version 10.1.0 (SiFive GCC 10.1.0-2020.08.2)
riscv64-unknown-elf-gcc -v
安装用于交叉编译的musl-gcc
# 继续在当前路径下操作
#<!-- 链接失效可以更换链接--注意版本为10.2.1就行-->
sudo wget -O riscv64-linux-musl-cross.tgz "https://cloud.tsinghua.edu.cn/f/fb3c598e7e214a828e6b/?dl=1"
# 解压缩
sudo tar xzf riscv64-linux-musl-cross.tgz
# 配置环境变量
echo 'export PATH="/usr/local/riscv64-linux-musl-cross/bin:$PATH"' >> ~/.bashrc
# 为了让更改立即生效 执行如下命令
source ~/.bashrc
# 检验是否成功 ..gcc version 10.2.1 20210227 (GCC)
riscv64-linux-musl-gcc -v
安装相关工具
# 项目使用cmake搭建,因此还需要安装cmake
sudo apt install cmake
QEMU安装(从源码手动编译安装 Qemu 模拟器)
# 如果是第一次启动虚拟机,需要执行
sudo apt update
sudo apt upgrade
# 安装编译所需的依赖包
sudo apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev \
gawk build-essential bison flex texinfo gperf libtool patchutils bc ninja-build \
zlib1g-dev libexpat-dev pkg-config libglib2.0-dev libpixman-1-dev git tmux python3
# 下载源码包
# 如果链接失效,可以使用官网链接下载并提醒助教更新云盘地址: https://download.qemu.org/qemu-7.0.0.tar.xz
wget -O qemu-7.0.0.tar.xz "https://cloud.tsinghua.edu.cn/f/8ba524dbede24ce79d06/?dl=1"
# 解压缩
tar xJf qemu-7.0.0.tar.xz
# 编译安装并配置 RISC-V 支持
cd qemu-7.0.0
# 确定配置
./configure --target-list=riscv64-softmmu,riscv64-linux-user
# 编译
make -j$(nproc)
# 将编译生成'/usr/local/qemu-7.0.0/build'加入环境变量
echo 'export PATH="/usr/local/qemu-7.0.0/build/:$PATH"' >> ~/.bashrc
echo 'export PATH="/usr/local/qemu-7.0.0/build/riscv64-softmmu:$PATH"' >> ~/.bashrc
echo 'export PATH="/usr/local/qemu-7.0.0/build/riscv64-linux-user:$PATH"' >> ~/.bashrc
# 为了让更改立即生效 执行如下命令
source ~/.bashrc
# 检验
qemu-system-riscv64 --version
qemu-riscv64 --version
拉取源代码
# 回到桌面
cd $HOME/Desktop
# 拉取 源码
git clone https://github.com/LearningOS/uCore-Tutorial-Code-2024S.git
# 进入源码目录
cd uCore-Tutorial-Code-2024S
# 切换到不需要处理用户代码的 ch1 分支
git checkout ch1
# 运行
make run LOG=debug
参考资料
uCore-Tutorial-Guide-2024S文档
rCore-Tutorial-Book-v3 3.6.0-alpha.1 文档