环境搭建
ubuntu
新建一个文件setup.sh,内容如下
#获取工具链
git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
#安装必要依赖
sudo apt-get update
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-devsudo apt-get install pkg-config
sudo apt-get install libpixman-1-dev
sudo apt-get install libglib2.0-dev libgthread2.0-dev
sudo apt-get install git
apt install gcc-riscv64-unknown-elf#编译工具链
cd riscv-gnu-toolchain
./configure --prefix=/usr/local
sudo make -j$(nproc)
cd ..
#下载并解压qemu
wget https://download.qemu.org/qemu-4.1.0.tar.xz
tar xf qemu-4.1.0.tar.xz
#编译qemu
cd qemu-4.1.0
./configure --disable-kvm --disable-werror --prefix=/usr/local --target-list="riscv64-softmmu"
make -j$(nproc)
sudo make install
cd ..#下载xv6实验代码
git clone git://g.csail.mit.edu/xv6-labs-2021
在终端输入bash setup.sh
等待完成基本就可以了,如果哪里报错缺少什么模块就自己去下就好了,这份代码集成了许多我参考别人时遇到的软件包不可用或找不到的问题,大概率是没问题的,有问题可以评论区提出,到时候看到再在文章里补充
检验是否搭建完毕
$ riscv64-unknown-elf-gcc --version
> riscv64-unknown-elf-gcc (GCC) 10.1.0
$ qemu-system-riscv64 --version
> QEMU emulator version 4.1.0
输入$ 后面的代码,如果出现下一行>后面显示的内容就说明成功了(可能不止这么短,但出现这些功能包和版本号就是成功了)
使用VScode进行SSH连接
首先在ubuntu中运行
sudo apt-get update
sudo apt-get install openssh-server
在Ubuntu中启动ssh服务,下面的代码都可以试试
sudo service ssh start
sudo ufw allow ssh
启动xv6
进入到xv6的文件夹中,运行
make qemu
如果出现下面的提示,就说明搭建成功了
xv6 kernel is bootingvirtio disk init 0
init: starting sh
参考文献
2021 MIT6.S081 Xv6 实验环境配置 - 知乎 (zhihu.com)
从零开始使用Vscode调试XV6 - 知乎 (zhihu.com)
OS实验xv6 6.S081 开坑_xv6.s081 mmap github-CSDN博客
Deadpool带你做XV6实验-Lab1: Utilities_哔哩哔哩_bilibili