FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

FreeBSD 11.0でのRISC-V環境生成試行 (4. RISC-V QEMUのビルド)

http://riscv.wpengine.com/wp-content/uploads/2015/01/riscv-logo.png https://www.freebsd.org/logo/logo-full-thumb.png

(画像はriscv.org, freebsd.orgより拝借)

RISC-V向けQEMUのビルドでハマったのでメモしておく。

基本的には以下のページを参照してビルドすれば良いのだが、いくつかハマる点がある。パッケージのインストールが必要なのと、環境変数の設定だ。

riscv - FreeBSD Wiki

git clone https://github.com/riscv/riscv-qemu
cd riscv-qemu
git submodule update --init pixman
./configure --target-list=riscv64-softmmu --prefix=$PREFIX

上記のページに書いてあるriscv-softmmuは使用できなかった。riscv64-softmmuが正しいと思われる。

また、pkg-configのインストールが必要となる。

pkg-config

curl https://pkg-config.freedesktop.org/releases/pkg-config-0.29.tar.gz -o pkg-config-0.29.tar.gz
tar xvfz pkg-config-0.29.tar.gz
cd pkg-config-0.29
./configure --with-internal-glib && sudo make install

環境変数を設定しないと、pkg-configが正しく動作しない。また、gettextパッケージも別途必要となる。

sudo pkg install -y gettext
setenv PKG_CONFIG_PATH /usr/local/libdata/pkgconfig/
./configure --target-list=riscv64-softmmu --prefix=$PREFIX
gmake install
~/riscv/bin/qemu-system-riscv64 -m 2048M -kernel ~/riscv-pk/build/bbl -nographic
TEST PASS

TEST PASSって出たけど、これOKなんかいな?