Android-x86 2.1 (eclair) のビルドに挑戦
今回はAndroid-x86 2.1 (eclair) のビルドに挑戦してみました。
前回のエントリーでは Android-x86 1.6 (donut) を仮想環境にインストールする手順をご紹介いたしました。その際に使用した Android インストール用 iso ファイルは Android-x86 のサイトからダウンロードをしましたが、ソースコードを取得してビルド(imgファイルやisoファイルを作成)することも可能なため、挑戦してみることにしました。
なお、Android-x86 2.2 (froyo) のソースコード取得についても可能になっているようですが、筆者が試みた時点では「froyo-x86」を指定してソースコードを取得することはできませんでした。
Android-x86 のビルドを行う際には、下記のサイトを参照させていただきました。
- 本家 Android のビルドについて(参考)
ビルドを行った環境
動作確認を行った環境
- 機種名:MacBook
- CPU:Intel Core 2 Duo(2 GHz)
- メモリ:1GB
- OS + 仮想環境:Mac OS X 10.6 + VirtualBox,Xubuntu 10.04 + KVM
Android のビルド手順については多くのサイトで扱われていますので、本記事では前半部分を簡単な手順説明とし、後半部分にて仮想環境での動作確認の内容を記載いたしました。
java JDK 6.0 のインストール
Android をビルドするには Java JDK 5 を利用しますが、Xubuntu (Ubuntu) 10.04 では利用できないので、Java JDK 6 を利用します。
※下記の作業はrootユーザとして作業を行います。
下記コマンドでAPTリポジトリを追加します。
add-apt-repository 'deb http://archive.canonical.com/ lucid partner'
次に下記コマンドを実行してパッケージリストを更新します。
apt-get update
パッケージリスト更新後、下記コマンドを実行して Java JDK をインストールします。
apt-get install sun-java6-jdk
次に環境変数 JAVA_HOME を設定します。筆者はrootユーザの「.bashrc」ファイルに以下1行を追加しました。お使いの環境にあわせて設定してください。
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.20
「.bashrc」ファイル編集後は、下記コマンドを実施して環境変数を反映させます。
source ./.bashrc
ビルド用環境の構築とビルド作業
※下記の作業はrootユーザとして作業を行います。
ビルド用環境の構築
下記コマンドを実行してビルド作業に必要なパッケージをインストールします。
apt-get -y install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind g++
次に repo コマンド(Androidソースコードのバージョン管理ツール)をダウンロードし、実行権を付加します。
$ cd ~ $ mkdir bin $ curl http://android.git.kernel.org/repo >~/bin/repo $ chmod 755 ~/bin/repo
環境変数 PATH を設定します。筆者はrootユーザの「.bashrc」ファイルに以下1行を追加しました。お使いの環境にあわせて設定してください。
export PATH=$PATH:/root/bin
「.bashrc」ファイル編集後は、下記コマンドを実施して環境変数を反映させます。
source ./.bashrc
リポジトリ設定とソースコード取得
ソースコード取得とビルド作業でGB単位のディスク容量を使いますので、10GB以上の空き容量が必要です。
まず、ソースコードダウンロード先となる作業ディレクトリを作成します。下記では「build_eclair」というディレクトリを作成しています。
mkdir build_eclair cd build_eclair
作業ディレクトリに移動後、下記コマンド*1を入力してリポジトリ設定を行います。コマンド末尾に「Android のコードネーム」と「-x86」 を空白なしで続けて入力しバージョンを指定します。Android のコードネームについてはこちらをご参照ください。
この手順の途中でユーザ名とメールアドレスを入力する必要があります。
repo init -u git://android-x86.git.sf.net/gitroot/android-x86/manifest.git -b eclair-x86
リポジトリ設定終了後は下記コマンドを実行して、ソースコードをダウンロードします。
repo sync
筆者の環境では、終了するまでに1時間半ほどかかりました。
仮想環境での動作確認
仮想環境での動作確認は、Mac OS X 10.6 + VirtualBox と Xubuntu 10.04 + KVM という環境で行いました。VirtualBoxでは右クリックができなかったのですが*2、KVMでは右クリックOKでしたので、仮想マシン側の設定によるものと思われます。
VirtualBox
仮想マシンの作成や仮想環境へのAndroidインストール手順については仮想環境への Android インストール手順(VirtualBox)に詳細を記載しましたのでご参照ください。
ネットワークアダプタタイプを「PCnet-FAST III」に設定することで、ネットワーク通信には問題ありませんでした。
下の画像はホーム画面です。アイコンのデザインが変化しています。
アプリケーション一覧画面です。Android-x86の「App Store」がないので、インストールする必要があります。
デフォルトでは1分間画面操作がなかった場合に画面ロックがかかります。15秒から30分まで設定変更が可能です。
設定メニューにはアイコンが追加されています。
Google Map の表示は問題ありませんでした。下の画像は地図表示の状態です。
下の画像は衛星写真表示の状態です。
シャットダウンメニューにサイレントモードと機内モードの設定項目が追加されています。
シャットダウン画面です。
KVM
ネットワーク通信を有効にするため、kvmコマンドに nicモデル指定「-net nic,model='pcnet'」を含める必要があります。
仮想マシンの作成手順はKVMを使った仮想OS設定手順についてに、Androidインストール手順については仮想環境への Android インストール手順(VirtualBox)に詳細を記載しましたのでご参照ください。
KVMでは、画面ロックがかかってしまうと、通常画面に戻れなくなってしまうので、ロックがかかるまでの時間を長く設定する必要がありました。
他の操作については、特に問題ありませんでした。
下の画像は、ブラウザ表示時に右クリックメニューを表示しているところです。
下の画像はホーム画面で右クリックメニューを表示しているところです。
筆者の環境(MacBook + Xubuntu 10.04)ではコンソール画面に切り替えるには「fn」+「alt」+「F1」キー、通常画面に戻るには「fn」+「alt」+「F7」キーを同時に押す必要がありました*3。