[2011/1/18 追記]
プロプライエタリなファイルを実機から取得する部分など、一部手順が抜けていたので追加しています。
また、こちらのサイトをもとにOTAパッケージの作成方法を追加しました。
sola:CyanogenMod-6 を自分でビルドしてみる
CyanogenModのgingerbreadブランチソースを実機用にビルドしたのでその手順を書いておきます。
うちにあるのがNexus Oneだけなので、説明はNexus One(以下N1)のpassionで書いていますが、
passionとある部分を別の機種に読み替えれば他の機種でも使えるはずです。
前回書いたとおり、CyanogenModのGingerBread版ソースは
$repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
$repo sync
で取得できます。
次に端末固有ファイルをスクリプトで取り出すか、どこかから探してきてソースツリーのvender以下に置きます。
実機がある場合は、device/htc/passionに、必要ファイルを取得するスクリプトがあります。
adbで取得していますので、adbサーバを起動しておきます。
面倒なのでrootで
#adb start-server
その後
$cd device/htc/passion
$sh extract-file.sh
これで、vender/htc以下にファイルがコピーされます。
あとcyanogenmod版ではRommanagerを最初からROMに組み込もうとするため、
vender/cyanogen にあるget-rommanagerを最初に実行しておく必要があるようです。
$cd vender/cyanogen
$./get-rommanager
準備できたらソースツリーのルートで
$. build/envsetup.sh
$lunch cyanogen_passion-eng
$make -j4
で、ビルド開始。(passionはN1用)
うちの環境では途中のバージョンチェックらしきところでエラー停止しましたが、対処法としては
make update-api
を実行するようにとのことだったので、これを実行して再度ビルドかけたところ正常に終了しました。
どうもバージョンチェック関係で問題になるところがあるらしいです。
#2011/1/18に再度ソースから取得してビルドし直したところ、今回はこれは発生しませんでした。
イメージファイルは
out/target/product/passion
にできます。
書き込みにはfastbootを使用し、
$fastboot flash boot boot.img
$fastboot flash system system.img
$fastboot flash userdata userdata.img
再起動すればCyanogenMod7(GingerBread)として起動します。
GAppsはここにあるものが使用できるようです。
サイン済みのzipファイルとして生成する場合には
$make -j4 otapackage
$vendor/cyanogen/tools/squisher
とすればできました。
個人的にはテスト版ではOTAパッケージにする方法を使うつもりはありませんが、
fixしたらこれでまとめると良さそうです。
最後のOTAパッケージとサインについてはこちらの情報を元にしています。
sola:CyanogenMod-6 を自分でビルドしてみる
ピンバック: Tweets that mention CyanogenMod7のビルド手順 - 記録 -- Topsy.com