組込Linuxシステム開発(2)

ポリテク浜松にて組込Linux関連講習ではRaspberryPiを使用してます。
しかしながら、最近のRaspberryPiの性能やRaspberryPi OSからすると組込Linuxと言うより、ノートPCに近い感じです。本来の組込Linuxと多少違うと思いつつも、Raspberry OSで講習を行っています。

RaspberryPiではOSとして主にRaspberryPi OSが使われています。 ダウンロードサイトからダウンロードして、展開して、microSDに書き込むだけです。そして足りないパッケージについては主に「sudo apt install」コマンドで追加することができます。

通常の組込Linuxの場合microSDをルートファイルシステムで使うとは限りません。また、小型のシステムの場合使用できるメモリサイズにも制限があります。ですから用途に合わせてルートファイルシステム自体から用意することになります。

このルートファイルシステムを作成するにはYoctoあるいはBuildrootを使用します。
作成には通常Ubuntu(X86-64)を使用します。 いずれはUbuntu(Aarch64)も使われるかもしれません。

Yoctoの場合、Qt,Westonを使用するGUI対応のルートファイルシステムをビルドにおいて、クロス開発するPCのディスクの空き容量は最低100GByte程度必要となります。 また、VirtualBoxでゲストOSとしてUbuntuをインストールし、ルートファイルシステムをビルドする場合、CPUのスペック、メモリのサイズによっては10時間以上かかってしまいます。(メモリが少なすぎるとQtのWeb関連のリンク等でビルドが失敗します。理想は16GByte以上)

最近の流れとしては圧倒的にYoctoですが、コンパクトなルートファイルシステムを作成するにはBuildrootもまだ人気はあるようです。

RaspberyPiのルートファイルシステムをこれらBuildroot、Yoctoを使用してビルドすることもできます。 RaspberryPi OSは定期的に更新されていきます。更新に伴い、今まで動いていたアプリケーションが動かなくなったり、install自体ができなくなることも頻繁にあります。

組込Linuxの場合は、作成したシステムが数年〜十年以上使用されることも有ります。 ファイルシステムの更新によってパッケージ間の相互対応バージョン差異によるトラブルは極力避けたいのです。 したがって重大なバグあるいは脆弱性に対応するアップデート以外はそのままにしておくのが普通です。

ルートファイルシステムの管理を自分たちで行いたい場合には、RaspberryPi OSの代わりにBuildroot, Yoctoなども検討してみてはいかがでしょう。

私の担当するセミナーでは多分YoctoあるいはBuildrootにルートファイルシステムのビルドは行わない予定です。ビルド時間は長いですし、Proxy環境下でのビルドも大変ですし、それにセミナーの日にダウンロード先のサイトのメンテが入っていたらビルドできないですから。











この記事が気に入ったらサポートをしてみませんか?