GoogleのIoT向けOS “Fuchsia” をビルドしてみた

<追記>
現在は手順が変わっていましたので、本文中のコマンド部を更新しました。(2017.02.17)


GoogleがIoT向けとなる第三のOSを開発中とのニュースがありました。
名前は Fuchsia 。 フクシアと読むのでしょうか、wikipediaによると非常に鮮やかな赤紫色を指すそうです。色の名前なんですね。
Googleの説明にも、「Pink + Purple == Fuchsia (a new Operating System)」と書かれており、ピンクと紫を足してFuchsiaだ、ということなので色の名前で間違いないでしょう。

FuchsiaはAndroidなどで使われているLinuxカーネルではなく、LKという組み込み用カーネルを用いているとのことで、Yoktoすら重く感じるほどに小さい低性能なデバイス向けのRTOSであると思われます。おそらくセンサのようなモジュールレベルに対して組み込むことを意図しているのでしょう。環境は64bitのARM,x86がサポートされています。
LKはAndroidのブートローダにも使われているもので、軽量の駆動を目指すなら手堅い選択なのかもしれません。

素材は良さそうですのであとはパッケージ関連(通信プロトコル、フレームワーク)や開発環境が、マスを取れるかどうかに影響します。昨年発表されたファーウェイの「LiteOS」と競うIoT系OSのひとつになりそうで今後が楽しみです。

githubのミラーサイトはこちらです。
https://github.com/fuchsia-mirror/manifest

とりあえず早速ダウンロード、ビルドしてみました。

1. 環境準備
ubuntu 16.04 で試しました。最初に必要なパッケージのインストールです。

もしqemuが入ってなければインストールしておきます。

Fuchsiaはjiriというレポジトリ管理システムを利用しています。Androidでいうrepoのようなものです。jiriを用いてソースをダウンロードします。

これで各ソースをダウンロードしてくることになります。

2. ツールチェインのビルド
提供されている build-toolchain.sh を使ってツールチェインをビルドします。ビルド結果は out/toolchain に展開されます。

2. Fuchsiaのビルド
まず x86-64 向けビルドを作るための設定を行います。

x86-64 の箇所を arm64 に変えると ARM用のビルドができます。

この後 fbuild コマンドでビルドできます。Fuchsiaはmakeに代わる高速なビルドシステムである ninja でビルドを行います。fbuildが隠蔽してくれているので特に意識しなくても大丈夫です。

だいぶ時間がかかりますがこれでビルドが完了します。



スポンサーリンク
レクタングル(大)広告
  • このエントリーをはてなブックマークに追加
スポンサーリンク
レクタングル(大)広告