8月 22

ここ数日、夏風邪で38度以上の発熱で寝込んでました。熱は下がったみたいですが、大人しくしていた方が良さそうなのでSheevaPlugのその後を。。。

SheevaPlugには、SDカードスロットが付いていますので、せっかくなのでそこから起動させるようにします。
そうすることによって、SDカードを差し替える事によって簡単にOSを入れ替える事ができるようになります。いちいちNANDに書かなくていいので、開発なども便利ですね。

まずは、SDカード起動対応u-bootイメージを作ります。標準ではSDカードからの起動には対応していませんのでパッチを当ててクロスコンパイルして作ります。

元となるu-bootのソースは、SheevaPlug_U-Boot1.2.zipに含まれていますので、前のエントリを参照して取得しておきます。

SDカード対応のu-bootの作り方はPlugComputer.orgのフォーラムが参考になります。ファイルの編集などは細かく説明されていませんので、u-boot-sd.patchを作ってみました。
コンパイルしgzipで圧縮したものをダウンロードできるようにしておきます。u-boot-rd88f6281Sheevaplug_400db_nand.bin.gz

実際の手順は少し面倒ですが、以下の通りです。

$ tar jxvf u-boot-1.1.4.tar.bz2
$ mv u-boot-1.1.4 u-boot-3.4.16
$ unzip u-boot-3.4.16.zip
    ここではすべて上書き[A]を選択します。
$ patch -p0 < u-boot-sd.patch
$ cd u-boot-3.4.16
$ make rd88f6281Sheevaplug_config NBOOT=1
$ make

これで、SDカード対応のu-bootが完成しました。
実際のファイルは、u-boot-rd88f6281Sheevaplug_400db_nand.binになります。これをtftp用のディレクトリにコピーし、前回と同じ様にtftpを利用してu-bootの置き換えをします。

Marvell>> set ipaddr 192.168.168.110
Marvell>> set serverip 192.168.168.100
Marvell>> bubt u-boot-rd88f6281Sheevaplug_400db_nand.bin
Marvell>> reset
    resetコマンドで再起動します。
Marvell>> version
U-Boot 1.1.4 (Aug 22 2009 - 11:36:42) Marvell version: 3.4.16

mmcinitというコマンドが追加されていることを確認します。

Marvell>> help
  :
mmcinit - init mmc card
  :

実際にSDカードが認識されているか確認します。まずSDカードをスロットに差し込みmmcinitを実行すると以下の様に認識されます。

Marvell>> mmcinit
SDHC found. Card desciption is:
Manufacturer:       0x41, OEM "42"
Product name:       "SD4GB", revision 2.0
Serial number:      1526734520
Manufacturing date: 1/2009
CRC:                0x00, b0 = 0

これでSDカード対応u-bootへのアップデートが完了しました。

written by Hisao \\ tags: ,


One Response to “SDカード対応u-bootの作成”

  1. 1. D-Suite ICT service - 03. SDHC/USBからブートさせるには Says:

    […] 幸いにも、Hisaoさんのページから入手出来るようですので、こちらを利用させて頂きたいと思います。 本職だから自分で作れよとか言われそうですが、優先度の高い作業が多いんです・ […]

Leave a Reply