2016-03-28

LinuxとAndroid-x86のマルチブート

Android-x86ではLinuxのkernelとGRUBを使ってブートしているので簡単にLinuxとマルチブートできると思っていたのですが、インストールされたAndroidのディレクトリツリーは特殊な為Linuxのupdate-grubコマンドを使っても自動検出はされません。

LinuxのGRUBでAndroid-x86を起動する場合の方法
まずLinuxを通常起動させます。

次にGRUBで他のOSを検出する際に使われているシェルスクリプトを編集します。
エディタで/etc/grub.d/40_customを編集します。
menuentry 'Android-x86 4.4-r5' {
    set root='hd0,gpt4'
    linux /android-4.4-r5/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86
    initrd /android-4.4-r5/initrd.img
}
set rootで指定するAndroid-x86がインストールされたパーティションは環境によって変化するので参考にされる方は要注意。
androidboot.hardwareの値はインストールする機器によって変える必要があるみたいですがよくわかりません。

ファイルを保存したらgrub.cfgのアップデートを行います。
# update-grub
これでPC内のOSを再スキャンし、先ほど記述した内容がgrub.cfgに追加されます。

動作確認するためにLinuxを再起動させましょう。
GRUBメニューに先ほど記述した項目名が追加されていれば成功です。
選択して無事にAndroid-x86が起動するか確認してみましょう。


にほんブログ村 IT技術ブログへ ブログランキング・にほんブログ村へ

0 件のコメント:

コメントを投稿