android-4.0.3_r1 のmaguroビルド方法

※この記事は古い情報です。公式にAndroid 4.0.3のOTAが開始されていません。
 以下の最新記事を参照ください。
android-4.0.3_r1のmaguroの起動確認
http://d.hatena.ne.jp/baroqueworksdev/20120211/1328929599

「proprietary binaries」を取得する

AOSPに含まれていない各端末固有の「proprietary binaries」を取得する。
各端末毎に取得Scriptが用意されているので以下のように実効する。

端末を持っている場合
$ cd device/samsung/maguro
$ ./extract-files.sh

取得が終わると、ビルド環境のrootディレクトリに
vender/samsung/maguro/*
が生成されます。

端末を持っていない場合

以下のサイトから、バイナリをダウンロードする。
Google Support for Nexus Phones and Flagship Devices
http://code.google.com/intl/ja/android/nexus/drivers.html

の表にある2つのtarファイルをビルド環境のRootに格納する。

ビルド実効

あとはいつも通り、ビルド実効

$ . build/envsetup.sh
$ lunch full_maguro-userdebug
$ make

あると便利なmaguro_update.zip

extract-files.shで端末固有バイナリを取得しましたが、2回目から以下のような方法もあります。
device/samsung/maguro/unzip-files.sh というScriptが用意されています。
中身をみるとわかりますが、簡単に説明すると以下のような感じ。

  • extract-files.shで取得した端末固有バイナリをmaguro_update.zipとして保存しておく
  • ディレクトリ構造はunzip-files.shの記載と同じにしておく
  • maguro_update.zip をビルド環境のrootディレクトリにおく
  • device/samsung/maguro/unzip-files.sh のScriptを実効

実効結果はextract-files.shと同等になるはずです。