RobertCNelson Applications Engineer
この記事は、GrinnのGenio 700(MT8390)ベースのGenioBoardに関するものです。
入手情報
キット
- GGC0.700.4G.16G.E はDigiKeyで入手できます。
ベンダードキュメント
- Grinn GenioBoard:https://www.genioboard.com
- Grinn wiki:https://wiki.grinn-global.com/products/genio/index.html
- MediaTek Genio 700( MT8390 ):https://genio.mediatek.com/genio-700
- Operating Systems:https://genio.mediatek.com/genio-700#operating-systems
- IoT Yocto v25.1.1 - 2026 Mar 16:https://mediatek.gitlab.io/aiot/doc/aiot-dev-guide/master/sw/yocto/release-notes/iot-yocto-v25.1.1-release-note.html
基本要件
- OS仮想化ソフトウェアを使用せずに、サポートされている最新リリースのDebian、Fedora、またはUbuntuをx86 64ビットベースのPC上で動作していること。
- 記載されているコマンドの多くは、/bin/bashをデフォルトシェルとして想定しています。
- Kernel.orgクロスコンパイラ:https://mirrors.edge.kernel.org/pub/tools/crosstool/
- ブートローダ
- U-Boot - ユニバーサルブートローダ:http://www.denx.de/wiki/U-Boot
- ソース:https://github.com/u-boot/u-boot/
- Linuxカーネル
- Linus’s Mainline tree:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
- ARMベースのrootfs(ルートファイルシステム)
- Debian:https://www.debian.org
ホストシステムへのインストール(Docker)
お使いのLinxディストリビューションからDockerをインストールしてください。これはYoctoのサンプルイメージをビルドするために使用します。
#user@localhost:~$
sudo apt update ; \
sudo apt-get install docker.io docker-compose
まだ設定していない場合は、自分のユーザーアカウントをDockerグループに追加し、再起動してください。
#user@localhost:~$
sudo usermod -aG docker ${USER}
ホストシステムへのインストール(kas)
kasツールセットをインストールします。このツールBitbakeベースのプロジェクトを扱うためのラッパーです。
#user@localhost:~$
sudo apt update ; \
sudo apt-get install kas
ホストシステムへのインストール(fastboot)
Androidのfastboot/adbツールセットをインストールします。これらのツールはUSB接続を介してEVMとインターフェースするために使用されます。
#user@localhost:~$
sudo apt update ; \
sudo apt-get install android-tools-fastboot android-tools-adb
ホストシステムへのインストール(genio-tools)
Genio toolsは、MediaTekのボードへの書き込み、制御、設定を行うためのユーティリティセットです。これらはAndroidのfastbootをベースにしています。
#user@localhost:~$
sudo apt update ; \
sudo apt-get install pipx ; \
pipx install genio-tools
genio-configのテストを行います。
#user@localhost:~$
genio-config
#genio-config test Output:
fastboot: OK
udev rules: OK (md5: a3b2767b42ee01d7c62bf394400528ae)
Serial device write access: OK
もしudevが失敗した場合には、
#user@localhost:~$
echo -n 'SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="201c", MODE="0660", TAG+="uaccess"
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="0003", MODE="0660", TAG+="uaccess"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", MODE="0660", TAG+="uaccess"
SUBSYSTEM=="gpio", MODE="0660", TAG+="uaccess"
' | sudo tee /etc/udev/rules.d/72-aiot.rules
udevを再びロードします。
#user@localhost:~$
sudo udevadm control --reload-rules
sudo udevadm trigger
Yoctoのベースイメージ
新しいディレクトリを作成し、リポジトリをクローンします。
#user@localhost:~$
mkdir -p ./build/
cd ./build/
git clone https://github.com/grinn-global/meta-grinn-genio.git
デフォルトのイメージをビルドします。
#user@localhost:~$
KAS_MACHINE=grinn-genio-700-sbc \
KAS_CONTAINER_IMAGE_DISTRO=debian-bookworm \
kas-container build meta-grinn-genio/kas/default.yml
ボードにイメージを書き込みます。
オプションは以下のとおりです。
#user@localhost:~$
genio-flash --list-dtbo
List of available DTBO:
( * items are automatically loaded )
camera-imx214-csi0.dtbo
audio-sof.dtbo
display-dp.dtbo
camera-imx214-csi0-imx214-csi1.dtbo
* apusys.dtbo
camera-imx214-csi1.dtbo
display-hdmi.dtbo
* video.dtbo
wifi-bt-sdio-murata-1zm.dtbo
HDMIをロードします。
#user@localhost:~$
genio-flash --load-dtbo display-hdmi.dtbo
シリアルコンソールを開きます。
#user@localhost:~$
tio -b 921600 /dev/ttyUSB0
これは素晴らしいですね、ロバートさん。ありがとうございます!