※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

シリアルコンソールを接続しtftpブートなどを試みた際、ブートに失敗し
*** Warning: no boot file name; using '960BA8C0.img'
Using egiga0 device
TFTP from server (tftpサーバーのIPアドレス); our IP address is (玄箱PROのIPアドレス)
Filename '960BA8C0.img'.
Load address: 0x0
Loading: *
TFTP error: 'File not found.' (1)
Starting again
というエラーを繰り返す場合がある。
どのような状況でこのエラーが出現し、どのように対処すればいいのかを検証する。

960BA8C0.imgとは何か

U-Boot.jpU-Bootコマンドマニュアルがあり、その中で以下のような記述がある。
filename:ロードするファイルです。
省略された場合は、環境変数bootfileの値、環境変数bootfileが設定されていない場合、<自分のIPアドレス>.imgを使います。
<自分のIPアドレス>の部分は、IPアドレスを16進で表記して、並べたものです。例えば、192.168.3.202を16進で表記すると、C0.A8.03.CAとなりますので、"CA03A8C0.img"を探しに行きます。
つまり、U-Bootがロードすべきカーネルを自身により発見できなかった場合、「<自分のIPアドレス>.img」というファイルをカーネルとして探すようになっている。
この際、「自分のIPアドレス」とは初期状態(正しくは『DHCPにより取得できなかった場合』)の「192.168.11.150」を指す。
上記のように、192.168.11.150を16進数で表記すると「960BA8C0」となる。

なぜ発生するのか

ユーザーがカーネルを指定しているにもかかわらずU-Bootがカーネルを見つけることができない、という意味は「指定内容が間違っている」ということだ。
しかしそれ以外に、コンソールを接続する基板(ドーターボード)の不良でこのエラーが発生した事例もある。

U-bootの操作