前言
本人虽然不是计科的学生,但是想做一做操作系统的实验,权当作学习操作系统的知识。
我校的操作系统实验是基于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
2$ git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
$ tar zxvf riscv-gnu-toolchain.tar.gz安装
1
2
3
4$ cd riscv-gnu-toolchain
$ sudo ./configure --prefix=/usr/local
$ sudo make
$ cd ..检测是否安装成功
1
2$ riscv64-unknown-elf-gcc --version
riscv64-unknown-elf-gcc (GCC) 10.2.0
QEMU模拟器
下载QEMU并解压
1
2$ wget https://download.qemu.org/qemu-5.1.0.tar.xz
$ tar xf qemu-5.1.0.tar.xz安装
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 ..检测是否安装成功
1
2$ qemu-system-riscv64 --version
QEMU emulator version 5.1.0
XV6源码
- 下载XV6源码
我是从学校实验中心的gitee上下载的,各凭渠道 - 运行
1
2$ cd xv6-labs-2020
$ sudo make qemu
当可以看到“init: starting sh”的字样表示xv6已经正常启动。
qemu退出方法:先按Ctrl+a
组合键,接着全部松开,再按下x
键
至此,XV6已经能够正常运行了。
结语
由于写这篇博文的时候,环境已经搭建好了,而且也没有什么记录,所以就直接照搬实验指导书了。本文仅当作记录。