该页面记录配置xv6-riscv的方法。
Ubuntu 2404配置xv6编译环境
1 安装软件
1.1 安装编译qemu依赖的基础软件
1
2
3
4
5
6
7
|
sudo apt-get install -y git build-essential ninja-build pkg-config \
libglib2.0-dev libpixman-1-dev libfdt-dev zlib1g-dev \
libaio-dev libbz2-dev libcap-ng-dev libcurl4-gnutls-dev \
libgtk-3-dev libncurses5-dev libnfs-dev libsdl2-dev \
libseccomp-dev libspice-server-dev libusb-1.0-0-dev \
libusbredirparser-dev libvdeplug-dev python3 python3-pip \
flex bison
|
1.2 源码编译qemu 8.1.5
1
2
3
4
5
6
7
|
# 安装依赖软件包
mkdir build
cd build
../configure --prefix=/usr/local/qemu-8.1.5 --target-list=riscv64-softmmu \
--enable-virtfs \
--enable-tools --enable-debug
|
1.3 创建qemu链接
1
|
ln -sf /opt/qemu-8.1.5/build/qemu-system-riscv64 /usr/local/bin/qemu-system-riscv64
|
1
2
3
4
5
6
7
8
9
10
11
12
|
# 下载riscv64 toolchanin
# riscv64-elf-ubuntu-24.04-gcc-nightly-2025.07.16-nightly.tar.xz
https://github.com/riscv-collab/riscv-gnu-toolchain/releases
# 解压riscv-gnu-toolchain
tar -Jxvf riscv64-elf-ubuntu-24.04-gcc-nightly-2025.07.16-nightly.tar.xz
# 配置环境变量
# 在 ~/.bashrc中添加以下内容:
export PATH="$PATH:/opt/riscv/bin"
source ~/.bashrc
|
3 编译xv6-riscv
3.1 下载xv6-riscv
1
|
git clone https://github.com/mit-pdos/xv6-riscv.git
|
3.2 编译xv6-riscv
1
2
3
|
cd xv6-riscv-path
make clean
make qemu
|
3.3 调试xv6
1
2
3
|
cd xv6-riscv-path
make clean
make qemu-gdb
|
然后再另外一个窗口:
1
2
|
cd xv6-riscv-path
riscv64-unknown-elf-gdb -q kernel/kernel
|
若在gdb client加载过程提示:
warning: File “xv6-path/.gdbinit” auto-loading has been declined by your auto-load safe-path’ set to “$debugdir:$datadir/auto-load”.
则编辑文件~/.config/gdb/gdbinit,按照提示添加:add-auto-load-safe-path xxx即可。
例如我的环境,在文件/home/alvin/.config/gdb/gdbinit中添加内容如下:add-auto-load-safe-path /opt/xv6-riscv/.gdbinit即可。