android cupcakeをdev phone 1にインストール(CentOS 5.2)

centOS5.2を使ってandroid dev phone 1 に cupcakeをインストールしてたので、その手順を書きます。

色々突っ込み所があると思いますので,気がつかれた方はご指摘いただけると助かります。
長いので先に感想を書いておきます。

■cupcakeにしてよかったこと。
 -OSが日本語対応になった。(ただし、日本語入力は未対応。)
 -ソフトウェアキーボードがデフォルトで付いた。(画面が小さい割にはうちやすいかも?)

■cupcakeにして困ったこと。
 -3G通信ができなくなった。(Wifiでの通信はできます。SIMをうまく認識できてない?)
 -cupcakeにデフォルトで入っているアプリ以外は動かなくなった.(SDKのバージョンが関係してるらしい)

■現状での結論
 まだ、android1.0(or 1,1)でいいかも。新しいバージョンを試したいならemulatorでいいし。実用性が著しく下がるのはいただけないかも。

以下、手順です。

■注意事項
 この作業は失敗するとdev phoneがレンガになってしまいますので、参考にされる方はあくまで自己責任でお願いします。後述しますが、バックアップをお薦めします。
また、あくまで私の環境でインストールした場合なので若干の差異があることはご了承ください。

■事前作業
#USB用のファイルを作成

vi /etc/udev/rules.d/z60-android.rulses

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666"

chmod a+rx /etc/udev/rules.d/z60-android.rules

#参考サイト
http://developer.android.com/guide/developing/device.html

#fastbootを使えるようにする
#What's this?
USB経由でandroidバイスflash filesystemをupdateするためのプロトコル
 ビルドしたandroidソースにfastbootがあります。

 #FASTBOOT path
~/mydroid/out/host/linux-x86/bin/fastboot

#FASTBOOT mode
カメラボタンを押しながら起動する。
しばらく待つと、スケートボードに乗ってるアンドロイド画面が出る。
USBに接続したら、バックボタンを押す。
'FASTBOOT'が表示されたら、実行可能。
(戻るには、menu+通話+通話終了ボタンを同時に押す)

#参考サイト
http://android-dls.com/wiki/index.php?title=Fastboot

■ToDo
 1.cupcakeソースを取得
 2.ビルドしてimg作成
 3.バックアップを作成
4.fastbootでimgをdev phoneに書き込む

1.cupcakeソースを取得
 'Git'&'Repo'でandroidコードに色々できる

#Git
#インストール

#Before install git
#install xmlto
  yum install xmlto

#install asciidoc
yum install asciidoc

(http://www.how-to-linux.com/id/2009/01/install-git-161-on-centos-52/comment-page-1/)
yum install gettext-devel expat-devel curl-devel zlib-devel openssl-devel

wget http://kernel.org/pub/software/scm/git/git-1.6.2.tar.gz

tar xvfz git-1.6.2.tar.gz

cd git-1.6.2/

make install


#Ropo
ソースを落とすのに使う
Gitの補助として活用

#インストール

cd ~

mkdir bin

echo $PATH

curl http://android.git.kernel.org/repo >~/bin/repo

chmod a+x ~/bin/repo

#初期化

mkdir ~/mydroid

cd ~/mydroid

repo init -u git:android.git.kernel.org/platform/manifest.git


#HTC Dream用追加ソースの設定
http://source.android.com/documentation/buildng-for-dreamからlocal_manifest.xmlを取得

#ソースの取得
cd ~/mydroid
repo sync

#参考ページ
http://source.android.com/download
http://d.hatena.ne.jp/linuzau/20081228
http://source.android.com/documentation/building-for-dream

2.ビルドしてimg作成
#ビルドの前に機器固有のライブラリ類のバックアップ

cd ~/mydroid/vendro/htc/dream

./extract-files.sh


#ビルドに必要なファイルを用意
#ファイルをコピー

cp ~/mydroid/build/buildspec.mk.default ~/mydroid/buildspec.mk

#ファイルを編集

#TARGET_PRODUCT:=generic -> TARGET_PRODUCT:=htc_dream

#ビルドの前に必要なものをインストール

#install bison
yum install bison

#install ncurses
yum install ncurses

#install libX11-devel
yum install libX11-devel

#install readline-devel
yum install readline-devel

#install gperf
yum install gperf

#ビルド

make

~/mydroid/out/target/product/dreamにファイルが生成されていることを確認

#ビルドしたソースのemulatorを起動

cd ~/mydroid/out/host/linux-x86/bin

./emulator -system ~/mydroid/out/target/product/dream -image ~/mydroid/out/target/product/dream/system.img -kernel ~/mydroid/prebuilt/android-arm/kernel/kernel-qemu -ramdisk ~/mydroid/out/target/product/dream/ramdisk.img -data ~/mydroid/out/target/product/dream/userdata.img -noaudio -skindir ~/mydroid/development/emulator/skins -skin HVGA

3.バックアップを作成
#標準アプリのバックアップ

mkdir ~/android-back

cd ~/android-back

adb pull /system/app dreamapps

#バックアップしたアプリのインストール方法
adb install ~/android-bak/dreamapps/'app_name'.apk

#インストールできなかったアプリ
#Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY]
Maps.apk, Vending.apk, gtalkservice.apk
  
#ファームをnandroidを使ってバックアップ
#recovery.imgをダウンロード
(JFv1.31) http://android-dls.com/files/jf/v1.31/JFv1.31_ADP1.zip
この中にあるrecocery.imgを取得

#fastbootでrecovery.imgを書き込み

fastboot flash recovery recovery.img

#nandroidをインストール
http://www.gotontheinter.net/content/nandroid-v20-full-nand-backup-and-restore-tool

nandroid-2.0.zipを取得(http://www.gotontheinter.net/sites/default/files/nandroid-2.0.zip)

  mkdir ~/android-tools

cd ~/android-tools

unzip nandroid-2.0.zip


#androidリカバリモードで起動
ホームを押しながら終話(赤)ボタンを押して起動

#バックアップ

mkdir ~/android-tools/adp1-1.0

cd ~/android-tools/nandroid-2.0

./nandroid.sh ~/android-tools/adp1-1.0

4.fastbootでimgをdev phoneに書き込む

cd ~/mydroid/out/target/product/dream/

~/mydroid/out/host/linux-x86/bin/fastboot flash system system.img

~/mydroid/out/host/linux-x86/bin/fastboot flash userdate userdate.img

~/mydroid/out/host/linux-x86/bin/fastboot boot boot.img

~/mydroid/out/host/linux-x86/bin/fastboot reboot

#参考サイト
http://d.hatena.ne.jp/ma_chupic_chu/20090104/1231257200
http://android-dls.com/wiki/index.php?title=Fastboot
http://blogger.splhack.org/search/label/android