2012年10月23日火曜日

AmazonEC2でAndroidのビルド環境構築3(ビルド環境準備)

Ubuntu10.04上にAndroidのビルド環境を用意します。

1. Androidのビルドに必要なソフトウェアをインストール
Ubuntu10.04上で作業します。
(i) Androidのビルドに必要なソフトウェアのインストール
~$ sudo apt-get update
~$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zligb1g-dev gcc-multilib g++-multilib lib32ncurses5-dev x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev uboot-mkimage
※うまくいかない場合もあるので1つずつインストールした方が無難かも

※32bit版Ubuntuの場合には
lib32ncurses5-dev , lib32readline5-dev lib32z-dev はインストール不要
libncurses5-dev がインストール必要

2. DevKitのインストール
DevKitと呼ばれるrowboatの開発者向けソフトウェア群をインストール
ビルドにはAOSPに含まれる開発ツールだけでは不足している のでDevKitで不足を補える
(ii) DevKitのインストール
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_GingerBread_2_3_4_DevKit_2_1/index_FDS.html
より「TI_Android_GingerBread_2_3_4_DevKit_2_1.tar.gz」をダウンロード

$ tar xzvf TI_Android_GingerBread_2_3_4_DevKit_2_1.tar.gz -C $HOME
$ mkdir $HOME/bin
$ cd $HOME/bin
~/bin$ cp /home/Ubuntu/TI_Android_GingerBread_2_3_4_DevKit_2_1/Tools/signGP/signGP $HOME/bin
~/bin$ gedit $HOME/.bashrc
最終行に export PATH=$PATH:$HOME/bin を追加
~/bin$ source $HOME/.bashrc


3. ソースコードのダウンロード 
[repoコマンド設定]
~$ cd $HOME/bin
~/bin$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > $HOME/bin/repo
~/bin$ chmod a+x repo

[Android2.3のソースコードのダウンロード]
~$ mkdir $HOME/rowboat-android
~$ cd $HOME/rowboat-android
~/rowboat-android$ repo init -u git://gitorious.org/rowboat/manifest.git -m TI-Android-GingerBread-2.3.4-DevKit-2.1.xml

途中下記を聞いてきますが、デフォルトで答えます
Your Name  [Ubuntu]: 
Your Email [ubuntu@ip-10-150-101-252.ap-northeast-1.compute.internal]: 

Your identity is: Ubuntu
is this correct [y/N]? y

Testing colorized output (for 'repo diff', 'repo status'):
  black    red      green    yellow   blue     magenta   cyan     white 
  bold     dim      ul       reverse 
Enable color display in this user account (y/N)? y

repo initialized in /home/ubuntu/rowboat-android


~/rowboat-android$ repo sync -j4 (時間がかかる:90分程度でした)
-j4はコア数によって。-j4は無くても良いです。

[パスの設定]
~/rowboat-android$ gedit $HOME/.bashrc
export PATH=$HOME/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
最終行に追加
~/rowboat-android$ source $HOME/.bashrc

[補足]
repoでソースコードをダウンロードしているときに容量の不足になってしまいました。
(8GByteしかEBSでとってなかったので当然ですが)
8GByte→30GByteに拡張します。
(i) 対象のインスタンスを「stop」
(ii) ELASTIC VOLUME STORE -> Volumes ->対象のVolumeにチェック -> Create Snapshot
(iii) 作成されたSnapshotにチェックし -> Create Volume
※ZONEもインスタンスとそろえないと接続できないようです。
(iv) 今までついていた8GのVolumeをチェックし、-> Detach Volume をクリックしインスタンスからはずす
(v) 新しく作成したVolumeをチェックして、Attach Volumeをチェックし「/dev/sda1」として接続
(vi) インスタンスをスタート
(vii) sshで接続して見てみるとまだ反映されていません。

$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              8256952   7783216     54308 100% /
none                    830400       116    830284   1% /dev
none                    880744         0    880744   0% /dev/shm
none                    880744        80    880664   1% /var/run
none                    880744         0    880744   0% /var/lock
none                    880744         0    880744   0% /lib/init/rw
/dev/sdb             153899044    192068 145889352   1% /mnt


(viii) リサイズ sudo resize2fs /dev/sda1を実行

$ sudo resize2fs /dev/sda1
resize2fs 1.41.11 (14-Mar-2010)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/sda1 to 7864320 (4k) blocks.
The filesystem on /dev/sda1 is now 7864320 blocks long.

~$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             30963708   7788064  21603064  27% /
none                    830400       116    830284   1% /dev
none                    880744         0    880744   0% /dev/shm
none                    880744        76    880668   1% /var/run
none                    880744         0    880744   0% /var/lock
none                    880744         0    880744   0% /lib/init/rw
/dev/sdb             153899044    192068 145889352   1% /mnt
これでEBS容量の拡張ができました。

0 件のコメント:

コメントを投稿