NASのVirtualBoxでAndroid-x86を動かす

Virtualbox上で64bit版CM 13.0が動いた。それでAbemaTVアプリを動かしてみると、音声は問題ないが画像は紙芝居状態。

Virtualbox上で64bit版CM 13.0が動いた。それでAbemaTVアプリを動かしてみると、音声は問題ないが画像は紙芝居状態。

先日購入したNASAsustor AS3102Tで、VirtualBoxAndroid-x86を動かしてみた。結論から言うと、動かなくはないんだが、自分がそれで利用したい目的、つまりビデオ配信アプリを使ったビデオ再生には耐えられそうではなかった。まぁ、CPUはデュアルコアCeleronで、メモリも2GBしかないので、仮想化技術が実用的スピードで使えるとは最初から期待はしてなかったが、VirtualBoxを使ったこともなく、一度やってみたかった。

一応最終的には大型テレビを導入するつもりはまだあるのだが、とりあえずふるさと納税で入手したiiyamaブランドの31.5″液晶ディスプレイをNASにHDMIケーブルで繋いでいる。これが今回VirtualBox上でAndroidを動かしてみようと思った大きな理由でもある。つまり、もしAndroidが実用になるパフォーマンスを出せるとなら、その上で既に所持しているフレッツ光のポイントを利用して購入したDXメディアコンセントDMC10F1のコンパニオンアプリモアテレビを動かせれば、それで地デジ放送が見れてしまい、テレビを購入する必要がなくなるのでは、という皮算用。

結果としては、AmebaTVはまだ起動するだけまし。音声は問題ないが画像は残念ながら紙芝居状態モアテレビアプリGYAO! プレミアム動画見放題アプリに至っては起動後すぐクラッシュしてしまう。要は使いものにならない。やっぱりねぇ…

一応ネットワーク接続が問題でないことを確認するためSpeedtest.netで計測すると、上下とも100Mbps以上出ているので、ネットワークスピードが原因でないことは確実。ちなみに、ネットワーク接続は、デフォルトのNATではなく、bridgedを利用(参考:”Chapter 6. Virtual networking“)。

Android-x86といってもいくつもバリエーションがあり、android-x86_64-6.0-r1とcm-x86_64-13.0-rc1を試した。今回のセットアップではどちらも実用に耐えないという点では同じなのだが、後者の方がまだまともに動いた気がする。本当は4.4を試したかったんだが、32bit版しか用意されておらず、それではカーネルが合わないと言って起動しない。

VirtualBoxを使うこと自体が初めて。基本的には”How to Install Android in VirtualBox“に沿えばよい。よりAsustor NASに特化した説明としては”ASUSTOR Inc. – Network Attached Storage (NAS)“。いくつかひっかかった点を自分のために記録しておく。

  • Android-x86のインストール時、Grubブートローダーのインストールをするか問われる。デフォルトではスキップすることが選択されているが、これは必要。
  • 仮想マシンを作成して、ゲストOSをインストールした後、インストールメディアを仮想マシンから外すことを忘れない。でないと、再起動後再度インストールメディアから立ち上がってしまう。
  • VirtualBoxで各種モードの切替を行うキーをhost keyというのだがそれはデフォルトでRight Controlが割り当てられている。NAS本体にはキーボード及びポインティング・デバイスとしてMele F10 Deluxe fly-mouseを繋げているのだが、これのキーボードにはこのRight Controlがない。NASでVNCサーバーが本体起動時に自動起動するようにするしてあることが役に立った。Windows PC上でTightVNC Viewerを使えば、Right Controlを送ることが問題なくできる。
  • LubuntuではVNCビューワとしてRemminaを使っているが、これ自身のホスト・キー(ただしVirtualBoxのそれとは目的が違うのだろう)もRight Controlとなっていた。干渉してしまうのでRemmina側のホスト・キーをRight Control以外にすることで、Right ControlがVirtualBoxに伝達されることとなった。

その他:”VirtualBoxHowTo – Android-x86 – Porting Android to x86

実は、Android-x86に落ち着く前に、”5 Best Android Emulators for Linux | Run Android Apps on Linux Ubuntu,LinuxMint,Fedora,ArchLinux,OpenSUSE,Mageia,CentOS etc-TechApple – Communicating Technology In an Easy Way“などを参照に、Genymotionを試そうとした。”Tutorial – Install/Setup Genymotion Android Emulator on Linux [Ubuntu/LinuxMint/Fedora/ArchLinux]-TechApple – Communicating Technology In an Easy Way“にあるように、通常のVirtualBoxでのゲストOSのセットアップとはやり方が違う。

結局はうまく行かなかったんだが、Genymotionを動かそうと試みた(そして諦めた)ときのトレースが以下。

AS3102T login: root                                                                                                                         
root@as3102t's password:                                                                                                                    
root@AS3102T:/volume1/.@root # ls /opt/VirtualBox/                                                                                          
ExtensionPacks/         VBoxDDR0.r0             VBoxNetDHCP*            VBoxSDL.so*             VirtualBox@             rdesktop-vrdp@
LICENSE@                VBoxDDU.so*             VBoxNetDHCP.so*         VBoxSVC*                VirtualBox.chm@         rdesktop-vrdp-keymap
s@
UserManual.pdf@         VBoxDbg.so*             VBoxNetNAT*             VBoxSharedClipboard.so* VirtualBox.so@          rdesktop-vrdp.tar.gz
@
VBox.png                VBoxDragAndDropSvc.so*  VBoxNetNAT.so*          VBoxSharedCrOpenGL.so*  accessible@             routines.sh@
VBox.sh*                VBoxEFI32.fd            VBoxOGLhostcrutil.so*   VBoxSharedFolders.so*   additions@              scripts@
VBoxAuth.so*            VBoxEFI64.fd            VBoxOGLhosterrorspu.so* VBoxSysInfo.sh*         components/             sdk@
VBoxAuthSimple.so*      VBoxExtPackHelperApp*   VBoxOGLrenderspu.so*    VBoxTestOGL*            helpers@                src@
VBoxAutostart*          VBoxGuestControlSvc.so* VBoxPython.so*          VBoxTunctl*             icons@                  uninstall.sh@
VBoxBalloonCtrl*        VBoxGuestPropSvc.so*    VBoxPython2_4.so*       VBoxVMM.so*             kchmviewer@             vboxshell.py@
VBoxCreateUSBNode.sh*   VBoxHeadless*           VBoxPython2_5.so*       VBoxVolInfo*            libQtCoreVBox.so.4@     vboxwebsrv@
VBoxDD.so*              VBoxHeadless.so*        VBoxPython2_6.so*       VBoxXPCOM.so*           libQtGuiVBox.so.4@      virtualbox.desktop@
VBoxDD2.so*             VBoxHostChannel.so*     VBoxPython2_7.so*       VBoxXPCOMC.so*          libQtNetworkVBox.so.4@  virtualbox.xml@
VBoxDD2GC.gc            VBoxKeyboard.so*        VBoxREM.so*             VBoxXPCOMIPCD*          libQtOpenGLVBox.so.4@   webtest@
VBoxDD2R0.r0            VBoxManage*             VBoxRT.so*              VMMGC.gc                libvboxjxpcom.so@
VBoxDDGC.gc             VBoxNetAdpCtl*          VBoxSDL*                VMMR0.r0                nls@
root@AS3102T:/volume1/.@root # find / -name "*genymotion*" -print                                                                           
/volume1/Shared/%%Archives/Devices/Android/genymotion-2.8.0-linux_x64.bin                                                                   
/share/Shared/%%Archives/Devices/Android/genymotion-2.8.0-linux_x64.bin                                                                     
find: ‘/proc/15437’: No such file or directory                                                                                              
find: ‘/proc/15438’: No such file or directory                                                                                              
root@AS3102T:/volume1/.@root # export PATH=/opt/VirtualBox:$PATH                                                                            
root@AS3102T:/volume1/.@root # cd /share/Shared/%%Archives/Devices/Android/                                                                 
root@AS3102T:/share/Shared/%%Archives/Devices/Android # ./genymotion-2.8.0-linux_x64.bin                                                    
-sh: ./genymotion-2.8.0-linux_x64.bin: not found                                                                                            
root@AS3102T:/share/Shared/%%Archives/Devices/Android # more ./genymotion-2.8.0-linux_x64.bin                                               
#!/bin/bash                                                                                                                                 
(省略)                                                                                                                                  
oot@AS3102T:/share/Shared/%%Archives/Devices/Android # ln -s /opt/bin/bash /bin                                                            
root@AS3102T:/share/Shared/%%Archives/Devices/Android # ./genymotion-2.8.0-linux_x64.bin                                                    
Installing for all users.                                                                                                                   
                                                                                                                                            
Installing to folder [/opt/genymobile/genymotion]. Are you sure [y/n] ? y                                                                   
                                                                                                                                            
                                                                                                                                            
- Trying to find VirtualBox toolset .................... OK (Valid version of VirtualBox found: 4.3.36r105129)                              
- Extracting files .....................................                                                                                    
                                                                                                                                            
                                                                                                                                            
OK (Extract into: [/opt/genymobile/genymotion])                                                                                             
- Installing launcher icon ............................. WARNING: Could not find xdg-desktop-menu, not installing launcher icon.            
                                                                                                                                            
Installation done successfully.                                                                                                             
                                                                                                                                            
You can now use these tools from [/opt/genymobile/genymotion]:                                                                              
 - genymotion                                                                                                                               
 - genymotion-shell                                                                                                                         
 - gmtool                                                                                                                                   
                                                                                                                                                                                                                                
root@AS3102T:/share/Shared/%%Archives/Devices/Android # export PATH=/opt/genymobile/genymotion:$PATH                                        
root@AS3102T:/share/Shared/%%Archives/Devices/Android # genymotion                                                                          
genymotion: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory                     
root@AS3102T:/share/Shared/%%Archives/Devices/Android # find / -name "libGL*" -print                                                        
/volume1/.@plugins/AppCentral/xorg/usr/lib/libGLESv2.so.2.0.0                                                                               
/volume1/.@plugins/AppCentral/xorg/usr/lib/libGLU.so.1.3.1                                                                                  
/volume1/.@plugins/AppCentral/xorg/usr/lib/libGLU.so.1                                                                                      
/volume1/.@plugins/AppCentral/xorg/usr/lib/libGL.so.1                                                                                       
/volume1/.@plugins/AppCentral/xorg/usr/lib/libGLESv2.so                                                                                     
/volume1/.@plugins/AppCentral/xorg/usr/lib/libGLU.so                                                                                        
/volume1/.@plugins/AppCentral/xorg/usr/lib/libGL.so.1.2.0                                                                                   
/volume1/.@plugins/AppCentral/xorg/usr/lib/libGLESv2.so.2                                                                                   
/volume1/.@plugins/AppCentral/xorg/usr/lib/libGL.so                                                                                         
/volume1/.@plugins/AppCentral/xorg/usr/lib/libGLESv1_CM.so.1                                                                                
/volume1/.@plugins/AppCentral/xorg/usr/lib/libGLESv1_CM.so.1.1.0                                                                            
/volume1/.@plugins/AppCentral/xorg/usr/lib/libGLESv1_CM.so                                                                                  
/volume1/.@plugins/AppCentral/kodi/usr/lib/libGLEW.so.1.10.0                                                                                
/volume1/.@plugins/AppCentral/kodi/usr/lib/libGLEW.so                                                                                       
/volume1/.@plugins/AppCentral/kodi/usr/lib/libGLEW.so.1.10                                                                                  
(省略)
/opt/genymobile/genymotion/libGLES_V2_translator.so.1.0.0                                                                                   
/opt/genymobile/genymotion/libGLES_V2_translator.so.1.0                                                                                     
/opt/genymobile/genymotion/libGLES_V2_translator.so.1                                                                                       
/opt/genymobile/genymotion/libGLES_V2_translator.so                                                                                         
/opt/genymobile/genymotion/libGLES_CM_translator.so.1.0.0                                                                                   
/opt/genymobile/genymotion/libGLES_CM_translator.so.1.0                                                                                     
/opt/genymobile/genymotion/libGLES_CM_translator.so.1                                                                                       
/opt/genymobile/genymotion/libGLES_CM_translator.so                                                                                         
root@AS3102T:/share/Shared/%%Archives/Devices/Android # export LD_LIBRARY_PATH=/volume1/.@plugins/AppCentral/xorg/usr/lib/:$LD_LIBRARY_PATH 
root@AS3102T:/share/Shared/%%Archives/Devices/Android # genymotion                                                                          
genymotion: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /opt/genymobile/genymotion/libQt5Core.so.5)                
genymotion: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /opt/genymobile/genymotion/libQt5WebKit.so.5)            
genymotion: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /opt/genymobile/genymotion/libicui18n.so.52)               
genymotion: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /opt/genymobile/genymotion/libicuuc.so.52)                 
genymotion: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /opt/genymobile/genymotion/libQt5Qml.so.5)               
root@AS3102T:/share/Shared/%%Archives/Devices/Android # (う~ん手に負えん)
広告

NASのVirtualBoxでAndroid-x86を動かす」への1件のフィードバック

  1. ピンバック: Chromecastを入手した今大型テレビについて再検討 | あくまで暫定措置としてのブログ

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中