CyanogenMod7をインストール

CyanogenMod7は、Android2.3(Gingerbread)ベースのカスタムです。

Desireの標準のインターフェース(senseUI)に飽きてきたので、初のカスタムROMを入れてみた。
かなり安定していて、常用ができます。

利点

  1. 最新のAndroidをさわることが出来る
  2. SenseUIより軽い、動きが速い
  3. 多くのアプリがSDに入るので、desireのRAM不足が解決

欠点

  1. SenseUIに慣れてると、ADWLuncherに貧弱さを感じる
  2. HTC謹製アプリがないので、活用している人には不便

必要なモノ

  1. rootedなdesire
  2. ROM Manger

バックアップ

  1. ROM Mangerで「現在のROMをバックアップ」を選択
  2. Desireが再起動して、バックアップを行います

準備

  1. DesireからSIMカードを抜く(パケ死防止)
  2. バッテリーが途中でなくならないように、電源ケーブルをつなぐ

インストール

CM7のインストールは簡単。 ROM Managerを使って、ClockworkMod RecoveryとCyanogenModをインストールする。

ClockworkMod Recoveryの導入
  1. ROM Managerを起動する。
  2. リカバリの項目から「ClockworkMod Recoveryの導入」を選択する。
  3. 「携帯端末の種類を確認」とメッセージが出るので、「HTC Desire」を選択する。
  4. 「ClockworkMod Recoveryの導入が成功」したと、メッセージが出る。
CyanogenModをインストールする。
  1. ROM Managerを起動する。
  2. ROMをダウンロードを選択する。
  3. CyanogenModからCyanogenMod7.0.3を選択し、ダウンロードを選択する。

 ROMアドオンからGoogle Appsにチェックを入れる。

  1. ダウンロードが完了すると、ROMインストール前処理が表示される。

データとキャッシュのワイプ、wipe Dalvik Cacheにチェックを入れる。

  1. OKを選択すると、インストールが始まる。
  2. Desireが再起動して、パッケージインストールが開始される。

 約30分待つとCyanogenMod7が表示される。

玄箱HGのカーネルをコンパイルする

玄箱カーネルを自分でコンパイルすることで、必要なカーネルモジュールを抜き差しすることが出来ます。
カーネルコンパイルする環境は、クロス・コンパイル環境(on openSUSE11.3)で作成しています。

準備

  1. クロス環境を整えたPC
  2. debian lennyの入った玄箱HG

手順

カーネルソースと玄箱用パッチを取得する。

1.Genbako kernel collectionからカーネルソースと玄箱用パッチを適当なディレクトリにファイルをダウンロードします。

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2
$ wget http://www.genbako.com/kurobox-sources-2.6.25.patch

2.ダウンロードしたファイルを展開する。

$ tar jxvf linux-2.6.25.tar.bz2

3.展開したカーネルにパッチを適用する。

$ patch -Np0 < kurobox-sources-2.6.25.patch

カーネルコンパイルを行う。

1.コンフィギュレーションカーネルモジュールの設定を行う。必要なモジュールを有効にする。

% cd linux-2.6.25
% ARCH=ppc CROSS_COMPILE=ppc-linux- make menuconfig

ちなみに、下記の方法で、以前の設定を読み込む。

ARCH=ppc CROSS_COMPILE=ppc-linux- make oldconfig

2.カーネルイメージのコンパイルを行う。

% ARCH=ppc CROSS_COMPILE=ppc-linux- make vmlinux

3.モジュールのコンパイルを行う

% ARCH=ppc CROSS_COMPILE=ppc-linux- make modules
% mkdir ../kernel-2.6.25
% ARCH=ppc CROSS_COMPILE=ppc-linux- INSTALL_MOD_PATH=../modules make modules_install

4.玄箱のloader.oに合致するようにバイナリを変換する。

% ppc-linux-objcopy -O binary vmlinux ../modules/vmlinux.bin
% cp System.map ../modules
% cp .config ../modules

クロス・コンパイル環境(on openSUSE11.3)

玄箱カーネルコンパイルすると1日以上かかってしまい、時間ばかりかかって大変なので、openSUSE11.3に玄箱HGのクロス・コンパイル環境を構築します。

今回は、/usr/local/ppc-linuxの中に、コンパイル環境を構築します。

準備

  1. openSUSE11.3がインストールされているPC
  2. debian Lennyがインストールされている玄箱HG
  3. binutils-2.20.1a.tar.bz2
  4. gcc-core-4.4.3.tar.gz

手順

ライブラリの取得

玄箱HGからコンパイルに必要なライブラリをコピーする。

1.玄箱HGにライブラリ用のパッケージをインストールする。

# apt-get install libc6-dev

2.玄箱HGから/lib、/usr/lib、/usr/includeのファイルをコピーする。

$ su -
# mkdir kuro_lib
# cd kuro_lib
# cp -RL /lib ./
# cp -RL /usr/lib/* lib
# cp -RL /usr/include ./
# cd ..
# tar zcvf kuro_lib.tar.gz kuro_lib
# exit

3. 玄箱で作ったkuro_lib.tar.gzをopenSUSEで展開する。
kuro_lib.tar.gzは、ホームディレクトリに保存しておく。
そこから、 /usr/local/ppc-linux/kurobox以下に展開する。

$su
#mkdir -p /usr/local/ppc-linux/kurobox
#cd /usr/local/ppc-linux/kurobox
#cp ~/kuro_lib.tar.gz .
#tar zvxf kuro_lib.tar.gz
#exit

玄箱HGを使うのはここまで。

binutilsのインストール

まず、binutils-2.20.1a.tar.bz2をダウンロードします。
その後、適当なディレクトリに展開し、/usr/local/ppc-linux
binutilsをインストールします。

$tar jxvf binutils-2.20.1a.tar.bz2
$cd binutils-2.20
$./configure --target=ppc-linux \
--enable-shared \
--prefix=/usr/local/ppc-linux
$make
#su
#make install
#exit

注意)./configureでエラーが出た場合、gcc、make等が入っていることを確認する。

gccのインストール

まず、gcc-core-4.4.3.tar.gzをダウンロードします。

その後、適当なディレクトリに展開をします。
gccコンパイルする際の注意で、ディレクトリ作成し、その中でビルドを行わないと、ビルドエラーが発生します。
また、rootで実行する必要がある。

$ tar zxvf gcc-core-4.4.3.tar.gz
$ cd gcc-4.4.3
$ mkdir ppc-linux
$ cd ppc-linux
$ su
# export PATH=/usr/local/ppc-linux/bin/:$PATH
# ../configure \
> --prefix=/usr/local/ppc-linux \
> --target=ppc-linux \
> --enable-shared --disable-nls \
> --with-as=/usr/local/ppc-linux/bin/ppc-linux-as \
> --with-ld=/usr/local/ppc-linux/bin/ppc-linux-ld \
> --with-headers=/usr/local/ppc-linux/kurobox/include \
> --with-libs=/usr/local/ppc-linux/kurobox/lib
# make
# make install
# exit

パスを通す

gccのインストールまで終わると、『/usr/local/ppc-linux/bin』に
ppc-linux-gcc』と言う玄箱HG用のコンパイラが出来る。これが使えるようにパスの設定を行う。
常用する場合は、使用しているシェルの設定ファイルにPATHを追加する。

export PATH=/usr/local/ppc-linux/bin

カスタムROMのマーケットに、「softbankピックアップ」を表示させる

CM7やRCMixのROMを焼くと、標準のマーケットのタブにあるsoftbankピックアップがなくなってしまう。
これを表示させる方法が載っているサイトがあったので、試してみた。

準備

  1. rootedなdesire
  2. android sdkのインストールされているPC

手順

build.propに設定を書き込む

1.desireの/system/build.propをSDカードにコピーする
2.deisreをPCに接続し、SDカード内のbuild.propをメモ帳などで開く
3.build.propの最後に、下記の一行を加える

ro.com.google.clientidbase.am=android-softbank-jp

4.desireをリカバリーモードで起動する
5.SDカード内のbuild.propを/system/build.propにコピーする。
 コマンドプロンプトを開いて、下記のコマンドを入力。

>adb shell
#mount /system
#mount /sdcard
#cp /sdcard/build.prop /system

googlesettings.dbのテーブルを書き換える

build.propを書き換えても、工場出荷時にDBへ設定した内容が
 残っているため、テーブルを書き換える。googlesettings.dbの内容を確認する。
1.desireを通常起動させる。

>adb shell
#mount /data
#cd /data/data/com.google.android.gsf/databases/
#sqlite3 -line googlesettings.db 'SELECT * FROM partner'

2. 1のコマンドの出力結果

(中略)
name = market_client_id
value = am-android-google
(中略)

3.market_client_idを書き換える。1を入力後、そのまま、書き換えのコマンド入力する。

#sqlite3 -line googlesettings.db \
"UPDATE partner SET value='am-android-softbank-jp' WHERE name='market_client_id'"

4.書き換わったことを確認する。1のコマンドをもう一度入力

#sqlite3 -line googlesettings.db 'SELECT * FROM partner'

5.出力結果
 valueがam-android-softbank-jpになっていれば成功

name = market_client_id
value = am-android-softbank-jp

6.desireを再起動し、マーケットを開く。
 右上のタブが、「マイアプリ」から「SoftBankピックアップ」に変わっていれば成功

フォントを変更

標準のDesireのフォントは,中華っぽい感じで可読性が良くないので,フリーのフォントに変更します。
今回は、M+IPAフォントの「Migu 1C」に変更します。

準備

  1. rootedなDesire(x06ht)
  2. android SDKがインストールされているPC(インストール方法は、「開発環境を整える」android-sdkの導入を参考)
  3. 導入するフォント(Migu 1C)

導入方法

1.SDカードの任意の場所にフォントをコピーする。(今回は、/sdcardの直下)
 その際、名前を下記のように書き換える

  • 日本語フォント → DroidSansJapanese.ttf

(英文フォント →DroidSans.ttf)
2.desireをリカバリーモードで起動する(ボリューム-キー + 電源 を同時押し→ ブート画面でRecoveryを選択)
3.android SDKがインストールされているPCにdesireを接続し、コマンドプロンプトを開く
4.下記のコマンドを入力

>adb shell
#mount /system
#mount /sdcard
#cp /sdcard/DroidSansJapanese.ttf /system/fonts

5.コピーが完了したら、desireを再起動する。
6.再起動後、フォントが変わっていることを確認できる。

参考

  1. http://d.hatena.ne.jp/siro_xx/20110507/1304735318
  2. http://komugi.net/archives/2010/02/22221201 (いろいろなフォントでの表示が見れる)

S-OFFの手順

S-OFFとは、android端末においてメーカーがロックしているシステム領域を開放し、変更可能にすることです。 S-OFFすることで、起動時のスプラッシュ画面の変更やHTCが標準でインストールしていたアプリを削除することができます。

注意)S-OFFの作業で、desireが壊れてしまう可能性があります。自己責任で行ってください。

準備

  • rootedなHTC Desire(X06HT)
  • USBメモリ(1GB以上)
  • USBブート可能なPC(ダメな場合は、CDブートなPCかVirtualBoxでも可能)

手順

必要なソフトを準備

1.AlphaRev v1.8を下記のサイトの「AlphaRev 1.8 HBOOT reflash utility」をダウンロードする。(ファイル名:alpharev.iso)
http://alpharev.nl/
2.Universal USB Installerをダウンロードする。
Universal USB Installer - Easy as 1 2 3 | USB Pen Drive Linux
3.USBメモリをPCに接続する。接続後、Universal USB Installerを起動、下記の設定して、「Create」ボタンをクリック。
Step1:Try Unlisted Linux ISO (New Syslinux)
Step2:Browseでalpharev.isoを設定する
Step3:USBメモリのドライブを指定

S-OFF作業

1.PCを再起動し、USBメモリからブートするように設定する。(BIOSのboot menuでusbを選択)
2.Tiny Core Linuxが起動し、画面サイズを聞いてくる場合がある。スペースキーを押してデフォルトで起動させる。
3.免責事項の文章が表示されるため、Yを入力しエンターを入力
4.通常起動のDesireをPCを接続する。(USBデバッグモードを有効化)
5.画面に下記のメッセージの後、Desireが見つかったと表示される。
「Please connect your phone via USB while booted up, and enable USB debugging.」
6.その後、Step1〜3の処理が自動的に進んでいく。この際、Desireが再起動やブートローダ。の状態になる。Step2までは、数分でたどり着くが、Step3は1時間以上かかる場合もある。
7.Step3が完了すると、下記のメッセージが表示されるので、適当なキーを押す。
「Press any key to shutdown, the procedure is finished.」

確認方法

S-OFFが成功したかは、起動時にsoftbankのロゴがなくなって、ジョーカーの不気味な画像になっていれば成功です。
また、bootloader(起動時に、Volue - と 電源を同時押し)の画面で、上部にS-OFFと表記がある。S-OFF出ない場合は、S-ONと表記されている。

注意

Desireに入っているROMによっては、S-OFF処理中にエラーが発生して、できないことがあります。
CM7.03はOK。RCMixS v2.0はNG。