2012年8月26日日曜日

自分でNexus7用CM10をbuildする(その2:ソースのダウンロード)

前回に引き続き、Nexus7用のCM10を自分でbuildすることに挑戦中です。元ネタはxdaの[HOWTO] Build CM10 Walkthrough for Nexus 7というスレッドです。最初の投稿にgoogle documentへのリンクがあって、そこに詳細が書いてあるのですが、結構引用があるため、手順がわかりにくかったので自分用のメモとして書いておきます。

repoのインストール
cyanogenmodのwikiを参照しないと出てきません。~/bin, ~/android/systemフォルダを作成してから以下のコマンドを実行。

curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android.git -b jellybean

最後の1行を実行すると~/android/system/に.repoというフォルダができます。ただのlsでは表示されない(ファイルの先頭が".")ので最初気がつきませんでした。次にこのフォルダにlocal_manifest.xmlを作成します。いくつか方法が書いてありますが、私は面倒なので

curl https://raw.github.com/gist/dcef0eadc4c8d31ae46d/d27a0cc718607b1a6e4958f9d0e57887b2eb4eb3/gistfile1.xml > .repo/local_manifest.xml

を~/android/systemで実行して済ませました。最後にソースのダウンロードです。

repo sync -j16

を実行するとソースのダウンロードが始まります。かなりの容量です。仮想PCのHDD容量20GBでは足りませんでした。仮想PCのHDD容量を増やすのは結構面倒なのですが、電脳羊(Android Dream)さんのVMWare Playerで仮想ディスクのサイズを変更するという記事のおかげであっさりと解決しました。スクリーンショットも付いていて完璧です。

ソースのダウンロードは途中で何度か中断しました(主にHDDの容量不足が原因)が、何度でもrepoコマンドを実行すればいいらしいです。ソースを最新にする時も同じコマンドだそうなので覚えておかないと。

次にNexus7から必要なファイルを取り出します。そのためのスクリプトをダウンロードするため、~/android/systemで以下のコマンドを実行します。

cd device/asus/grouper
git fetch http://review.cyanogenmod.com/CyanogenMod/android_device_asus_grouper refs/changes/01/19801/1 && git checkout FETCH_HEAD

ここでgitをインストールしろと言われてインストールしたようなしなかったような…(スイマセン)
仮想OS起動中にNexus7をUSB接続したら自動的に仮想OSの方に接続されました。~/android/system/device/asus/grouperに移動して、./extract-files.shを実行します。ここで必要なファイルがコピーされないと動作しないromが完成するそうです。せめてファイルリストが欲しかったなぁ。
以上で必要なソースとファイルは揃ったはずです。

0 件のコメント:

コメントを投稿