第505回の
ツールチェインとDebianのRISC-V対応状況
RISC-V対応のLinuxシステムを作るためには,
2020年1月時点で,
- binutils:2.
28以上 - GCC:7.
0以上 - glibc:2.
27以上 - Linux:4.
19以上 - QEMU:2.
12以上 - dpkg:1.
19. 0.5以上 - U-Boot:2018.
11以上
そしてこれらはすべて,
もちろん登場したばかりのアーキテクチャーであるため,
Debianでは公式でサポートしているCPUアーキテクチャー
RISC-V向けのアーキテクチャーとしては
残念ながらUbuntuはRISC-Vをサポートしていません。もし今後サポートすることになるとしても,
ただしUbuntu上でRISC-Vのバイナリをビルドしたり,
構築環境の準備
Ubuntu上でRISC-V環境を構築するためにはUbuntu 19.
- ※1
- いわゆる
「BIOS」 のようなもので, RISC-Vでは 「Supervisor Binary Interface (SBI)」と呼ぶようです。
今回はより新しい環境を求めて,
20.
- ※2
- 仮想環境と言えば本連載で何回か紹介しているLXDもありますが,
今回の用途には不向きです。ルートファイルシステムを作成する際に, qemu-user-staticでバイナリ単位のエミュレーションを行います。これはbinfmtによってどのアーキテクチャーのバイナリかを判断しています。しかしながらbinfmtはLinuxの名前空間に対応していないためルートファイルシステムをうまく作れません。ちなみに同様の理由でLXDでは, ホストと異なるアーキテクチャーのコンテナの起動を非サポートにしたようです。もしamd64アーキテクチャーでarmhfコンテナを動かしたいなら, LXDではなくLXCを使う必要があるでしょう。さらにQEMU用のイメージファイルを作成する際にループデバイスを使うのですが, これも非特権コンテナだといろいろ設定が必要になります。素直に仮想マシンを使うことをおすすめします。
まずはmultipassをインストールします。
$ sudo snap install multipass --classic
ちなみに第590回で紹介したあと,
次に20.
$ multipass launch -n riscv -d 40G -m 4G daily:20.04
ルートファイルシステムを作る都合上,
しばらく時間が必要ですが,
$ multipass shell riscv
ここから先の手順はすべて,