android-x86をソースコードからビルドする

ubuntu-12.04 (64bit)で、android-x86をビルドしてみます。


1 ビルドに必要なパッケージのインストール

androidのページに載っているように、ビルドに必要なパッケージをインストールします。

$ sudo apt-get install git gnupg flex bison gperf build-essential
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc zlib1g-dev:i386 libglapi-mesa:i386 \
libgl1-mesa-dri:i386 gettext yasm
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 \
/usr/lib/i386-linux-gnu/libGL.so

2 Oracle Java JDKのインストール

Oracle Javaのページからjdk-6u45-linux-x64.binを入手します(アカウント登録が必要です)。

$ chmod a+x jdk-6u45-linux-x64.bin
$ ./jdk-6u45-linux-x64.bin

PATHを通します。

$ export PATH=`pwd`/jdk1.6.0_45/bin:${PATH}

jdk1.6.045/binではなく、jdk1.6.045/bin/にすると コンパイルエラーになる現象が発生する点にご注意を。

 

3 repoのインストール

androidのリポジトリ管理コマンドのrepoを入手します。

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

4 android-x86

android-x86-4.4のリリースノートに記載されている手順でandroid-x86のソースコードを取得します。

$ mkdir android-x86
$ cd android-x86
$ repo init -u http://git.android-x86.org/manifest -b android-x86-4.4-r2
$ repo sync

ビルドします。

$ make -j4 iso_img TARGET_PRODUCT=android_x86

isoイメージが作成されます。

out/target/product/x86/android_x86.iso

カーネルもビルドされるので、ローダブルモジュールの作成も可能です。 Android-x86のページのandroid-x86-4.4-r2.isoで作成したAndroid上でモジュールのロードもできました。

out/target/product/x86/obj/kernel/

5 作成したandroid-x86のisoイメージをインストールしてみたが

isoイメージをインストールしてみたところ、android-x86-4.4-r2.isoでインストールした場合と同じものになりませんでした(初回起動時に言語選択やGoogleアカウント入力のガイドが出ない)。