ここまででAndroidをブートさせるためのファイル群ができたので、SDカードに書き込んでブートの試行をしてみよう。
参考にしている資料は以下。
Zedroid - Android (5.0 and later) on Zedboard from Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
www.slideshare.net
SDカードには4つのパーティションを作らなければならないらしい。
- 1st primary: VFAT(FAT32) over 1GB with boot flag
- 2nd primary: ext4 over 1GB
- 3rd primary: ext4 over 500MB
- 4th primary: Linux Swap over 500MB
ちなみに、3rdは500MBでは足りなかったので、1-4までのパーティションはそれぞれ1GBずつ確保した。 パーティション確保にはfdiskを用いる。
まず、1st Primaryのパーティションには、
- Zedboard用のハードウェアバイナリ
[Xilinx SDK dir]/BOOT.bin
- カーネルファイル
[kernel dir]/arch/arm/boot/uImage
- デバイスツリー
[kernel dir]/arch/arm/boot/dts/devicetree.dtb
- アンドロイドファイルシステム
[Android dir]/uramdisk.image.gz
を格納する。
2nd Primaryのパーティションには、Androidのsystemファイル群を格納する。Androidのファイル群はAndroidディレクトリのout/target/product/zedboard/system.img
を使えばよいと思う。ddで格納する。
sudo dd if=system.img of=/dev/sdb3
3rd Primaryのパーティションには、Androidのユーザデータファイル群を格納する。これにはAndroidディレクトリのout/target/product/zedboard/userdata.img
を使えばよいと思う。ddで格納する。
sudo dd if=userdata.img of=/dev/sdb3
これでZedboardのジャンパピンを調整してブートしてみたが、うまく動作しなかった。 どこを間違えたかなあ。。。解析必要。