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

Linux ブログランキングへ

2015年03月22日

新世代タブレット Nexus7 Debian noroot qemu-system-i386 NetBSDておくれLiveイメージ動作編 その25

Chromebookでqemu-i386エミュで調査したベンチマークデータを
元にNetBSDておくれLiveイメージやDamnSmallLinuxとか一部のOSが
ARM上qemuエミュでも動く事がわかりました。
今回はAndroid上でqemuを使ってNetBSDておくれLiveイメージを
試しに動かしてみました。
これが動けば他のOSもAndroidで動きます。
Nexus7のスペックではすごく重いですが動作実験ということで。

○Android上でqemu-system-i386
Android上でqemuを動かすには

・Limbo for Android
・Debian noroot+qemu

の2つの方法があります。Limboはroot化が必要なので後日検討。
まずはDebian noroot+qemu-system-i386を試してみました。

色々試行錯誤したのですが、
ARM上でi386をエミュろうとした場合、qemu-1.5.0以降が必要だそうです。
Sidで動いてWheezyで動かなかった理由がqemuのバージョンによるものでしたが、
当時はそんな事分かるわけないし・・・
まあ動いたから良しとしましょう。
ちなみにこれが動けばWindows98やWindows2000も動きます。
多分OSが古い分、こちらの方が軽いかと。

Limboプロジエクトのサイトには、
下記のように書いてありましてqemu1.5以上で動作確認とありました。

 Limbo for Android

Limbo is based on QEMU 1.1.0 which is an old version
and needs to be re-based to newest QEMU 1.7.
QEMU versions 1.5+ contain changes in the cpu timer routines
which need to be ported successfully to Android in order for Limbo to work.


○qemu-system-i386とておくれLiveイメージ動作
まずはAndroidにDebian Norootをインストールします。
Google Playからいけます。
インストールしたら立ち上げてみましょう。
次にqemuです。

qemuはDebian wheezyのバージョンでは古いので
Debian Wheezy-backportsから使います。
設定としてまずrootのターミナルからpin-priorityを設定します。

 apt-get install leafpad
 leafpad /etc/apt/preferences

で下記内容を追加。

 Package: *
 Pin: release a=wheezy-backports
 Pin-Priority: 600

Pin-Priorityで100以下は禁止。500以下は全パッケージを指定、
900以下は半自動で指定、1000以上は強制ダウングレード。
保存しましたらapt-getして入れてみます。

 apt-get update
 apt-get install qemu/wheezy-backports

でwheezy-backportsのqemu関係が一式入ったはず。
でておくれLiveイメージをダウンロード。
ただしAndroidでは容量が足りなくなるので
別PCでダウンロードして展開した方が良いかと。

 wget http://teokurebsd.org/netbsd/liveimage/20141231/liveimage-i386-emu-20141231.img.gz

で展開します。gzなのでファイラーから展開すると楽です。
3.7GBもあるので容量に注意です。Androidでそのままやると一杯になります。
Nexus7へ転送するにはPCからUSBを使った方が楽です。

・PCとNexus7をUSBでつないでコピー
・Nexus7にNexus Media Importerを使いUSBメモリをマウント

容量が大きいのでsdcard以下に置いておきます。
でコピー。
今回はsdcard以下にします。
でqemu動作。

 cd sdcard
 qemu-system-i386 -m 512 -hda liveimage-i386-emu-20141231.img

で待つこと長い間。やっとておくれLiveイメージが動作するはずです。
こればかりはAndroid機のスペックに速度は比例します。

○まとめ
システムの要求と環境が想定外でした。
悩みましたが結局qemuが原因ですね。
これでAndroidでもWindows2000とNetBSDが制覇です。
qemuの速度は浮動小数演算に比例しますのでARMでは特に遅いです。
実際の速度が遅いので対案が必要かと思いますが。
Tegra K-1以上のスペックを推奨します。(TegraK-1⇒Pentium2 266MHz相当)
今後の新機種はともかく、今はテスト向けということで。
posted by kapper at 21:40 | Comment(0) | Nexus7
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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

Linux ブログランキングへ