Google OS実験室 ~Moonlight 明日香~

GoogleのAndroidで遊び始めて, すでに6年以上が経った. Androidは思った以上の発展を遂げている. この技術を使って, 新しいことにチャレンジだ!!

Android-x86をビルドする

Android本家からソースをダウンロードしてAndroidをビルドしてみようと思ったのですが, まずは, Androidをx86パソコンで動作させるために活動されているAndroid-x86 Projectの成果を活用させていただくことにしました.

Android-x86のビルドに関しては, 多くの方が情報を公開されていますが, 一応手順をまとめておきます.

1. ビルド環境を構築する.
[1]
1.1 必要なパッケージをインストールする.
 - Git 1.5.4以上, GNU Privacy Guard
 - JDK 6.0 (Android本家ではSunのJDK5.0.xとなってますが, Ubuntu 9.10ではjun-java5-*パッケージがないので...)
 - flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev, build-essential, zip, curl
 - valgrind


$ sudo apt-get update
$ 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

1.2 Repoをインストールする.
ホームディレクトリの~/binにrepoをインストールし, PATHを通す.

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


2. ソースコードを取得する. [2][3]
Android-x86のGetSourceからソースコードをダウンロードする. (今回ダウンロードしたのは, android-x86 1.6 2010-01-25版)

$ mkdir Android-x86
$ cd Android-x86
$ repo init -u git://git.android-x86.org/platform/manifest.git -b donut-x86
$ repo sync

SourceForge.net: android-x86 - Developからも同様のソースコードをダウンロードできる.

$ repo init -u git://android-x86.git.sf.net/gitroot/android-x86/manifest.git -b donut-x86

SourceForge.netの方がダウンロード時間が短いようだ!!

3. ビルドする.
make一発で終わりかと思ったら, ビルドエラーが....

                           :
external/opencore/pvmi/pvmf/include/pvmf_event_handling.h:339: undefined reference to `vtable for PVMFAsyncEvent'
external/opencore/pvmi/pvmf/include/pvmf_event_handling.h:339: undefined reference to `vtable for PVMFAsyncEvent'
external/opencore/pvmi/pvmf/include/pvmf_event_handling.h:339: undefined reference to `vtable for PVMFAsyncEvent'
out/target/product/eeepc/obj/STATIC_LIBRARIES/libpvjitterbuffernode_intermediates/libpvjitterbuffernode.a(pvmf_jitter_buffer_node.o): In function `PVMFCmdResp':
external/opencore/pvmi/pvmf/include/pvmf_event_handling.h:140: undefined reference to `vtable for PVMFCmdResp'
collect2: ld returned 1 exit status
make: *** [out/target/product/eeepc/obj/SHARED_LIBRARIES/libopencore_net_support_intermediates/LINKED/libopencore_net_support.so] エラー 1

3.1 パッチをあてる.
Android-x86のDownloadからpatch(opencore build break fix for donut and eclair)をAndroid-x86ディレクトリにダウンロードし, opencoreにpatchをあてる.

$ cd external/opencore
$ patch -p1 < ../../open_core_build_break.diff

3.2 イメージファイルを作成する.
makeすると, Live USBイメージファイル(eeepc_usb.img)がout/target/product/eeepcに作られる.

$ cd ../../
$ make usb_img TARGET_PRODUCT=eeepc

注) Live CD-ROMイメージを作る場合は, "usb_img"を"iso_img"とする.

4. USBイメージを書き込む.
512Mバイト以上のUSBメモリーを準備し, eeepc_usb.imgを書き込む.

$ sudo dd if=out/target/product/eeepc/eeepc_usb.img of=/dev/sdX

注) /dev/sdXのXはUSBメモリのデバイスに設定する.

書き込みが完了すると, Live USBイメージの作成は終わり!!


-----
参照URL:
 [1] Get source (Android Open Source Project)
 [2] Get Source (Android-x86 - Porting Android to x86)
 [3] SourceForge.net: android-x86 - Develop
 [4] 「Android」をx86パソコンで動かしてみよう

Android / Chrome OSのビルド環境構築

Android / Chrome OSのビルド環境として, VMPlayer 3.0でUbuntu 9.10をインストールしてみました.

PC環境
  CPU : Intel Core(TM)2 Quad Q8400 @ 2.66GHz
  OS : Windows 7 Ultimate
  Memory : 4.0GB
 HDD : 320GB

インストール手順をまとめておきます.

1. Ubuntu 9.10のインストール用CDイメージをダウンロードする.
http://www.ubuntulinux.jp/News/ubuntu910-desktop-ja-remix

2. VMPlayer 3.0をダウンロードしインストールする.
http://downloads.vmware.com/d/info/desktop_downloads/vmware_player/3_0

3. VMPlayer 3.0でUbuntu 9.10を仮想マシンとしてインストールする.
(1) VMPlayer 3.0を起動し, 「新規仮想マシンの作成(N)」を選択する.
(2) 「インストーラディスクイメージファイル(M)(iso):」を選択し, (1)でダウンロードしたUbuntu 9.10のインストール用CDイメージを指定する.
(3) 「簡易インストール情報」, 「仮想マシンの名前」を順に設定する.
(4) 「ディスク容量の指定」でディスク最大サイズを設定する. 
Androidをビルドするのに10GB程度必要らしいので, Chrome OS分も含め余裕を見て50GB確保することにした.
(5) 「ハードウェアをカスタマイズ」でメモリを設定する. 
デフォルトは512MBだが1024MBに設定した.
(6) 設定が完了すると, 簡易インストーラがUbuntuをインストールする.
(7) 簡易インストーラがVMware Toolsをインストールする.
途中で username/passwordを聞いてくるので入力する.
以上で, Ubuntu 9.10のインストールは完了で~す.

4. Ubuntu 9.10の設定を行う.
(1) キーボード
Ubuntuの「システム>設定>キーボード>レイアウト」で, 「追加>言語別」から"日本語"を追加する.
"日本"をデフォルトにする.
(2) アップデート
Ubuntuの「システム>システム管理>アップデート・マネージャー"でソフトウェアを最新にしておく.
(3) 共有フォルダ
VMPLayerの「VM>設定>オプション」で, 共有フォルダを"常に有効"にし, 「追加」を選択する.
共有フォルダ追加ウィザードでホストOSとの共有フォルダを設定する.
共有フォルダは, /mnt/hgfs/xxxx となる.

5. 開発に必要なソフトウェアをインストールする.
(1) エディタ(emacs)
普段からemacsを使っているので, Ubuntuの「システム>システム管理>Synaptic パッケージ・マネージャ」で, "emacs"を検索しインストールする.

★VMPlayer 3.0になって, ゲストOSのインストールがめっちゃ簡単になった. バンザイ!!

------
2010/6/12
現在では, Chromium OS(Chrome OS)の推奨開発環境は64bit版Ubuntuとなっています.
32bit版Ubuntuでビルドにトライしましたが, 断念してしまった. (
Chromium OSをビルドする)



続きを読む
livedoor プロフィール
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

記事検索



  • ライブドアブログ