ククログ

株式会社クリアコード > ククログ > RZ/G1向けのfluent-bitのYoctoレシピを作成しました

RZ/G1向けのfluent-bitのYoctoレシピを作成しました

はじめに

2017年7月6日の記事で紹介した通り、クリアコードは組み込みLinux向けにMozilla Firefoxを移植するプロジェクトGecko EmbeddedWebDINO Japan(旧Mozilla Japan)様と共同で立ち上げ、開発を進めております。Yoctoを使用してFirefoxをビルドしたりハードウェアクセラレーションを有効化する際のノウハウを蓄積して公開することで、同じ問題に悩む開発者の助けになることを目指しています。

この記事では、Gecko Embedded本体ではなく周辺のミドルウェアのFluent Bitを移植した話を書きます。 Fluent Bitは、センサなどの組み込み機器向けのデータコレクタで、Fluentdより軽量です。

現在のステータス

ターゲットボード

1月時点では、fluent-bitのビルド及び動作は以下のボードで確認しています。

ビルド方法

レシピはGitHubにて公開しています。https://github.com/clear-code/meta-fluent

Yoctoに組み込むには、meta-fluentを git clone したのち、(bitbakeのビルドディレクトリ)/conf/local.confへ

IMAGE_INSTALL_append = " fluent-bit "

(bitbakeのビルドディレクトリ)/conf/bblayers.confへ

BBLAYEYS += " ${TOPDIR}/../meta-fluent "

をそれぞれ追加し、bitbakeを実行します。

また、fluent-bit本体にもYoctoレシピがありましたがx86_64向けのビルドしかされていないようだったため、armv7hまたはaarch64向けのクロスビルドが通らないことをIssueにしました。

このIssueはこのpull requestによって解決済みです。

動作確認

fluent-bitを上記の設定ででビルドした場合、fluent-bit コマンドが起動イメージにインストールされます。

$ fluent-bit -i dummy -o stdout
Fluent-Bit v0.12.10
Copyright (C) Treasure Data

[2017/12/27 14:04:42] [ info] [engine] started

となれば動作確認は完了です。 設定ファイルの書き方やどのようなプラグインがあるかはFluent Bitの公式サイトのドキュメントを参照してください。

まとめ

fluent-bitをarmv7hとaarch64がターゲットのYoctoレシピに載せ、RZ/Gシリーズのボードに載せた話を紹介しました。 ARMなどの組み込み向けボードはPCに比べてリソースの制約がありますが、fluent-bitではFluentdよりも軽量のため、リソース不足により動作が遅くなることは少ないでしょう。