首先我用的是如下步骤设置TFTP:
1.
sudo apt-get install tftp tftpd
sudo apt-get install xinetd
sudo apt-get install openbsd-inetd
2.
cd /
sudo mkdir /tftpboot
sudo chmod 777 /tftpboot
如果原来有tftpboot 则:
sudo chmod a+rw /tftpboot/*
3.
sudo in.tftpd -l /tftpboot
这样tftp服务器就启动了,下面可以做一个测试
4.
修改/etc/inetd.conf
然后将inetd.conf内容修改为下面内容:
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
重新加载inetd进程,对于8.04:
sudo /etc/init.d/openbsd-inetd restart
4.
cd /tftpboot
touch test
建立一个文件
5.
cd ~
登录到用户目录下
6.
tftp 192.168.0.170 //换成自己的ip
> get /tftpboot/test
如果不成功:则
打开目录 /etc/xinetd.d/
新建文件tftp
tftp内容:
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c //这里很关键
per_source = 11
cps = 1002 //有的文档写成100 2
}
7.
sudo gedit /etc/default/tftpd-hpa
修改成:
#Defaults for tftpd-hpa
RUN_DAEMON="no"
OPTIONS="-s /tftpboot -c -p -U 077 -u tftpd"#Defaults for tftpd-hpa
8.
重新启动服务:
sudo /etc/init.d/xinetd restart
sudo in.tftpd -l /tftpboot
重新启动xinetd服务,因为TFTP服务受控与xinetd, xinetd是管服务的服务,它是不开端口的。
service xinetd restart //如果没有则从新启动
设置完毕后在终端测试是可以get的,用minicom启动ARM(PXA270)的linux,然后用以下命令来下内核:
setenv ipaddr 192.168.0.111;setenv serverip 192.168.0.155;setenv gatewayip 192.168.0.1
tftp a0008000 zImage;tftp a0800000 ramdisk.image.gz;go a0008000
总是显示 "tftp Loading: checksum bad ", 超时连接,就是不停的出T T T T....我网线是显示接好了的
之后我随便建一个文件aaa,就几个字节的,试一下,是可以下进去的!!
在随后我在aaa里狂复制粘贴,把它弄到1MB的样子,再下,就下不进去了,也是显示连接超时。。。
是不是哪个地方有tfpt的下载最大大小设置。。。还是我哪里错了。。。。虽然我用的9.04,但那个tftp设置在8.04是能用的。。
