1、安装tftp服务器
需要安装xinetd、tftp和tftp-server3个软件,如果能上网,通过yum安装:
sudo yum install xinetd
sudo yum install tftp
sudo yum installtftp-server
2、配置tftp服务器
修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no。
主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:
service tftp
{
socket_type =dgram
protocol =udp
wait =yes
user =root
server =/usr/sbin/in.tftpd
server_args =-s /var/lib/tftpboot
disable =no
per_source =11
cps =100 2
flags =IPv4
}
说明:修改项server_args=-s <path> -c,其中<path>处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件,共享的文件都存放在此目录中以便其他设备使用,修改此目录权限为777。
3、启动tftp服务器并关闭防火墙
service iptables stop 或者 service firewalld stop 根据Linux发行版本选择。
重启tftp服务
[root@aguangg tftpboot]#service xinetd restart
Redirecting to /bin/systemctl restart xinetd.service
4、查看tftp服务是否开启
netstat -a | greptftp
显示结果为
udp 0 0 *:tftp*:*
表明服务已经开启,就表明tftp配置成功了。
5、ARM开发板与主机通过双绞线连接
1.查询主机eth0网卡的IP
[root@aguangg tftpboot]# ifconfig
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.7.192 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::3e97:eff:fe5e:7c9a prefixlen 64 scopeid 0x20<link>
ether 3c:97:0e:5e:7c:9a txqueuelen 1000 (Ethernet)
RX packets 70 bytes 4442 (4.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 90 bytes 24171 (23.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2.设置ARM开发板的IP与主机的IP 在同一网段
方法一:临时配置网络IP地址和子网掩码 (开发板重新上电会丢失需要重新设置)
ifconfig eth0 10.150.11.2 netmask 255.254.0.0
方法二:永久修改IP 修改文件/etc/init.d/rcS 文件。
[@keni]#vi /etc/init.d/rcS
#!/bin/sh
/bin/mount -a
/sbin/ifconfig eth0 169.254.7.191 up //此处修改与主机同网段IP。
/sbin/ifconfig eth1 192.168.0.16 up
echo -e "\033[?25h"
/bin/mknod /dev/can c 98 0
/bin/ln -s /dev/sound/dsp /dev/dsp
exec /usr/etc/rc.touch
3.检测:开发板通过双绞线ping 主机IP(也可试试用主机ping 开发板的IP,有可能ping不通,这与开发板内linux内的程序有关。)
6、tftp命令用法如下(linux PC机上)
tftp your-ip-address
【进入TFTP操作】
connect:连接到远程tftp服务器
mode:文件传输模式
put:上传文件
get:下载文件
quit:退出
verbose:显示详细的处理信息
tarce:显示包路径
status:显示当前状态信息
binary:二进制传输模式
ascii:ascii传送模式
rexmt:设置包传输的超时时间
timeout:设置重传的超时时间
help:帮助信息
?:帮助信息
7、如果老是出现“AVCDenial, click icon to view”的错误,并不能传输文件,需要作如下修改
修改/etc/sysconfig/selinux,将SELINUX设定为disable
使用命令setenforce0让selinux配置文件生效
8、Busybox中tftp命令的用法(ARM开发板)
命令格式为:
BusyBox v1.6.0 (2008-01-09 17:10:28 CST) multi-call binary
Usage: tftp [-c] FILE [FILE ...]
Update the last-modified date on the given FILE[s]
Options:
-c Do not create any files
如果要下载或上传文件的话是一定要用这些option的。成都明诚科技。
-g表示下载文件(get)
-p表示上传文件(put)
-l表示本地文件名(localfile)
-r表示远程主机的文件名(remotefile)
例如,要从远程主机192.168.1.2上下载test文件,则应输入以下命令
tftp -g -rtest 192.168.1.2 文件会下载到ARM开发板系统的当前目录下。