U-Bootをビルドする
U-Bootをビルドしてみよう
Dev. Kitのクロスコンパイラを使いU-Bootをビルドします。今回使ったのはplugcomputer.orgのU-Boot 3.4.23(2009-11-05)です。
- plugcomputer.orgリポジトリ -- http://plugcomputer.org/index.php/us/resources/downloads
- 2009-12-24 -- U-Boot 3.4.27が出てますが、私の環境ではSDカードからuImageを読み込んでブートしようとするとBad Data CRCエラーが出て起動できなかったので、3.4.23を使っています。
これまではU-Bootのソースにパッチを当ててビルドする必要がありましたが、このバージョンではパッチを当てずにSDカードドライブ対応のU-Bootが作成できました。
必要なもの
あらかじめ母艦PC上に/opt/gccにSheevaPlug Development KitのARM用クロスコンパイル環境を展開しておきます。
- SheevaPlug_U-Boot.zipに含まれるu-boot-1.1.4.tar.bz2
- u-boot-3.4.23.zip
ビルド手順
ビルドは以下のように行いました。Marvell U-Boot 1.1.4を展開した後、3.4.23を上書き展開してビルドします。
% tar jxvf u-boot-1.1.4.tar.bz2 % mv u-boot-1.1.4 u-boot-3.4.23 <-- 上書き用にディレクトリ名を変更 % unzip -o u-boot-3.4.23.zip <-- 3.4.23を追加で上書き % cd u-boot-3.4.23 % make rd88f6281Sheevaplug_config NBOOT=1 ** MV_88F6281 image ** config ** SHEEVA PLUG** config ** With USB ** config ** Boot from NAND support image ** config % make
生成されたu-boot-rd88f6281Sheevaplug_400db_nand.binが目的のバイナリです。確認したところSDカードデバイスの認識とSDカードでのブートには成功しました。せっかくなのでバイナリを置いておきます。使用は自己責任でお願いします。
- U-Boot 1.1.4 (Dec 16 2009 - 15:20:43) Marvell version: 3.4.23
- u-boot-rd88f6281Sheevaplug_400db_nand.bin.bz2
- md5sum : 2ab9f301b8499d37b59d13208203ef22
- u-boot-rd88f6281Sheevaplug_400db_nand.bin.bz2