MIT6-S081之环境配置

前言

本人虽然不是计科的学生,但是想做一做操作系统的实验,权当作学习操作系统的知识。

我校的操作系统实验是基于MIT6.S081实验,在XV6上进行教学:

XV6是由麻省理工学院(MIT)开发的一个教学目的的操作系统,它是在x86处理器上用ANSI标准C重新实现的Unix第六版(即v6),课程编号为6.828。2019年被移植到RISC-V之上,并设置了6.S081。
XV6的主要特征:
1) 开源,精简,代码仅两万行左右;
2) 功能完善,可全面理解操作系统的原理及实现;
3) 基于RISC-V、X86等架构,有利于深入理解体系结构;
4) 类Unix系统,可延伸学习其他常见操作系统,例如Linux、MacOS等。

本课程将从开源操作系统 xv6-labs-2020 的实验课程中选取4个实验,根据我们学校的操作系统课程要求进行修改, 请大家从以下网站下载代码,在这套代码上完成实验。

环境配置

操作系统

Ubuntu20.04

工具

以下内容照搬学校实验指导书:

RISC-V工具链

  1. 下载安装包并解压

    1
    2
    $ git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
    $ tar zxvf riscv-gnu-toolchain.tar.gz
  2. 安装

    1
    2
    3
    4
    $ cd riscv-gnu-toolchain
    $ sudo ./configure --prefix=/usr/local
    $ sudo make
    $ cd ..
  3. 检测是否安装成功

    1
    2
    $ riscv64-unknown-elf-gcc --version
    riscv64-unknown-elf-gcc (GCC) 10.2.0

QEMU模拟器

  1. 下载QEMU并解压

    1
    2
    $ wget https://download.qemu.org/qemu-5.1.0.tar.xz
    $ tar xf qemu-5.1.0.tar.xz
  2. 安装

    1
    2
    3
    4
    5
    $ cd qemu-5.1.0
    $ sudo ./configure --disable-kvm --disable-werror --prefix=/usr/local --target-list="riscv64-softmmu"
    $ sudo make
    $ sudo make install
    $ cd ..
  3. 检测是否安装成功

    1
    2
    $ qemu-system-riscv64 --version
    QEMU emulator version 5.1.0

XV6源码

  1. 下载XV6源码
    我是从学校实验中心的gitee上下载的,各凭渠道
  2. 运行
    1
    2
    $ cd xv6-labs-2020
    $ sudo make qemu

当可以看到“init: starting sh”的字样表示xv6已经正常启动。

qemu退出方法:先按Ctrl+a组合键,接着全部松开,再按下x

至此,XV6已经能够正常运行了。

结语

由于写这篇博文的时候,环境已经搭建好了,而且也没有什么记录,所以就直接照搬实验指导书了。本文仅当作记录。