实验环境搭建

MIT OSEngeering 记录
记录一下下自己撸MIT公开课

使用的linux发行版为ubuntu

环境搭建

本实验环境是在win下搭建,使用的是ubuntu虚拟机

  • RISC-V工具链: 包括一系列交叉编译的工具,其实就是作用在risc下的编译器,用于把源码编译成机器码,如gcc,binutils,glibc等
  • QEMU模拟器: 用于在我们机器上(X86)模拟RISC-V架构的CPU
  • xv6源码: xv6操作系统源码 基于ISC-V架构的CPU

一、RISC-V toolchain

risc-v工具链安装是坑最多的一步,如果按照官网教程来安装,大概率会因为下载过慢而失败,即使我把命令行翻了墙效果也并不好。教程中的安装命令是brew install riscv-tools,但我发现riscv-tools由几个部分组成,我们其实只需要riscv-gnu-toolchain,源码下载方式如下:

git clone --recursive https://github.com/riscv/riscv-gnu-toolchain

riscv-gnu-toolchain源码有3个G大小,直接clone耗时太久。所以我将源码上传到了baidu网盘,提取码ui4j,供大家直接下载。

下载后在源码根目录进行编译,具体参考官方文档。编译大约需要30min:

./configure --prefix=/usr/local/opt/riscv-gnu-toolchain    #配置产物路径
make                                                       #编译

之后进行环境变量的添加,注意,这种添加环境变量的方式是一次性的,也就是说如果关闭了bash,该环境变量又会消失,所以每次需要用到该工具的时候在bash里输入该命令就好:

export PATH="$PATH:/usr/local/opt/riscv-gnu-toolchain/bin"       

export命令可以查看path

此时在命令行输入riscv64-unknown-elf-gcc -v,如果能显示版本信息则代表安装成功。

在安装该工具链的期间会少很多文件,只要按照要求一步一步使用 sudo aptitude install xxx补上就好。

到这里可以试一下该编译工具能否正常工作,如:

riscv64-unknown-elf-gcc test.c -o test

二、QEMU

执行指令

sudo aptitude install qemu

此外,若直接对xv6进行编译,会提示 qemu-system-riscv64没有该指令,所以还得安装另一个文件:

sudo aptitude install qemu-system-misc

三、xv6

从github下载xv6源码

git clone git://github.com/mit-pdos/xv6-riscv-fall19.git

在项目目录下编译,如果能进入xv6的shell则表示实验环境已搭建成功,进入后可输入命令(如 ls)进行测试。

make
make qemu
posted @ 2020-12-19 18:50  lsxkugou  阅读(248)  评论(0编辑  收藏  举报