- 追加された行はこの色です。
- 削除された行はこの色です。
**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
以下を変更