Featured image of post  Lab0 Tools

Lab0 Tools

实验所需要安装的环境😶

# 实验准备

只针对Windows系统

  1. 首先,需要安装WSL2(Windows Subsystem for Linux 2),使用Ubuntu,具体的教程可见微软官网
title:  WSL
link: https://docs.microsoft.com/zh-cn/windows/wsl/install
  1. 打开Ubuntu命令行,运行如下两条命令:

    $ sudo apt-get update && sudo apt-get upgrade
    $ sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu
    

    (运行命令前,建议将更新的源更换为国内镜像服务器,如阿里云等,否则可能会直接下载失败)

    文件可在 //wsl$ 下找到

  2. 运行命令

    git clone git://g.csail.mit.edu/xv6-labs-2021
    

    将实验所需要的文件克隆到本地

  3. xv6-labs-2021 目录下,使用命令make qemu 来启动xv6 系统, 若想来退出系统的shell,先Ctrl + A,随后按X即可 ,此系统实验所需要的文件在userkernel 文件夹中。

  4. 建议下载编辑器来进行实验,Ubuntu自带的VIM命令行下确实不太好用……,可以使用VS Code 来进行实验。

更新:如何使用 gdb 调试

首先你需要有两个终端, 针对这点, 我们使用 tmux, 这里简单介绍一下用法:

  • 输入 tmux 以进入
  • 输入 Ctrl + B 后输入 % 可竖直拆分窗口
  • 输入 Ctrl + B 后输入 " 可水平拆分
  • 输入 Ctrl + B 后输入 o 可在拆分的窗口中切换

然后, 我们在一个窗口内输入 make qemu-gdb CPUS=1, 可以发现输出了很多信息,其中有一条是 tcp :25000

最后, 我们在另外一个窗口中输入 gdb-multiarch , 然后输入 set architecture riscv:rv64 target remote :25000即可连接上qemu进行调试

当然我们也可以在 ~/.gdbinit 中加上 add-auto-load-safe-path ~/xv6-labs-2021/.gdbinit

随后,只需要输入 gdb-multiarch 就可以进入调试

注意,这里的 gdb 不能输入 r ,应该输入 c 以开始运行。

使用 Hugo 构建