freedom-u-sdk
にはSiFiveのUnleashedなどのLinux環境が入っているのだが、いつの間にかアップデートされていた。
どうやらGoogleのリポジトリ管理ツールrepo
を使ってビルドような仕組みに変わっている。
Linuxのビルドにはbitbake
を使用するので、Ubuntuの場合には以下のようにパッケージをインストールする必要がある。
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev xterm
repo
を使えるように設定する。
$ mkdir ~/bin $ PATH=~/bin:$PATH $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo
次にmeta-sifive
をダウンロードしてビルド環境を整える。諸々Gitリポジトリをダウンロードして作業環境を構築するためのものだ。
$ mkdir riscv-sifive && cd riscv-sifive $ repo init -u git://github.com/sifive/meta-sifive -b 2020.03 -m tools/manifests/sifive.xml $ repo sync
以下のリポジトリがダウンロードされたようだ。
$ ls -1
meta-openembedded meta-riscv meta-sifive openembedded-core
次にセットアップを行う。以下のように入力するだけ。
. ./meta-sifive/setup.sh
ビルドには以下のコマンドを実行する。bitbake
を実行するようだ。
$ PARALLEL_MAKE="-j 4" BB_NUMBER_THREADS=4 MACHINE=freedom-u540 bitbake demo-coreip-cli
ERROR: OE-core's config sanity checker detected a potential misconfiguration. Either fix the cause of this error or at your own risk disable the checker (see sanity.conf). Following is the list of potential problems / advisories: OpenEmbedded doesn't work under WSL at this time, sorry
しまった。WSLはサポートされていないのか。どうしようか...