目的
前回のブログではYoctoのmeta-riscvとmeta-tensorflow-liteをつかって、Sipeed Lichee RV
DockでOSイメージのビルドとTensorFlow-Liteの動作確認を行った。
ただし、meta-riscvにLichee RV
Dock向けの対応(DTSなど)がないためUSBは使えない。
今回は、meta-riscvをforkしてU-Bootやカーネルなどを追加してLichee RV
Dock向けBSPを作成して、USBが動作するところまで確認する。
参照
もともと、meta-riscvにはnezha allwinner d1の対応が含まれている。
Yocto Project Summit 2022.05で詳細が発表されていた模様。
これをもとにlinux-sunxiの情報と、 Archlinux Image
Builderの情報をもとにBSPを作成してみる。
レシピ(BSP)の作成
meta-riscvをforkして作成。
ブランチは「kirkstone_licheerv」。
コミットはこちら。
おおきくわけて
- machine configuration
- boot0
- opensbi
- u-boot
- linux kernel
- wis
のレシピを変更・追加している。
machine configuration
machine/nezha-allwinner-d1.conf を参考にLichee RV 向けに変更している。
boot0
nezha-allwinner-d1向けのレシピに対して修正。
COMPATIBLE_MACHINEに「licheerv」を追加している。
OpenSBI
OpenSBIもnezha-allwinner-d1と同様のであるため、レシピにlicheerv向けの追加を行っているのみ。
U-Boot
こちらはlicheerv向けに作成。
U-Bootのコードはsmaeul/u-bootを利用(ブランチは「d1-wip」)。
他、uEnvやtoc.cfgはnezha-allwinner-d1と同じものを利用。
Linux kernel
こちらもsmaeul/linuxを利用(ブランチは「riscv/d1-wip」)。
defconfigはsehraf/riscv-arch-image-builderのものを利用した(スクリプトから生成)。
wis
nezha-allwinner-d1と同じものを利用。
ただし、いつも参考にしているブログにあるとおりnezha-allwinner-d1のwisではイメージのサイズが大きい(約14GB)。
なので、今回はイメージサイズを約8GB程度にした。
--fixed-size 8000の部分。
イメージ作成(Bitbake)
core-image-minimalでbitbakeしてみる。
まずは、必要なリポジトリをclone。
$ git clone -b kirkstone git://git.yoctoproject.org/poky.git $ git clone -b kirkstone https://github.com/openembedded/openembedded-core.git $ git clone -b kirkstone https://github.com/openembedded/meta-openembedded.git $ git clone -b kirkstone_licheerv https://NobuoTsukamoto/riscv/meta-riscv.git $ source poky/oe-init-build-env licheerv-build $ bitbake-layers add-layer ../meta-openembedded/meta-oe/ $ bitbake-layers add-layer ../meta-openembedded/meta-python/ $ bitbake-layers add-layer ../meta-openembedded/meta-networking/ $ bitbake-layers add-layer ../meta-openembedded/meta-multimedia/ $ bitbake-layers add-layer ../meta-riscv/
あとは、bitbake。
MACHINE=licheerv bitbake core-image-minimal
成功したら、*.wic.gzファイルをSDカードに書き込んでブートさせてみる。
動作確認
やった!!hdmiとusb認識した!!! pic.twitter.com/SO6HLOJogM
— nb.o (@Nextremer_nb_o) June 30, 2022
core-image-westonもやってみる
bitbakeでcore-image-westonをビルドして動かしてみた。
SiPEED LICHEE RV DOCKでcore-image-westonがうごいたよ。わぉ!
— nb.o (@Nextremer_nb_o) July 6, 2022
ちょっとカクつく、キーボード反応しないけど。。。 pic.twitter.com/yaFswsh7qe
最後に
今回はRISC-V SBCのSipeed Lichee RV Dock向けのBSPをmeta-riscvのnezha-allwinner-d1を参考にやってみた。
0 件のコメント:
コメントを投稿