あれこれ備忘録@はてなブログ

勉強したことやニュースや出来事を備忘録として書いていきます

このブログには広告が含まれます

(デレステをPCでする人も必見!)Android-x86やRemix OSの個人用データファイルdata.imgを2GB以上の大きさで作る。手動インストールの方法もあり

halfcoin.blog.fc2.com

デレステというキーワードのせいでしょうか?

この時点で200人近くの人にブックマークされています。

ツイッターでも多くの人がリンク付きツイートで言及していました。

Androidが搭載されたスマホタブレット用のゲームとして配信されているデレステ(アイドルマスター シンデレラガールズ スターライトステージというそうです)を高解像度で大画面のタッチ対応ディスプレイでプレイしたい、というユーザーがPCにAndroid-x86をインストールして各種設定してプレイ環境を整えた話です。

解像度変更ツールやGPU情報偽装ツールは知らなかったので勉強になりました。

この記事ではAndroid-x86のバージョン6.0のrc2が使われています。

現在では安定版の6.0-r1が出ています。

Android-x86 6.0 (marshmallow-x86)

ReleaseNote 6.0-r1 - Android-x86 - Porting Android to x86

グラフィックスライブラリのMesa 3Dもrc2からアップデートされているようなのでこちらを使うとさらに快適になるかも知れません。

気になったのはこの記述です。

Android x86インストール時、MBRext4でフォーマットした方が良い。

NTFSFat32では、使えるストレージ容量が2GBしかありません。 ext4なら2GB以上に設定可能。

実はこの記述は間違いです。

ReleaseNote 4.4-r4 - Android-x86 - Porting Android to x86

The obsolete 2GB limitation of data.img (created when installed to NTFS or VFAT) is also removed. Note VFAT still suffers from the 4GB limitation of the filesystem.

個人用データを書き込むdata.imgの大きさの2GBの制限は4.4-r4で撤廃されています。

(FAT32の限界でファイル1つの大きさは最大4GBですからそれ以上のデータファイルは作れませんが。

NTFSではこの限界はなく空き容量いっぱいまで作ることができます)

しかし、この勘違いをするのは当然で、私も今回調べるまでおかしいな?と思いつつ2GBの制限があるものと思っていました。

この廃止した記述を見た記憶はあったのですが、あいかわらず残っているかのように思っていたのです。

その原因はインストーラーが修正されていなかったからです。

たしか1-2048の範囲で書き込むように書かれていたと思います。

無視して2048以上の数値を書き込めば良いのかも知れません。

自分で作ることもできます。

Linuxなどを使っている場合には

dd if=/dev/zero of=data.img bs=1M count=8192

などとすれば8GBのdata.imgが作られるでしょう。

countの数は厳密には8GBでは無いかも知れません。

8000で8GBになると書いているところもあります。

高速に作る方法があるようで

dd if=/dev/zero of=data.img bs=1M seek=8192 count=1

とすると一瞬でできるようです。

中身はゼロで埋まっていないらしいのですが、いずれにしろフォーマットするので問題ないようですね。

いずれにしろ、それでdata.imgを作ったら

mkfs.ext3 data.img

とすればEXT3でフォーマットされます。

mkfs.ext4でも大丈夫なようです。

このdata.imgを元のdata.imgと置き換えれば良いのです。

Windowsで作る場合にはdd for windowsを使えばdata.imgを作るところまではできます。

dd for windows

/dev/zeroはこのソフトウェアの中で使えるようになっているようです。

あとはここの少し下にあるMKE2FS.EXEと書かれたリンクからmke2fs.zipをダウンロードします。

MTOOLs for Bochs and Win32 and/or DOS

解凍したmke2fs.exeを使って、

mke2fs.exe -F -t ext3 data.img

または

mkfs.ext3 data.img

とすればフォーマットできます。

2017/01/24 追記

6.0-r2ではインストーラーのフォーマットの選択項目がext4になっているので、ext4でのフォーマットの方が良いかも知れません。

mkfs.ext4 data.img

でできます。

追記終わり

探してみたら、それらをすべていっぺんに行うツールと作り方が書いてある記事がありました。

www.reddit.com/r/RemixOS/comments/40xy2o/how_to_make_large_internal_storage_for_remix_os/

redditのリンクを貼り付けるとはてなブログのスパムフィルタに引っかかって投稿できなくなるので、URLだけ載せておきます。

ここには作ったあとのdata.imgもあります。

www.reddit.com/r/RemixOS/comments/418r8o/remix_os_how_to_expand_dataimg/

これを元のdata.imgと置き換えます。

多くのサイトでは、data.imgの2GB制限を避けるためにインストール先のHDDをext3でフォーマットするようにしています。

しかし、FAT32NTFSでフォーマットした領域にインストールしたほうがsystem.sfsまたはsystem.imgが起動時にメモリに読み込まれ、比較的古く遅いPCでも高速に動くのではないかと思います。

もちろんメモリが少ない場合にはスワップが起きて、かえって遅くなるでしょうが。

この方法を使うとAndroid-x86を手動でインストールすることも可能です。

GrubやGrub2などのブートローダーが必要になります。

ISOファイルをマウントしたり解凍して、その中身のうち

  • initrd.img
  • install.img
  • kernel
  • ramdisk.img
  • system.sfs

をインストールしたいHDDにコピーします。

install.imgは必要ないかも知れません。


追記

やはり、install.imgはいらないようです。

追記終わり


多くの場合、フォルダ(ディレクトリ)に置くことが多いです。

Linuxなどをインストールしている場合にはすでにGrubがインストールされているでしょう。

ここではandroid_x86という名前にフォルダに置くことにします。

Ubuntuの場合にはGrub2ですね。

Grub2の場合にはこうなるでしょう。

menuentry 'Android-x86 6.0-r1' --class android-x86 {
    search --file --no-floppy --set=root /android_x86/kernel
    linux /android_x86/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/android_x86
    initrd /android_x86/initrd.img
}

Ubuntuの場合には、/etc/grug.d/40_customに書き込むのが通常のようです。

一方、Grubの場合はこうなると思います。

title Androidx86 6.0-r1
  find --set-root --ignore-floppies --ignore-cd /android_x86/kernel
  kernel /android_x86/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/android_x86
  initrd /android_x86/initrd.img

これをmenu.lstに追加します。

Remix OSも同じような方法で手動でインストールが可能です。

Windowsしか使っていない場合には、Remix OSには最初からWindowsで実行できるインストールツールがありますから必要無いですが。

Windows領域とは別領域にインストールしたい場合には便利かも知れません。

Remix OSの場合もAndroid-x86と同様にISOの中身をインストールしたいHDDのどこかに置きます。

RemixOSというフォルダに置くことにしましょう。

Grub2では

menuentry 'Remix OS' --class android-x86 {
    search --file --no-floppy --set=root /RemixOS/kernel
    linux /RemixOS/kernel root=/dev/ram0 androidboot.hardware=remix_x86 androidboot.selinux=permissive quiet SERIAL=random logo.showlogo=1 DATA= SRC=RemixOS CREATE_DATA_IMG=1
    initrd /RemixOS/initrd.img
}

追記

これだと駄目な場合があるようです。

そのときはこちらで。

menuentry 'Remix OS' --class android-x86 {
    set root='(hd0,?)'
    search --fs-uuid --no-floppy --set=root {harddisk's uuid}
    linux /RemixOS/kernel root=/dev/ram0 androidboot.hardware=remix_x86 androidboot.selinux=permissive quiet SERIAL=random logo.showlogo=1 DATA= SRC=RemixOS CREATE_DATA_IMG=1
    initrd /RemixOS/initrd.img

}

set rootの?はRemix OSをインストールしたパーティション番号で、{harddisk’s uuid}のところはそのパーティションのUUIDです。

Ubuntuなどではblkidでパーティション一覧が出るのでそこからわかります。

追記終わり


Grubでは

title Remix OS
  find --set-root --ignore-floppies --ignore-cd /RemixOS/kernel
  kernel /RemixOS/kernel root=/dev/ram0 androidboot.hardware=remix_x86 androidboot.selinux=permissive quiet SERIAL=random logo.showlogo=1 DATA= SRC=RemixOS CREATE_DATA_IMG=1
  initrd /RemixOS/initrd.img

蛇足

これを見て、思い立って古いマシンにAndroid-x86とRemix OSを上の方法で手動インストールしてみました。

どちらも起動時にはセットアップ画面が表示されるまでに時間がかかります。

特にRemix OSはインストールに失敗したのではないか?と思うほど時間がかかります。

Android-x86.orgトップページにあるDownloadからは4.4-r5しかダウンロードできません。

しかし、4.4-r5はなんだか3台のマシンで試しましたがどうも不安定です。

インストーラーがおかしいという指摘もあります。

私の印象ではそれ以外の部分もおかしなところがあるように思います。

Firefoxでページを表示しただけで強制終了したり、Google Playやアカウント認証関係のアプリが強制終了してエラーのダイアログが頻繁に出ます。

上のリンクにある4.4-r4のリリースノートのページから4.4-r4がダウンロードできるのでそちらを使ってみると良いかも知れません。

インストール自体は上記の方法でインストーラーを使わずにインストールすることができます。

これならGPD WINやタブレットとしてもノートPCとしても使えるコンバーチブルタイプのマシンの一部のようなeMMCにもインストールすることができます。

もっともGrub2も手動でインストールする必要がありますが。

AndroidでWindows実行ファイル(exeファイル)を動かすCrossover for Androidを使いたかったのだが・・・

win-tab.net

ここを見て興味をもったので試してみようと思い、サインアップしてみました。

しかし、このページの「閑話休題」に書かれているのと同じ状態になってしまってダウンロードできません。

win-tab.net

仕方がないのでここに書かれているのと同様にメールを送ってみました。

返事待ちです。

元々、しばらくしないと招待メール自体は送ってこないものなのかも知れませんが。

ちなみにこの記事の閑話休題の使い方は間違えています。

d.hatena.ne.jp

少しそれた話、余談のあとに、本筋へ戻るときに冒頭で使うのが正しい使い方です。

余談や蛇足の意味ではありません。

閑話休題

ダウンロードできていないので使えていませんが、Crossover for Androidについてです。

CrossoverはLinuxなどでWindowsの実行ファイルを起動することができるWineという技術が使われています。

Wine - Wikipedia

"Wine Is Not an Emulator"という名前の頭文字をとったと説明されますが、由来となる名前のなかに自身の名前が含まれるという再帰構造をとっています。

プログラミングの世界では有名ですね。

同じようなものにはGNU="GNU's Not Unix!"があります。

Wine自体はオープンソースで無料で使うことができますが、それをベースにさらに動作の安定性などを向上させたのが商用のソフトウェアがCrossoverです。

Linuxの他、Mac版もありますが、MacIntel製のCPUを搭載したものに限るということのようです。

Crossover for Androidはそれに続く製品ということになるでしょう。

Androidで動きますが、Mac同様、Intel製CPUあるいはx86互換CPUが搭載されたマシン上で動いているAndroidでしか動作しないようです。

Intel製CPU、主にAtomプロセッサが搭載されたスマホタブレットコンバーチブルタイプのノートPCや、x86搭載PCで動作させることができるAndroid OSであるAndroid-x86でのみ動かすことができるということです。

ARMも含めたAndroid搭載マシンでexeファイルを動かすことができるらしいアプリもあります。

Eltechs - Google Play の Android アプリ

この開発者のExaGearというのがそうなのですが、Classic PC GameということでDOSやWindows3.1や95あたりなのかなと思います。

また、Wnulatorというアプリもあります。

Winulator-beta - Google Play の Android アプリ

DOSエミュレータはいくつかあり、DOSの実行ファイルは動作させられるようです。

DosBox Turbo - Google Play の Android アプリ

aFreeBox - Google Play の Android アプリ

この他、qemuBochsなどのエミュレータを使ってWindows 98などを起動させることができるので速度はともかくそれを使ってWindowsアプリケーションを実行している人はいるようです。

SourceForge

Android 4.0.3 端末に Windows 2000を入れる実験 その1 - Windows 2000 Blog

さて、Crossover for Androidの興味深い点はChromebookでも利用可能だということです。

Chromebookは2016年6月にChromebookに搭載されているOSであるChromeOSでAndroidアプリが動作可能になっています。

これを利用してChromebook上でCrossover for Androidを使って、Windowsアプリケーションを実行することが可能になっているのです。

確認していないのでわかりませんが、これも当然、Intel製CPUが搭載されたChromebookでしか動作しないでしょう。

初期のChromebookにはARM搭載マシンもありましたが、これでは動かないだろうと思います。

動作する様子はここで見ることができます。

www.codeweavers.com

CromebookでWindowsアプリケーションが使えたら、できることが随分と広がりそうですね。

Android-x86搭載のタブレットやRemix OS搭載のマシンでも動作するようです。

x86マシン限定とはいえ、Android上でWindowsアプリケーションを動かすことができるとWindowsマシンを持たなくても良くなるかも知れません。

しかしながら、Crossover for Androidは他のCrossover製品から考えて、将来的には有料になるでしょう。

古いマシンを蘇らせる目的の人の場合には、Linuxを利用してそこでWineを使うというのが王道なのでしょうね。


追記

その後、メールが来てインストール、実行できました。

arekorebibouroku.hateblo.jp

タブレット買うならドスパラ 新品でも中古でも

VirtualBoxでRemix OSを試してみました

VirtualBoxでRemix OSを試してみました。

Remix OS付属のインストーラーはWindowsからしか実行できないことからAndroid x86に使われているインストーラーで仮想ハードディスクに書き込むことにしました。

インストール方法は以下の記事に詳しく書かれています。

www.atmarkit.co.jp

フォーマットはFAT32でも大丈夫です。

データを書き込む仮想ハードディスクイメージが作られます。

仮想ハードディスクイメージの中にさらに仮想ハードディスクイメージが作られるので遅いような気もしますが、FAT32の方がRemix OS本体イメージが展開されてインストールされることなく、このイメージが起動時にメモリに読み込まれるので速いかも知れません。

最初の起動時にデータを書き込むイメージファイルの初期化が行われるのでとても時間がかかります。

f:id:t_massann:20161009121806j:plain

気長に待ちましょう。

セットアップの指示に従ってセットアップを完了させます。

最初のセットアップは英語か中国語しか選べませんが、英語でもほぼ問題なくセットアップを完了できると思います。

WiFi接続設定の画面が出ますが、VirtualBoxではネット接続は標準でNAT接続でこれは有線接続とみなされるのでスキップしてください。

警告が出ますが無視してスキップします。

Google Playを使うかどうか聞かれるので、使うようにします。

最初からチェックボックスにチェックが入っていると思います。

セットアップが終わるとデスクトップ画面が現れます。

f:id:t_massann:20161009122305j:plain

これはすでにいろいろとインストールしたあとの画面ですが。

デスクトップにある「Play Activator」をダブルクリックして起動します。

f:id:t_massann:20161009122503j:plain

このようなウィンドウが開くので、「YES,LET'S ACTIVATE」をクリックしてGoogle Play関連アプリをインストールします。

あとは通常のAndroid端末と操作は同じです。

Googleのアカウントとパスワードを入力します。

注意が必要なのはキーボードレイアウトが英語になっていることです。

アカウント名やパスワードに記号を使っている場合には、押すキーがいつもと違うために注意しなくてはいけません。

パスワードは入力した文字を確認できないので特に注意です。

USキーボードと日本のキーボードの違い

JP106からUS101キーボード対応図

アカウント登録が完了するとGoogle Playが使えるようになります。

どちらが先でも構いませんが、このあと「設定」で言語を日本語にしましょう。

そしてGoogle Playを起動し、検索で"google"と入力し、検索候補(サジェスト)の中から「Google 日本語入力」を選択してインストールします。

すぐにダウンロードが始まらない場合があります。

それはすでにインストールされているアプリで新しいバージョンが出ているものがバックグラウンドで更新されているからです。

左上の「三」に似たボタン(ハンバーガーボタン)からメニューを呼び出し、「マイアプリ&ゲーム」で更新中のアプリを見つけて更新を停止します。

f:id:t_massann:20161009125028j:plain

バックグラウンドで勝手に更新しないようにするには先程のメニューの「設定」からできます。

Google日本語入力をインストールしたら入力アプリをこの日本語入力にして、先ほどのキーボードレイアウトの設定をします。

その方法はこちらに書かれています。

arekorebibouroku.hateblo.jp

AbemaTVを起動してみました。

f:id:t_massann:20161009124408j:plain

少しレイアウトが崩れますが、まずまず問題なく動作します。

私の環境では最初、画像は問題なく表示されますが、音が途切れ途切れ、というかたまに少しだけ音が聞こえるという感じでした。

Android-x86でも試してみましたが状況は同じでした。

設定を見なおしてみたところ、VirtualBoxのオーディオの設定で「ホストオーディオドライバー」が「PulseAudio」になっていたせいでした。

f:id:t_massann:20161009125005j:plain

ALSAオーディオドライバー」にしたところ、問題なく音声が出力されました。

Intelの仮想化がちゃんと効いているせいか、非常に高速に動作します。

これならわざわざ実際のハードディスクにインストールする必要は無いかも知れません。

仮想環境にインストールして、実行したほうが安全ですしね。