1. 程式人生 > 實用技巧 >實驗環境搭建

實驗環境搭建

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