ftp: 文件传输协议
tftp:简单文件传输协议
tftpd-hpa是一个功能增强的TFTP服务器。
它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统。
安装
$ sudo apt-get install tftpd-hpa tftp-hpa
配置
RUN_DAEMON="yes"
OPTIONS="-l -c -s /tftpboot"
-c 为可创建新文件,若无此参数,put命令则可能出现错误提示,此时只能覆盖原有文件不能创建新文件;
setenforce
service iptables stop(实际不能关闭防火墙)
在fedora19以上的版本中需要手动关闭防火墙:
打开防火墙图形界面,在Zone项选择public,然后对右边Services里面tftp和tftp-client进行勾选勾选。
启动
# /etc/init.d/tftpd-hpa start
停止
# /etc/init.d/tftpd-hpa stop
链接到开发板
设置好pc
gatewayip=192.168.1.1
netmask=255.255.255.0
serverip=192.168.1.2
连接好网线
设置好uboot
setenv
setenv
setenv
saveenv
ping
在嵌入式系统中,bootloader一般都支持,在引导程序中有类似于客户端的实现功能,PC作为服务器,开发板作为客户端,进行引导程序、内核和文件系统的镜像的下载。
使用下面的命令来安置 tftpd-hpa服务器:
注:若server未安装xinetd则会自动下载openbsd-inetd并安装,使用tftp过程中出错很多时候是因xinetd版本问题;
建立共享目录:
1.sudo mkdir/tftpboot
2.sudo chmod 777/tftpboot
tftp-hpa 的配置文件为/etc/default/tftpd-hpa
无论何种方式配置tftp-server-c参数决定是否能正常写入数据; 这里指定 tftpd 使用的目录为 /tftpboot,注意要修改目录属性:chmod 777tftpboot
关闭selinux和防火墙:(ubuntu不需要)
本机测试tftp服务:
1.cd /home/canux
2.touch test.txt
3.cd /tftpboot
4.tftp 127.0.0.1
5.tftp>gettest.txt