實驗環境搭建
阿新 • • 發佈:2020-12-19
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