RISC-V Spike のインストール

投稿日:2025年03月27日      最終更新日:2025年04月04日

1. はじめに

これから、RISCV の自作CPUに挑戦しようと考えています。そのために、まずは検証環境を整えます。今回は、RISC-V toolchain、Spike と RISC-V Proxy Kernel (PK) をインストールします。

2. 作業環境

項目 内容

OS

Windows 11 (WSL2)

WSL

WSL2, Ubuntu 24.04

CPU

Ryzen 5 5600X (x86_64)

3. 参考ページ

こちらのページを参考にしました。しっかりと手順が書かれているので、とても助かりました。

RISC-Vの開発環境をLinux上に構築する

https://zenn.dev/ohno418/articles/5f6d5e01dc4981

4. 準備

以下のコマンドを実行して、ツールのインストール先を作成します。

cd <任意のディレクトリ>
mkdir riscv
export RISCV=/path/to/riscv
export PATH=$RISCV/bin:$PATH

export RISCV=/path/to/riscv export PATH=$RISCV/bin:$PATH は、 .bashrc に追加しておくと便利です。さもなくば、ターミナルを開くたびに実行する必要があります。

5. riscv-gnu-toolchain

まずは、riscv-gnu-toolchain をインストールします。これは、RISC-V用のクロスコンパイラです。

READMEに従ってインストールします。

まず、必要なパッケージをインストールします。

$ sudo apt-get install autoconf automake autotools-dev curl python3 python3-pip python3-tomli libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev ninja-build git cmake libglib2.0-dev libslirp-dev

次に、ツールをインストールします。

$ cd <任意のディレクトリ>
$ git clone https://github.com/riscv/riscv-gnu-toolchain
$ cd riscv-gnu-toolchain/
$ ./configure --prefix=$RISCV
$ make -j$(nproc)

make linux ではなく、 make であることに注意してください。riscv-tests のビルドに影響します。

特にエラーが出力されなければ、おそらく無事に完了していると思います。(警告は大量にでた)

下記コマンドで、インストールされたツール群を確認してみます。

$ ls $RISCV/bin

6. Spike

次に、Spikeをインストールします。

こちらも、READMEに従ってインストールします。

$ sudo apt install device-tree-compiler libboost-regex-dev libboost-system-dev
$ cd <任意のディレクトリ>
$ git clone  https://github.com/riscv-software-src/riscv-isa-sim.git
$ cd riscv-isa-sim/
$ mkdir build
$ cd build
$ ../configure --prefix=$RISCV
$ make
$ make install

注意: make は -j オプションを使用すると、エラーが出ました。おそらく、依存関係がうまく解決できていないのだと思われます。

インストールが完了したら、 ls $RISCV/bin を実行してみてください。 新たに spike がインストールされていることが確認できます。

7. RISC-V Proxy Kernel (PK)

次に、RISC-V Proxy Kernel (PK) をインストールします。

下記のコマンドを実行してください。

$ cd <任意のディレクトリ>
$ git clone https://github.com/riscv-software-src/riscv-pk
$ cd riscv-pk
$ mkdir build
$ cd build
$ ../configure --prefix=$RISCV --host=riscv64-unknown-elf
$ make
$ make install

完了後、以下のディレクトリに、PK がインストールされます。

$ ls $RISCV/riscv64-unknown-elf/bin/
ar  as  bbl  dummy_payload  ld  ld.bfd  nm  objcopy  objdump  pk  ranlib  readelf  strip

8. テスト

参考ページを参照してください。。。ただしくインストールされていれば、参考ページに記載の結果と同じ結果が得られるはずです。

9. おわりに

さて、今回は、RISC-V toolchain、Spike と RISC-V Proxy Kernel (PK) をインストールしました。といっても、ほぼ参考ページとREADMEに従って進めただけで、エラーなく完了したため、難しいことはなかったです。

次回は、この環境に riscv-testsをインストールして、テストを実行してみたいと思います。

Comment Box is loading comments...