AGL の UCB(Unified Code Base) の CES 2016 Demo を動かしてみる

# はじめに

The Linux Foundation 配下の車載用オープンソース開発プロジェクト AGL (Automotive Grade Linux) が 2016年１月に新ディストリビューション UCB (Unified Code Base) を発表しました。
CES 2016 のデモ動画は[こちら](https://www.automotivelinux.org/news/news/2016/01/agl-shows-demo-ces-2016
)。


[AGL のプレス](http://www.linuxfoundation.jp/news/announcement/2016/01/automotive-grade-linux-introduces-new-unified-code-base-distribution) からいくつか抜粋します。

## UCB のポイント
- 自動車専用アプリに対応できるようゼロから開発されたものですが、AGL のほか Tizen や GENIVI Alliance などの既存のオープン ソース プロジェクトの最良のソフトウェア部分を利用
- 同じコード ベースから自動車のあらゆるアプリケーション (計器盤、ヘッド アップ ディスプレイ、テレマティクス、コネクテッド カーなど) に対応できるさまざまなプロファイルを作成できるよう設計

## UCB の特徴
- Yocto Project をベースにした完全な Linux ベース ディストリビューション
- 複数のプロジェクト (AGL、GENIVI、その他) が共有できる共通の IVI レイヤ
- Git コード リポジトリ、Gerrit コード レビュー、および Jira バグ・イシュー トラッキングなどの完全なオープン ソース開発基盤 (すべて Linux Foundation がホスト)
- Jenkins による継続的インテグレーション (Continuous Integration: CI)
- 自動検査基盤
- Weston IVI shell と Wayland IVI extension (GENIVI 製)
- QT マルチメディアと QML アプリケーションのサポート
- ホーム スクリーン、メディア ブラウザ、HVAC コントロール/ディスプレイ、AM/FM ラジオ、およびナビゲーションなどのデモ アプリケーション
- マイクロチップ技術で開発された最初のオープン ソース MOST デバイス ドライバー
- ネイティブ アプリと HTML5 アプリのオプション

同じく [AGL のプレス](http://www.linuxfoundation.jp/news/announcement/2016/01/automotive-grade-linux-introduces-new-unified-code-base-distribution) にデモ環境 OS image があるので今回はこれを動かしてみます。

# 環境

|環境|コメント|
|:---|:---|
|VirtualBox 5.0|4 系列は image が起動出来ませんでした|
|Windows 7|その他 Ubuntu 等々動作未確認|

# 環境構築

## Image download

https://download.automotivelinux.org/AGL/release/albacore/latest/qemux86-64/deploy/images/qemux86-64/
agl-demo-platform-qemux86-64.vmdk 
を落とします。

## VirtualBox で image 作成

VirtualBox 起動
→新規
→名前は適当に（AGL 等々）, タイプは linux、 バージョンは Fedora (64-bit) 次へ
→メモリは 2048 
→「既にある仮想ハードディスクを使用する」を選択し、agl-demo-platform-qemux86-64.vmdk を選ぶ。作成
→ OS が作られるので起動

# 実行

![1.png](https://qiita-image-store.s3.amazonaws.com/0/35514/73769396-b4b3-dda2-b4ce-63e9a5b95df6.png)
Window System は Wayland/Weston ですね。

左上の terminal アイコンをクリックすると、
![2.png](https://qiita-image-store.s3.amazonaws.com/0/35514/5afe0b57-e31a-3ec3-f943-1718687655a3.png)
terminal 出ました。
デモは、

```
# cd /opt/AGL/CES2016
# ./start_CES2016_ivi_shell.sh
```

で起動します。

![3.png](https://qiita-image-store.s3.amazonaws.com/0/35514/827b2260-d69a-ffde-d9bd-621dd69a2811.png)
マウスで操作すると中央の螺旋が動きました。

![4.png](https://qiita-image-store.s3.amazonaws.com/0/35514/a3f9ce16-8141-fd44-73d6-7ea01819084b.png)
上部アイコンクリックでそれぞれアプリが起動します。

`start_CES2016_ivi_shell.sh` の中を見てみます。

```
# cat start_CES2016_ivi_shell.sh
```

![6.png](https://qiita-image-store.s3.amazonaws.com/0/35514/8726bc22-d2d4-71c6-fe82-4b8d88b4972f.png)

＃コピー大変なので画像で紹介。

`/usr/bin/qt5/qmlscene -I imports Main.qml`
とあるので、アプリ実行環境は Qt、アプリの実体は Main.qml ですね。

# まとめ

AGL の新しいディストリビューション、ユニファイド コード ベース(Unified Code Base: UCB) を動かしてみました。
過去車載ディストリビューションはあまた生まれ、そして去って行きました。
今回の AGL UCB はどうなるのでしょうか。
まずはアーキテクチャのブロック図見たいですが、ご存知の方教えて下さい。



# 詰まったところ
詰まったのは最初 VirtualBox 4 で実行したところ OS が起動しなかったところくらいです。
あとは基本以下参考でご紹介した yu39n さんのエントリーをなぞりました。

# 参考
AGL UCB  http://www.linuxfoundation.jp/news/announcement/2016/01/automotive-grade-linux-introduces-new-unified-code-base-distribution

CES 2016 のデモ動画 https://www.automotivelinux.org/news/news/2016/01/agl-shows-demo-ces-2016

イロイロお試しブログ (β版)
yu39n さん
AGL(Automotive Grade Linux)をVirtualBoxで試してみた
http://yu39n.blog.fc2.com/blog-entry-42.html