はじめに
AGLでは様々なビルドprofileが用意されているのですが、ドキュメントにはその全てが書かれているわけではありません。
標準なものはagl-demo-platformです。ですが他にもたくさん用意されています。
例えば、AGL Octopus 15.0.1でビルドできるイメージは以下のものがあります
- agl-demo-platform
- agl-ivi-demo-platform-html5
- agl-ivi-demo-platform-flutter
- agl-cluster-demo-platform
- agl-cluster-demo-platform-flutter
- agl-cluster-demo-lxc-host
- agl-telematics-demo-platform
- ...
これらはあくまでもデモアプリを組み込んだイメージファイルで、AGLとしてのreference実装です。デモアプリを含まないコア部分は別に用意されています。
meta-agl*内のレシピを見れば探せないこともないですが手間がかかり面倒です。
#けど、そのような記載がdocumentには書かれていない気がします。
AGLでのラズパイ
ラズパイはAGLのメインボードではありません。ですが、入手性の良さから多くの人が手に取りやすいためQEMUと並んでリファレンスの1つに上がります。そのためボード固有の実装が生じたとしてもAGLへパッチが投稿されることが多いです。
ですが、CIや定期テストの対象外ですので注意が必要です。(これをAGLではコミュニティボードと位置づけています)
少し古いですが、ラズパイを使ったAGL入門が公開されています。2020年のAGLのウェビナーにて紹介されました。
ビルド手順は?
ラズパイのビルド
AGLでは一部のターゲットボードに対してビルド手順が用意されています。ラズパイ用のビルド手順も書かれています。
このページには、Qt版IVIイメージであるagl-demo-platform と、HTML版IVIイメージであるagl-demo-platform-htmlのビルド手順が書かれています。
flutterのビルド
上記とは別の章に、カスタムしたビルド向けの手順が用意されています。flutter向けの手順はこちらです。ただし、この対象となるターゲットはQEMUですので他のボード向けにビルドしたい場合は読み替えが必要になります。
ラズパイ向けにflutter版クラスタ デモイメージをビルドする
2023/4/27に開催したAGL Japan meetupでは、flutter版クラスタ デモイメージをラズパイを用いて展示しました。
この手順例を記載します
下は2023/11/4時点で最新のpike 16.0.2を使用しました。
$ cd $AGL_TOP
$ mkdir pike
$ cd pike
$ repo init -b pike -m pike_16.0.2.xml -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
$ repo sync
$ source meta-agl/scripts/aglsetup.sh -b build-flutter-cluster -m raspberrypi4 agl-demo agl-devel
$ bitbake agl-cluster-demo-platform-flutter
これらもビルドできます
- bitbake agl-ivi-demo-platform
- bitbake agl-ivi-demo-platform-flutter
- bitbake agl-ivi-demo-platform-html5
ビルドが問題なく完了したら、tmp/deploy/image/raspberrypi4/ ディレクトリに
agl-cluster-demo-platform-flutter-raspberrypi4-64-YYYYMMDDxxxx.rootfs.wic.xz
というファイル名のwicファイルが作られていると思います(YYYYMMDDxxxxは生成したときの時刻です)
これをラズパイ用のimagerを使ってSDに書き込めば完了です。