* U-Bootをビルドする [#of153209]
** U-Bootをビルドしてみよう [#r78ecc9d]
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を使っています。
- ''2009-12-24 -- U-Boot 3.4.27が出てますが、私の環境ではSDカードからuImageを読み込んでブートしようとするとBad Data CRCエラーが出て起動できなかったので、3.4.23を使っています。''
これまではU-Bootのソースにパッチを当ててビルドする必要がありましたが、このバージョンではパッチを当てずにSDカードドライブ対応のU-Bootが作成できました。
** 必要なもの [#cebfebca]
あらかじめ母艦PC上に/opt/gccにSheevaPlug Development KitのARM用クロスコンパイル環境を展開しておきます。
- SheevaPlug_U-Boot.zipに含まれるu-boot-1.1.4.tar.bz2
- u-boot-3.4.23.zip
** ビルド手順 [#ne8ed697]
ビルドは以下のように行いました。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
-- &ref(u-boot-rd88f6281Sheevaplug_400db_nand.bin.bz2);
--- md5sum : 2ab9f301b8499d37b59d13208203ef22