2021 年 01 月 22 日
テレワークでも、組込み開発が行える! - 組込み Linux 開発エンジニアがリモート開発環境を導入して出来るようになったこと
サイバートラストで組込み Linux の開発を行っているエンジニアが、新型コロナウイルスの感染拡大にともなってテレワーク・在宅勤務への移行が進む状況下で、組込み Linux 開発をテレワークで行うための課題を解決してこれまでどおりに開発を行うためにリモート開発環境を導入した経緯や、そのメリットをご紹介します。
サイバートラストでもテレワークが進んでいます
サイバートラストでは以前からテレワークの導入が始まっていましたが、新型コロナウイルスの流行によりその流れが加速していきました。しかし、組込み Linux の開発でテレワークを行うにはいくつかの課題がありました。
組込み開発におけるテレワークの難しさ
組込み Linux の開発では実機を利用して開発を進めるため、作業を行う場所に実機がある必要があります。手元に実機があれば電源の強制 OFF やブートメディアへのイメージ書き込み、新しいイメージでの起動などがスムーズに行えますが、実機が手元にない場合はこのようにはいきません。テレワークを行うためには機材を自宅に持ち帰ることになりますが、セキュリティ要件的に難しい場合もあります。電源の ON/OFF ならネットワーク経由で電源を制御できる装置がありますのでこれを利用することができますが、これだけではまだ機能が足りません。
EBF の導入
弊社ではテレワークでの組込み Linux 開発を行うため、Timesys 社の Timesys Remote access EBF(旧名称 BFC。以下 EBF)を導入しました。EBF では主に次のようなことができます。
- SD カード/USB フラッシュドライブへの書き込み
- SDカードマルチプレクサ(SDMux)/USBマルチプレクサ(USBMux)機能
- DUT のシリアルコンソールへのアクセス
- DUT の電源制御
- DUT 用ネットワーク環境の提供
EBF の利点
EBF の利点の一つは SDMux/USBMux 機能でした。組込み Linux では TFTP+NFS ブートを利用して開発することが多いと思いますが、この場合、実機でのパーテションやファイルシステムの構成が違うためリリース物のテストとしては向かない面があります。DUT がSD カードや USB フラッシュドライブからのブートを行う場合、EBF の SDMux/USBMux 機能が有用となりました。EBF では SD カード、USB フラッシュドライブに対して書き込みを行い、それを DUT から利用することができるため、カーネル・u-boot・dtb ファイル、ルートファイルシステムを SD カードに書き込みブートさせることができます。
EBF の利用環境概要
弊社では次のような構成で EBF を利用しています。
EBF サーバーは社内ネットワーク内にあり、リモートからのアクセスにはVPNを利用しています。
EBF でできるようになったこと
EBF 導入前の日常的なユースケースは、次のようなユースケースでした。
- 開発者は自分の PC もしくは CI サーバーを利用してカーネルや rootfs のイメージをビルドする
- 開発者は SD カードにカーネルや rootfs を書き込む
- 開発者は手元にある DUT に SD カードを差し込み電源を入れる
- 開発者はシリアルコンソールを利用して DUT にログインする
- 開発者はログインした Linux 環境でテストを実施する
EBF を導入することにより、次のようなユースケースになりました。
- 開発者は自分の PC もしくは CI サーバーを利用してカーネルや rootfs のイメージをビルドする
- 開発者は EBF を利用してビルド成果物のアップロードと SD カードへの書き込みを行う
- 開発者は EBF のシリアルコンソールを利用して DUT にログインする
- 開発者はログインした Linux 環境でテストを実施する
ユースケース自体に大きな差はありません。EBF を利用することで手元に DUT を置く必要がなくなり、リモートでの操作が行えるようになりました。我々が利用する機材は潤沢にあるわけではないため、出社して作業するならばチーム内での貸し借りも簡単なのですが、リモートワークがメインとなるとそうもいきません。社内で貸し借りするとしても自分の PC とシリアルコンソールでつないだり、電源につないだりと設置の手間は多少あります。しかし、EBF なら機材は会社に設置しリモートから操作できるのと、シリアルコンソール・ネットワークなどは設定済みですし、物理的な設定は一度設定してしまえば不要になるので機材の利用が楽になりました。
開発での EBF 利用
EBF の Web UI を利用して SD カードへのイメージ書き込み、電源の On/Off、シリアルコンソールへのアクセスなど行います。
マウスやキーボードなどの外部入力は利用できませんが、Weston のテストプログラムを動かして描画に問題ないことを EBF に接続した Web カメラを利用して確認しています。
まとめ
EBF を導入したことでリモートから実機を扱えるようになり、テレワークで組込み Linux 開発を行う環境が実現しました。タッチパッドの操作などは行えないので完全とは言えませんが、スモークテスト や、GUI を必要としない機能についてはテレワークでも行えるようになりました。
この記事の関連製品はこちら
組込みシステム実機テスト遠隔・自動化 - Test Automation Service ・ Remote Access EBF |