2010年10月1日金曜日

Ubuntu 10.04 で x86 向け Android 2.2 (froyo-x86) のビルド(コンパイル)と iso イメージの構築

今回は android-x86.org を参考にして、Android を ubuntu 10.04 でコンパイルし、インストールディスクを作成してみます。ただし、記事のままだとマウスが動かないなどの状態だったので、実用的に使えるレベルで動作させるには、このブログ記事の内容に加えてカーネルをカスタマイズしていく必要がありそうです。

コンパイルを行う環境として、ハードディスクドライブは20GB、メモリとしては最低でも1GBぐらい必要です。特に VMware や VirtualBox 等仮想環境でコンパイルする場合は割り当てるリソース量を多めにしてください。

まず、Java について躓いたのでメモ。Ubuntu 10.04 では、OpenJDK を標準化したいらしく、sun による実装がパッケージマネージャに含まれていないらしい。まず、Java のリポジトリを追加する。次の % までが1行ですので、お気をつけ下さい(出力は書いていません)。

% sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
% sudo apt-get update

ちなみに、Java 1.5 JDK でのコンパイル環境を想定しているらしいが、最近最新版の 1.6 でもコンパイルできるようにパッチがあてられたらしいので問題なし。

コンパイル等に必要なパッケージをインストール。

% sudo apt-get -y install git-core gnupg sun-java6-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind g++

ソースコードの管理は git で行われているが、Android 用にこれをラッピングする repo というスクリプトがあるのでそれを ~bin にインストールし、実行権限とパスを設定。

% mkdir ~bin
% curl http://android.git.kernel.org/repo >~/bin/repo
% chmod a+x ~/bin/repo
% export PATH=$PATH:~/bin

JAVA_HOME を設定する必要があるようなので、設定。

% export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.**.**

(Java のバージョンは変わるので、各自調整してください。Ubuntu のデフォルトのシェルである bash の場合、java-6-sun-1.6. まで入力したら[TAB]キーでその後ろを補完してくれます)

ホームディレクトリの直下に android-x86 というディレクトリを作成し、そこにリポジトリからソースコードをダウンロード。

% mkdir ~android-x86
% cd ~android-x86
% repo init -u git://git.android-x86.org/manifest.git -b froyo-x86
% repo sync

repo init の行で、名前とメールアドレスを聞かれるので、入力する。その次の repo sync を実行した時点で、ソースコードのダウンロードが始まる。結構時間かかります。ちなみに、執筆時では実際にダウンロードした全容量は 4.6 GB でした。

ダウンロードが完了したら、コンパイルして iso イメージを作成。USB イメージも作成できるようですが、今回はより簡単な Live CD を作成してみます。Live CD を作成するには、make のターゲットを iso_img とします。OSを構築するので、このコンパイル作業には数時間かかります。

% make iso_img TARGET_PRODUCT=generic_x86

以上の作業で、~/android/out/target/product/generic_x86/generic_x86.iso が作成されているはずです。これが Live CD 本体ですので、このファイルを CD に焼き、CD からブートしてみてください。BIOS で CD から起動できる設定にするのをお忘れなく。なお、Live ディスクからハードディスクへのインストールも可能のようです。

なお、USB イメージの作成だけでなく、iso データを圧縮するかオプションで設定したり、マルチプロセッサによる並列化等ができるようですが、これについては公式ページを参照してください(英語)。

コンパイルやインストールはできましたが、やはり一部カスタマイズしないとマウスなどが使えなかったりしました。もう少し調べる必要がありそうです。

参考ページ:

  1. 公式ページ(英語)
  2. ITpro 旧バージョン cupcake のインストール手順

0 件のコメント:

コメントを投稿