2011/11/27

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

Ice Cream Sandwich を BeagleBoard-xM 用にビルドしてみた (2) - ソースコード取得 と同様、rowboat を参考に作業を続けます。


ソースコードは取得済みなので、RowboatToolsのダウンロードから実行します。
$ cd ~
$ curl http://rowboat.googlecode.com/files/RowboatTools.tar.gz > RowboatTools.tar.gz
$ tar -zxvf RowboatTools.tar.gz

環境変数を設定しておきます。
$ cd ~
$ export PATH=~/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:~/mydroid/u-boot/tools:~/RowboatTools/signGP:$PATH

x-loader のビルド
$ cd ~/mydroid/x-loader
$ make CROSS_COMPILE=arm-eabi- distclean
$ make CROSS_COMPILE=arm-eabi- omap3beagle_config
$ make CROSS_COMPILE=arm-eabi-
$ signGP ./x-load.bin
$ mv x-load.bin.ift MLO

u-boot のビルド
$ cd ~/mydroid/u-boot
$ make CROSS_COMPILE=arm-eabi- distclean
$ make CROSS_COMPILE=arm-eabi- omap3_beagle_config
$ make CROSS_COMPILE=arm-eabi- 

Kernel のビルド
2011/11/30 追記 この記事は最後までやる前にrowboatを参考に書かせてもらっていたのですが、SDカードを作成してマウントしてみても、うまくいきませんでした。
uImage を差し替えると動作することから、kernel のビルドに失敗していると思われます。
原因を調査して、また追記します。
$ cd ~/mydroid/kernel
$ make ARCH=arm CROSS_COMPILE=arm-eabi- distclean
$ make ARCH=arm CROSS_COMPILE=arm-eabi- omap3_beagle_android_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-eabi- uImage

Android ファイルシステムのビルド
$ cd ~/mydroid
$ time make TARGET_PRODUCT=beagleboard TARGET_BUILD_TYPE=release TARGET_NO_KERNEL=true 2>&1 | tee make.log

私の環境では、TARGET_NO_KERNEL=true を付けないと、以下のようなエラーが出てしまいました。
make: *** No rule to make target `out/target/product/beagleboard/kernel', needed by `out/target/product/beagleboard/boot.img'.  Stop.

0 件のコメント: