読者です 読者をやめる 読者になる 読者になる

AGL(Automotive Grade Linux)をVirtualBoxで試してみた

技術ネタ 車載関連 AGL

2016年1月に、車載用LinuxであるAGL(Automotive Grade Linux)のディストリビューションが発表されました。

専用のハードウェアがなくても、PC上の仮想マシンでも試せそうだったので、Windows上のVirtualBoxを使って、動かしてみることにしました。

ダウンロード

AGLのサイトから、[Software]→[Download]とたどり、Downloadのページにアクセスします。

そこに"QEMU x86"というダウンロードリンクがあるので、そこから辿っていき、vmdkファイルをダウンロードします。

リンク: agl-demo-platform-qemux86-64.vmdk

仮想マシンの作成

Oracle VirualBoxマネージャーを起動して、[新規]ボタンをクリック。

仮想マシンの作成用ウィンドウが表示されたら、OSのタイプで"Linux"、バージョンで"Fedora (64-bit)"を選択。尚、名前は任意なので、"AGL-DEMO"とでも入力しておきます。

モリーサイズは、とりあえずで2048MBに設定。

ハードディスクで"すでにある仮想ハードディスクファイルを使用する"を選択し、ダウンロードしたvmdkファイルを指定します。

ここまで入力できたら、[作成]ボタンをクリックします。

起動

以上で、Oracle VirtualBoxマネージャーの仮想マシン一覧に"AGL-DEMO"が表示されるので、それを選択した状態で[起動]ボタンをクリックして、仮想マシン上でAGLを起動します。

カーネルブートの画面が表示された後、初回起動時にはAGLのロゴが表示されました。
(2回目以降の起動時には、ロゴは表示されませんでした。)

f:id:yu39n:20160602212446p:plain

ブートすると、上図のように、Westonのデスクトップ(?)が表示された状態となりました。

デモ実行

さて、ここまでで、とりあえず起動はしたものの、何もアプリケーションが動いていないので、これが車載用Linuxだと言われても「?」ですね。

そこで、何かデモを動かしてみようと思います。

まずデモを動かすためのシェルスクリプトを探してみます。
findコマンドで拡張子がshのファイルを検索してみたところ、以下のように/opt/AGL/CES2016以下に何か色々とありそうです。

sh-4.3# find / -name *.sh
/opt/AGL/CES2016/scripts/enable_autostart_demohmi.sh
/opt/AGL/CES2016/start_CES2016_with_navi_ivi-shell.sh
/opt/AGL/CES2016/switch_off_navi.sh
/opt/AGL/CES2016/switch_to_ivi-shell.sh
/opt/AGL/CES2016/start_CES2016_ivi-shell.sh
/opt/AGL/CES2016/switc_on_navi.sh
(以下、略)

次に、/opt/AGL/CES2016に移動して、どんなファイルがあるかを調べてみます。

sh-4.3# cd /opt/AGL/CES2016
sh-4.3# ls
(前略)
README.md
(後略)

ありましたよ、READMEが。

ファイルの中を読んでみます・・・ふむふむ、Qtを使っているのか。

デモは、JLR(Jaguar Land Rover)が作ったようですね。

とりあえず、READMEに書かれている"To run on target:"の内容を実行してみます。

sh-4.3# cd /opt/AGL/CES2016
sh-4.3# /usr/bin/qt5/qmlscene -I imports Main.qml

すると・・・

f:id:yu39n:20160602212450p:plain

これはホームスクリーンなのかな?グルグルとアニメーションしています。

画面上部にトップメニューらしきものが並んでいます。

一番左はTizenのアイコン?押しても何も反応しませんね。

さらに左から順に、ナビ(?)、ブラウザ(?)、燃料や温度計、エアコン、天気情報(?)、ラジオ(?)、NFC、そしてアプリ一覧(?)といったラインナップ。

一部は"T.B.D"といった記述がありますね。

f:id:yu39n:20160602212451p:plain

ちなみに、これは燃料や温度計。

とりあえずデモの実行が確認できて満足できたので、今回はここまで。