Skip to content

Latest commit

 

History

History
54 lines (37 loc) · 2.87 KB

File metadata and controls

54 lines (37 loc) · 2.87 KB

Dockerイメージubuntu_1804_onlyenv

  • Ubuntu 18.04の環境を使用し、新しいRISC-Vツールを使用したDocker環境です
  • 本書で説明している実行コマンド列と大きく異なっている場所があります
  • LLVMリポジトリは、Docker外部にダウンロードして、内部の環境と共有します
  • 本書の環境をステップバイステップで追いかける方向けです

Dockerイメージは、以下に格納されています。

https://hub.docker.com/repository/docker/msyksphinz/support_llvm

msyksphinz/support_llvm/ubuntu_onlyenvが当該Dockerイメージとなります。

Dockerイメージの概要

  • Ubuntu 18.04 LTSを使用しています
  • ツールチェインはゲストマシンの/llvm_bookに展開されます
  • RISC-V GNU Toolchainは2021.03.06のものを自動的にダウンロードして展開しています
  • riscv-toolsは、オリジナルのリポジトリをダウンロードした後で、いくつか改変してコンパイルが通るように修正しています
  • Chipyard RTL実行環境は 1.3.0をダウンロードし、BOOMとRocketをあらかじめビルドしてあります
    • /llvm_book/chipyard/sims/verilatorに、Chipyardのビルド済みバイナリを格納しています
  • LLVM作業用リポジトリはゲストマシンの外部にダウンロードし、共有しています
    • これにより、LLVMリポジトリでの作業内容やビルドバイナリはホストマシンから確認することができます

実行手順

  1. 作業ディレクトリにおいて、以下のスクリプトをダウンロードします。
$ cd llvm_work  # ホスト作業環境
$ wget https://github.com/msyksphinz-self/support_ca_llvm_book/blob/main/docker/ubuntu_1804_onlyenv/work/make_env.sh
$ wget https://github.com/msyksphinz-self/support_ca_llvm_book/blob/main/docker/ubuntu_1804_onlyenv/work/run.sh
  1. 最初にDockerイメージを立ち上げる前に一度だけ、make_env.shを実行します。
$ chmod +x ./make_env.sh
$ ./make_env.sh    # .envが作られる
  1. run.shを実行します。これにより、Dockerイメージのダウンロードと(初回にのみ)LLVMリポジトリのダウンロードが行われ、Dockerコンテナの立ち上げとログインが行われます。
$ chmod +x ./run.sh
$ ./run.sh

llvm-projectディレクトリはホストマシンの同じ場所にダウンロードされ、ゲストマシンの/llvm-projectにマウントされます。これにより、ゲストマシンの/llvm-project/で行われた作業やビルドはホストマシンのllvm-projectから参照可能となります。