私の問題は、以下に示すように、TFTP 経由でカーネル イメージを Econa プロセッサ ボード (Econa は ARM ベースのプロセッサ) にダウンロードすると、再試行回数が超過することです。
CNS3000 # tftp 0x4000000 bootpImage.cns3420.uclibc
MAC PORT 0 : Initialize bcm53115M
MAC PORT 2 : Initialize RTL8211
TFTP from server 192.168.0.219; our IP address is 192.168.0.112
Filename 'bootpImage.cns3420.uclibc'.
Load address: 0x4000000
Loading: T T T T T T T T T T
Retry count exceeded; starting again
以下は、このエラーの原因を見つけるのに役立つ可能性があるポイントです。
Ping 応答は問題ありません
CNS3000 # ping 192.168.0.219 MAC PORT 0 : Initialize bcm53115M MAC PORT 2 : Initialize RTL8211 host 192.168.0.219 is alive
TFTPが動作していることを確認しようとしたところ、以下のようにしてみました。TFTP サーバーが動作しているようです。小さなファイルを次の場所に置きました
/tftpboot
:# echo "Hello, embedded world" > /tftpboot/hello.txt"
それから私はlocalhostをしました
# tftp localhost tftp> get hello.txt Received 23 bytes in 0.1 seconds tftp> quit
私のマシンにはファイアウォールも SELinux もありません。
これらのファイルの場所が正しいことを確認してください。カーネル イメージ ファイル
bootpImage.cns3420.uclibc
を/tftpbootTFTP
サービス ファイルに配置しました。ファイルは にあり/etc/xinetd.d/tftp
ます。私の TFTP サービス ファイルは次のとおりです。
service tftp { socket_type =dgram protocol=udp wait=yes user=root server=/usr/sbin/in.tftpd server_args=-s /tftpboot -b 512 disable=no per_source=11 cps=100 2 flags=ipv4 }
printenv
U-Boot での応答は次のとおりです。CNS3000 # printenv bootargs=root=/dev/mtdblock0 mem=256M console=ttyS0 baudrate=38400 ethaddr=00:53:43:4F:54:54 netmask=255.255.0.0 tftp_bsize=512 udp_frag_size=512 mmc_init=mmcinit loading=fatload mmc 0 0x4000000 bootpimage-82511 running=go 0x4000000 bootcmd=run mmc_init;run loading;run running serverip=192.168.0.219 ipaddr=192.168.0.112 bootdelay=5 port=1 bootfile=/tftpboot/bootpImage.cns3420.uclibcl stdin=serial stdout=serial stderr=serial verify=n
環境サイズ:
437/4092 bytes
よろしくワカス