虽然自以为对ubuntu有点认识,但是第一次安装tftp ,还是碰到很多问题。首先还是先重复一下网上的安装步骤
1、安装相关软件包
sudo apt-get install tftpd (服务端)
sudo apt-get install tftp (客户端)
sudo apt-get install xinetd
2、建立配置文件
在根目录下建立TFTP文件夹,做为TFTP的根目录
$ cd /
$ mkdir tftpboot
$ chmod 777 tftpboot
在 /etc/xinetd.d/目录下建立tftp配置文件:
# sudo vim /etc/xinetd.d/tftp
输入:

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot 替换为你的目录,注重权限。
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

將/etc/inetd.conf中关于tftp的部份注释掉:即是在

tftp           dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /srv/tftp

前面加个#:

#tftp           dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /srv/tftp

3、从新启动服务
sudo /etc/init.d/xinetd restart 若出现:
* Stopping internet superserver xinetd [ OK ]
* Starting internet superserver xinetd [ OK ]
表明安装成功了。
接下来进行测试
$ cd /tftpboot
$ touch test
$ chmod 777 test //首先给要上传的文件赋予权限否则会出现Error code 2: Access violation
$ cd ~ //回到自己有读写权利的文件夹
$ tftp 218.192.160.37 //你自己的IP地址
tftp> get test
若出现:Received 6 bytes in 0.0 seconds
则说明tftp安装成功!
关于遇到的一些问题和分析:
(1)
Error code 2: Access violation
出现这个错误的原因有:
(1)目录 /tftpboot和 所传输的文件的权限引起的
(2)在 /etc/xinetd.d/目录下建立tftp配置文件,这句语句设置不对引起的:server_args = -s /tftpboot 替换为你的目录,留意权限。
(3)我犯了很低级的错误,在建立 /tftpboot 时,却打错成 /tftboot 。所以我觉得以后遇到问题时首先应该仔细检查自己是否都是按照教程的步骤去做,不应该急于在网络上查找原因,同一个错误引起的原因是很多的。这样做太浪费时间了!
(2)Transfer timed out.
(1)若是在测试出现这个问题,最可能的是 xinetd 更新不成功,
(2)可能是tftp错了,
(3)Error code 1: File not found
(1)被传输文件的权限问题
(2)路径问题,或者说使用不准确,例如
liu@liu-laptop:~$ tftp localhost
tftp> get test
Received 6 bytes in 0.0 seconds

 

看到最後一個就表示成功了

接下來就可以傳給 U-boot 了 

tftpok

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 ffyy99 的頭像
    ffyy99

    喜歡亂搞的世界

    ffyy99 發表在 痞客邦 留言(0) 人氣()