pandroid

ここの記述に沿ってすすめます。

u-boot 作る

以下なカンジ。

$ git clone git://gitorious.org/pandaboard/u-boot.git
$ git checkout -b omap4_panda_es2.0 origin/omap4_panda_es2.0
$ make omap4430panda_config
$ CROSS_COMPILE=arm-linux-gnueabi- make

これで一応 u-boot だの u-boot.bin だのが出力されてます。

$ file u-boot
u-boot: ELF 32-bit LSB executable, ARM, version 1, statically linked, not stripped
$ file u-boot.bin
u-boot.bin: data
$

Kernel 作る

次は Kernel らしい。ええと_Once done building the bootloader, copy u-boot.bin and mkimage to a PATH folder and build the kernel._って書いてあるな。
とりあえずその前にソースを持ってきたりな準備をする。kernel-omap4 はスデに clone 済みなので以下か。

$ git checkout -b L27.5.2_panda origin/L27.5.2_panda
fatal: git checkout: updating paths is incompatible with switching branches.
Did you intend to checkout 'origin/L27.5.2_panda' which can not be resolved as commit?
$

あら。と思ったらリポジトリが違うな。ちょっと書いてあることと違うけど冒険してみましょうね。

$ git checkout -b L24.8_panda_es2.0 origin/L24.8_panda_es2.0
Checking out files: 100% (13959/13959), done.
Branch L24.8_panda_es2.0 set up to track remote branch L24.8_panda_es2.0 from origin.
Switched to a new branch 'L24.8_panda_es2.0'
$ git branch
* L24.8_panda_es2.0
  master
$

で、android_4430panda_defconfig というナニがあるかどうかを確認すれば良いのか。arch/arm/configs の中には無いけど omap4panda_defconfig というナニを発見。

$ PATH=$PATH:~/Documents/panda/pandroid/u-boot/:~/Documents/panda/pandroid/u-boot/tools/ CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm make omap4panda_defconfig
$ PATH=$PATH:~/Documents/panda/pandroid/u-boot/:~/Documents/panda/pandroid/u-boot/tools/ CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm make

ぢつは omap4panda_defconfig の時に CROSS_COMPILE=arm-linux-gnueabi ってなってたのは内緒です。

間違えた

USB mouse なアレとか盛り込んでない。
で、色々見ててもっかいバイナリな動作試験をしといた方が良い気がしてきました。ここから取得できるバイナリ (L27.8.2) を使って、ここの記述に沿って MMC にコピれば良いはず。

そして

カーネルは Linaro 使って Android はこのバイナリ使えば良いじゃん、ってソレに気がついてたりしますが USB mouse が動かないと微妙。

色々ヤッてたら

mmc の boot partition 認識しなくなったぞ pandaboard
困った困った困ったorz