にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ

2015年11月09日

ARM Tegra K-1 Chromebook13 Ubuntu14.04 高速x86エミュレーション最新版 ExaGear-Desktop 1.2編 その48 #Exagear-Desktop

今回は高速x86エミュレーションとして市販化されています。
ExaGear-Desktop1.2を導入しましたのでブログにします。
ロシアの開発者さんからリリース情報をメールで頂きました。
色々な新機能と共に浮動小数演算が高速化されています。
ARMでx86のアプリを使いたい人は是非試してみてください。

◯ExaGear-Desktop1.2
Qemuみたいなx86エミュとして市販化されたのがExaGear-Desktopです。
Qemuは導入方法が既にマニアックで初心者お断りな雰囲気がありますが、
一応簡単に導入できるスクリプトがありまして重宝します。

エミュレーション動作環境
・本体:Ubuntu14.04などのUbuntu系OSがインストールされたARM Linux機
    CortexA8以降のARM Chromebook、1ボードPC
    RaspberryPi1、RaspberryPi2、BananaPi、Beagleboneblack、など
    Kernelの古いNetwalkerは無理そうです。
    - ARMv7 microprocessor with vfp32 and NEON support
    - Ubuntu 12.04 or later
    - binfmt_misc kernel module is required
    - 3G/1G virtual memory split

・エミュOS:x86 i686 Ubuntu14.04 LTS

アップグレード内容はこちら

・The first main update is deeper integration between
 x86 guest system and native ARM system.
 Now after installing x86 app its shortcut appears on Desktop and in Start Menu.
 To run x86 app it is enough just to chose it in Start Menu.

・The second is support of new distr.
 Of course we supported new Raspbian released Sep 24 based on
 Debian 8 “Jessie” and provide Debian 8 “Jessie” guest image.
 Also Ubuntu 15.04 and vanilla Debian 8 “Jessie” are supported
 as well as corresponding x86 guest images.

・The third update is performance enhancement.
 A lot of you wrote us that x86 browsers work faster then ARM one.
 We decided do not stop on it and focused last month on performance
 improvement of hard applications. As a result Google Chrome launch
 time speeded up twice: from 35 seconds to 17 second!

本家HPはこちらです。

 http://eltechs.com/product/exagear-desktop/

◯ExaGear-Desktop導入
まず本家HPからPaypalで購入します。$30です。
購入しますと、1営業日以内に向こうから認証キー、
イメージファイルのリンク先が書いたメールが届きます。
これを確認したのち、ダウンロードします。
圧縮ファイルを展開するとdebファイルとインストールスクリプト、
PDFのマニュアルが出てきますので
PDFのファイルを一通り目を通しておきます。
重要な情報が抜けているのであまり役に立ちません。

認証キーファイルとインストーラースクリプトを同じフォルダに置いておきます。
勿論、手動インストールも可能です。

 tar zxvf exager-desktop.tar.gz
 sudo ./install-exagear.sh

でインストール出来たかどうか確認

 exagear-ls

でGuestOSが出て来ればOK

 Installed guest images:
 ubuntu-1404lts 

じゃあExaGearを実行します。

 exagear

これでエラーメッセージが出なければOKです。
Kernelを確認します。

 uname -a

i686 i386 GNU/Linux

と出て来ればOKです。
後はapt-getでパッケージを入れましょう。

 sudo apt-get update
 sudo apt-get install (パッケージ名)


◯BOINCベンチマーク比較
触ってみると、何故かキビキビ動きます。
BOINC CPUベンチマークで比較してみました。
母艦のChromebookがこんなものです。

(sid):~$ 03-Feb-2015 22:04:27 [---] Benchmark results:
03-Feb-2015 22:04:27 [---] Number of CPUs: 3
03-Feb-2015 22:04:27 [---] 914 floating point MIPS (Whetstone) per CPU
03-Feb-2015 22:04:27 [---] 6118 integer MIPS (Dhrystone) per CPU

でExaGear-Desktop1.2のx86ベンチマーク

(Ubuntu14.04LTS)04-Nov-2015 06:01:43 [---] Benchmark results:
04-Nov-2015 06:01:43 [---] Number of CPUs: 2
04-Nov-2015 06:01:43 [---] 749 floating point MIPS (Whetstone) per CPU
04-Nov-2015 06:01:43 [---] 1764 integer MIPS (Dhrystone) per CPU
04-Nov-2015 06:01:44 [---] Resuming computation

で以前のExaGear-Desktop1.0のx86ベンチマーク

(Ubuntu12.04LTS):~$ 27-May-2015 17:44:20 [---] Benchmark results:
27-May-2015 17:44:20 [---] Number of CPUs: 2
27-May-2015 17:44:20 [---] 200 floating point MIPS (Whetstone) per CPU
27-May-2015 17:44:20 [---] 1800 integer MIPS (Dhrystone) per CPU

浮動小数演算が749と3.75倍も速くなっています。
大元のベンチと比較すると速すぎね?マジで。
整数演算はそんなに変化はありません。
多分NEONを浮動小数演算に使っているのでしょう。
パッと見は分かりませんが演算使っているアプリだと直ぐに分かる差があります。

RaspberryPi2と2コアですがほぼ同等です。
整数演算が本体速度の約29%です。
これQemuと比べますとマジで速いです。
Celeron2.4GHz
Atom330 1.6GHz
Pentium4 1.8GHz
相当です。これ凄い、正直実用レベルです。
RaspberryPi2で動かすとまだ無理ありそうですが。


◯Kernel Modules ./fs/binfmt_misc.koのビルドとインストール
ARM Chromebookの場合、./fs/binfmt_misc.koのモジュールが
インストールされていませんので機種によっては動作しません。
もし動かない場合はKernel Sourceからビルドし直す必要があります。
ちなみにKapperのCB5-311ではそのまま起動しました。
たしか容量を2GB程食いますので要注意。
詳細はこちらから。

 Build chrome os kernel and kernel modules
 
まずgit-cvsとビルド環境を入れておきます。
パッケージ名忘れました。
次にKernel Sourceを拾ってきます。
まずはKernelのバージョンを確認

 uname -r

 3.10.18

みたいに出るはずです。覚えておきます。
次にKernel Sourceをgit

git clone https://chromium.googlesource.com/chromiumos/third_party/kernel -b chromeos-3.10

ここの最後の3.10を各自のKernelバージョンに合わせます。
注意です。
で編集。

 cd kernel
 leafpad chromeos/config/base.config

このbase.configの中の文章を修正します。

 CONFIG_ERROR_ON_WARNING=y
 ⇒CONFIG_ERROR_ON_WARNING=n
 # CONFIG_BINFMT_MISC is not set
 ⇒CONFIG_BINFMT_MISC=m

でkernel config

 ./chromeos/scripts/prepareconfig chromeos-tegra

この最後のTegraを自分のPCの石に合わせます。要注意。
でmake

 make oldconfig
 make modules

ここでmakeだけにしますとKernel全体がビルドされます。
容量を節約するためにModulesだけビルドします。

 find ./ -name *.ko|grep binfmt
 ./fs/binfmt_misc.ko

findでファイルが出てきましたらビルド完了です。
ここでKernel Modulesをインストールしますが、
このままではエラーがでます。
/etc/rc.local を修正

 sudo leafpad /etc/rc.local

 for m in `cat /proc/mounts | /usr/bin/cut -d ' ' -f2 | grep /lib/modules| grep -v "^/$" `; do
umount "$m"
 done
 echo 0

追記したら保存して閉じます。
で実行権限

 sudo chmod +x /etc/rc.local

croutonを再起動して確認

 cat /proc/mounts | grep /lib/modules

異常が出なければインストール

 sudo make modules_install
 sudo depmod -a

多分インストール出来たはず。
面倒ですよね。



◯まとめ
幾つかの新機能と共に浮動小数演算が凄く速くなっています。
NEON演算の効果でしょうか?
またx86のUbuntuのバージョンも14.04と上がっています。
これだけ性能の高いx86エミュレーションは凄いなと。
やっていることはQemuと全く同じなので・・・中身は?
WineやSkype、Steamなど色々なx86アプリを導入出来ます。
$30とそれなりにしますが、Windowsアプリとか動かしたい人には貴重ですね。

色々な意味で容量を食い過ぎるので注意。
まあここまでセットアップするのも大変ですが。
日本語の情報がまだ殆ど無いので面倒でしたが、Windowsアプリを
RaspberryPi2とかで使いたい人は是非使ってみてください。
posted by kapper at 01:36 | Comment(0) | Chromebook
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ