用TFTP下载出现TFTP error: 'Access violation' (2)错误

在u-boot上运行“run netboot”下载程序时,也就是从电脑的tftp服务器往ARM开发板下载程序时,出现了”TFTP error: 'Access violation' (2)”。

为了确认是tftp服务器的配置问题还是ARM开发板的问题。先运行了一下命令:

$ tftp 127.0.0.1
>get test

在tftp文件夹下有test文件的情况下,仍然出现”TFTP error: 'Access violation' (2)”,确认是tftp服务器配置问题。

$ service tftp-hpa restart
重启tftp服务,问题依旧。

上网查找资料后,怀疑是自己设置的tftp文件夹“/tftpboot”或者内部下载文件的权限问题:

$ sudo chmod 777 /tftpboot
$ sudo chmod 777 /tftpboot/test

但是问题依旧。感觉就比较棘手了。

于是重新上网查询,发现tftp的安装方式有很多种,而且会用到一个网络管理的包 xinetd,但如果我运行:

$ sudo apt-get install xinetd

显示的是没有这个包。没有办法只得另辟蹊径,安装了另一个包:

$ sudo apt-get install netkit-inetd
 以及其依赖包 
  

$ sudo apt-get install openbsd-inetd
检查"/etc/inetd.conf"文件后,发现应该设置tftp目录为"/srv/tftp",之后重启:

$ sudo /etc/init.d/openbsd-inetd restart
OK,问题解决,之前可能是这个网络管理服务根本没运行导致找不到tftp文件夹的问题吧。


参考文章:

http://blog.csdn.net/CommShare/article/details/6212825

http://blog.163.com/denny_shen/blog/static/188466170201161004932821/

http://blog.csdn.net/david_xtd/article/details/7881347

你可能感兴趣的:(Linux那些事)