**AndroidをVMWareにインストール [#p9c4f708] RIGHT:更新日 &lastmod(); AndroidをVMwareにインストールしてみる。 **作業環境 [#w3036f8c] 方法はVMware上にUbuntuをインストールしてそのうえでAndroidをkernelからビルドして、それをVMWareの別ドライブにコピーし、最後にそのドライブを別のVMWareからAndroidして起動する 初めにUbuntuの仮想マシンは下記URLからダウンロード http://www.ubuntulinux.jp/products/JA-Localized/vmware Androidビルドにはメモリが必要なので、Ubuntu仮想マシンには1.5GBを割り当てた。 **Ubuntu上で作業 [#v4327f2c] 以降は仮想マシンUbuntuを起動して作業 ***Android kernel source の取得 [#j26f0469] $ cd $ git clone git://android.git.kernel.org/kernel/common.git kernel $ cd kernel $ git checkout --track -b android-2.6.29 origin/android-2.6.29 kernelディレクトリにDownlodされる ***ビルド環境設定 [#u9ee6e48] $ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf \ libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl \ libncurses5-dev zlib1g-dev $ cd ~ $ mkdir bin $ export PATH=$PATH:~/bin $ echo “export PATH=$PATH:~/bin” >> ~/.bashrc $ export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.16 $ echo “export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.16″ >> ~/.bashrc ***Androidソースリポジトリのダウンロード [#ua72e76e] $ curl http://android.git.kernel.org/repo > ~/bin/repo $ chmod a+x ~/bin/repo ''・リポジトリの初期化'' $ mkdir cupcake $ cd cupcake $ repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake ※ ユーザ名、メールアドレスはそのままEnter 最後は「yes」 「.repo」というディレクトリを確認できればOK ''・リポジトリのダウンロード'' $ repo sync Fetching projects: 100%"が表示されるとDownload完了。出ないときは「repo sync」を再実行 以下のファイルをx86用のソースをDownloadする為作成 ''.repo/local_manifest.xml'' <?xml version="1.0" encoding="UTF-8"?> <manifest> <project name="platform/vendor/asus/eee_701" path="vendor/asus/eee_701"> </project> </manifest> x86用のソースの取得 $ repo sync "Fetching projects: 100%"が表示されればOK ***パッチの適用 [#he451bec] 以下からパッチをホームディレクトリにDownload http://code.google.com/p/patch-hosting-for-android-x86-support/downloads/list $ cd ~ $ patch -d ~/cupcake/vendor/asus/eee_701 < 0001-1.-added-scripts-to-build-install-image.patch $ cd ~/cupcake/frameworks/base $ patch -p1 < ~/0001-fixed-different-build-breaks-added-mouse-cursor-sup.patch $ patch -p1 < ~/touchscreen.patch $ cd ~/cupcake/kernel $ patch -p1 < ~/alarm.patch $ patch -p1 < ~/atl1e.patch $ patch -p1 < ~/atl2-2.2.3.patch $ patch -d ~/cupcake/external/e2fsprogs < ~/e2fsprogs.patch $ patch -d ~/cupcake/external/qemu < ~/qemu_gnu.patch ※ -dオプションを付ける時は最後に"/"を付けない ''frameworks/base/services/java/com/android/server/PowerManagerService.java''を修正 // assume nothing is on yet mUserState = mPowerState = 0; ↓ mUserState = mPowerState = SCREEN_BRIGHT; **Androidおよびカーネルのビルド [#nd2bd59d] ''・Androidのビルド'' $ TARGET_ARCH=x86 TARGET_PRODUCT=eee_701 DISABLE_DEXPREOPT=true make -j4 installer_img ※ "Done with bootable installer image -[ out/target/product/eee_701/installer.img ]-" が表示されていれば完了 ''・カーネルのビルド'' $ cd kernel $ make i386_defconfig $ make menuconfig 以下を変更