FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://sites.google.com/site/fpgadevelopindex/

RISC-Vの環境をDockerfileで構築する

現在はRISC-Vの環境をVagrantで構築しているが、それをDockerfileを記述してみる。 Dockerを使うことで、vagrantを利用している場合はOSを別々に起動するところが、同じOSを利用することでメモリ使用量を抑えることができるかもしれない。

github.com

...

RUN git clone https://github.com/riscv/riscv-tools.git --recursive /riscv/
RUN sed -i 's/JOBS=16/JOBS=1/' /riscv/build.common
ENV TOP /riscv/
ENV RISCV /riscv/build/
ENV PATH /riscv/build/bin:${PATH}

RUN cd /riscv/ && ./build.sh

これで、自動的にDockerの環境を構築できる。

$ git clone https://github.com/msyksphinz/docker-env.git
$ docker build -t msyksphinz/riscv:latest .
...

$ docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
msyksphinz/riscv    latest              f7c317bd1520        45 minutes ago      8.689 GB
<none>              <none>              131a318a289c        6 hours ago         188.4 MB
ubuntu              latest              d2a0ecffe6fa        30 hours ago        188.4 MB

$ docker run -it msyksphinz/riscv:latest /bin/bash
root@31a01b4000b4:/# riscv64-unknown-elf-gcc
riscv64-unknown-elf-gcc: fatal error: no input files
compilation terminated.

一応、構築することができた。