2011/11/26

Ice Cream Sandwich を BeagleBoard-xM 用にビルドしてみた (2) - ソースコード取得

Ice Cream Sandwich を BeagleBoard-xM 用にビルドしてみた (1) - 前準備 で環境は整ったので、次はソースコードをダウンロードします。
まず、最初にコードをダウンロードしてくるディレクトリを作成します。名前は何でも良いのですが、今回は“mydroid”にしました。
$ cd ~
$ mkdir mydroid
$ cd mydroid

repository を initialize します。今回は、Ice Cream Sandwich を取ってくるため、android-4.0.1_r1 タグを指定しました。
2011/11/27 追記 Ubuntu 11.10 では、android-4.0.1_r1 はコンパイルできないようです。現時点で最新のソースは11.10 にも対応しているようなので、新たなタグが打たれるまでの間は、masterブランチから取ってきてやる必要がありそうです。(参考: ICS full_x86-eng build failure (Ubuntu 11.10 x64)
$ repo init -u https://android.googlesource.com/platform/manifest -b master

ユーザ名とメールアドレスを聞かれるので、入力します。
ソースコードを取得するだけなら、何を入力しても大丈夫のようですが、正確な情報を入れておいた方が良いでしょう。

その後、以下のコマンドを入力して実際にソースコードを取得します。
$ repo sync

ソースコードの取得が始まります。
少し時間がかかりますが、気長に待ちましょう。

また、rowboat で BeagleBoard-xM用のパッチ等を公開してくれています。
これらも、一緒にダウンロードしておきます。
$ git clone git://gitorious.org/rowboat/x-loader.git
$ git clone git://gitorious.org/rowboat/u-boot.git
$ git clone git://gitorious.org/rowboat/kernel.git
$ mkdir patches
$ cd patches
$ curl http://rowboat.googlecode.com/files/Beagleboard_ICS_patches.tar.gz > Beagleboard_ICS_patches.tar.gz
$ tar -zxvf Beagleboard_ICS_patches.tar.gz

さらに、パッチの適用も行います。
$ cd ~/mydroid/bionic
$ git am ../patches/Beagleboard_ICS_patches/bionic/0001-Add-omapfb-header-file.patch
$ cd ../
$ mkdir device/ti/beagleboard
$ cd device/ti/beagleboard
$ git init .
$ git am ../../../patches/Beagleboard_ICS_patches/device/ti/beagleboard/0001-Initial-configuration-for-beagleboard.patch
$ cd ../../../frameworks/base
$ git am ../../patches/Beagleboard_ICS_patches/frameworks/base/0001-change-default-device-type-for-touch-screen.patch
$ git am ../../patches/Beagleboard_ICS_patches/frameworks/base/0002-disble-hardware-renderer.patch 
$ cd ../../hardware/libhardware
$ git am ../../patches/Beagleboard_ICS_patches/hardware/libhardware/0001-call-OMAPFB_WAITFORGO-ioctl-to-wait-for-empty-buffer.patch 
$ cd ../ti/omap3
$ git am ../../../patches/Beagleboard_ICS_patches/hardware/ti/omap3/0001-Add-LOCAL_MODULE_TAGS-to-fix-build-error.patch

Next: Ice Cream Sandwich を BeagleBoard-xM 用にビルドしてみた (3) - ビルド


ちなみに、取得できるタグの確認方法ですが、以下のようにmanifestのrepositoryを取得してタグを確認すれば良いのではないかと思います。
$ git clone https://android.googlesource.com/platform/manifest.git
$ cd manifest
$ git tag
android-1.6_r1.1_
android-1.6_r1.2_
android-1.6_r1.3_
android-1.6_r1.4_
android-1.6_r1.5_
android-1.6_r1_
android-1.6_r2_
android-2.0.1_r1_
android-2.0_r1_
android-2.1_r1_
android-2.1_r2.1p2_
android-2.1_r2.1p_
android-2.1_r2.1s_
android-2.1_r2_
android-2.2.1_r1_
android-2.2.1_r2_
android-2.2.2_r1_
android-2.2.3_r1
android-2.2.3_r2
android-2.2_r1.1_
android-2.2_r1.2_
android-2.2_r1.3_
android-2.2_r1_
android-2.3.1_r1_
android-2.3.2_r1_
android-2.3.3_r1.1_
android-2.3.3_r1_
android-2.3.4_r0.9_
android-2.3.4_r1_
android-2.3.5_r1_
android-2.3.6_r0.9
android-2.3.6_r1
android-2.3.7_r1
android-2.3_r1_
android-4.0.1_r1

0 件のコメント: