ブログネタ
Android に参加中!
以前 Emulator のイメージで動かしていたものを、
ソースからビルドして作ってみた。
環境作成手順
BeagleBoard と BeagleBoard-xM でやることは同じ。
異なる箇所は併記する。

ソースコード取得
$ mkdir -p /home/sola/work/ics
$ cd /home/sola/work/ics
$ export ANDROID_ROOT=$PWD
$ repo init -u https://bitbucket.org/sola/android_manifest
$ repo sync -j8

Android のビルド
$ cd $ANDROID_ROOT
$ source build/envsetup.sh
$ lunch full_beagleboard_xm-eng [BeagleBoard-xM の場合]
$ lunch full_beagleboard-eng [BeagleBoard の場合]
$ time make -j8

rootfs の作成
$ cd $ANDROID_ROOT/out/target/product/beagleboard_xm/ [BeagleBoard-xM の場合]
$ cd $ANDROID_ROOT/out/target/product/beagleboard/ [BeagleBoard の場合]
$ mkdir rootfs
$ sudo cp -a ./root/* ./rootfs/
$ sudo cp -a ./system/* ./rootfs/system/

kernel のビルド
$ export ARCH=arm
$ export CROSS_COMPILE=$ANDROID_ROOT/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
$ cd $ANDROID_ROOT/board/beagleboard/kernel
$ make omap3_beagle_android_defconfig
$ make uImage modules -j8

SD カードにパーティション(boot, media, rootfs)を作成する
$ cd $ANDROID_ROOT/board/beagleboard/sdcard
$ sudo LANG=C ./mksdcard_beagle.sh /dev/sdx
/dev/sdx の x の部分は環境によって異なるので、確認すること。

boot.scr を作成する
$ cd $ANDROID_ROOT/board/beagleboard/bootscript
$ ./mkbootscr
起動パラメータを変えたい場合、mkbootscr を書き換える。

MLO/u-boot.bin/uImage/rootfs を SD にコピー
$ cd $ANDROID_ROOT
$ sudo cp -a board/beagleboard/x-loader/MLO /media/boot/
$ sudo cp -a board/beagleboard/u-boot/u-boot.bin /media/boot/
$ sudo cp -a board/beagleboard/bootscript/boot.scr /media/boot/
$ sudo cp -a board/beagleboard/kernel/arch/arm/boot/uImage /media/boot/
$ cd $ANDROID_ROOT/out/target/product/beagleboard_xm/ [BeagleBoard-xM の場合]
$ cd $ANDROID_ROOT/out/target/product/beagleboard/ [BeagleBoard の場合]
$ sudo cp -a ./rootfs/* /media/rootfs/
$ sudo chmod 777 -R /media/rootfs

ICS on BeagleBoard/BeagleBoard-xM の起動
電源を入れると、そのまま起動する。

ICS on BeagleBoard/BeagleBoard-xM の様子
device-2011-11-23-191332device-2011-11-23-191424device-2011-11-23-191435device-2011-11-23-191446device-2011-11-23-191545


動かしたイメージ
Ice Cream Sandwich on BeagleBoard
Ice Cream Sandwich on BeagleBoard-xM