TFTP服务器搭建
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。那么怎么搭建TFTP服务器呢?具体步骤如下:
- 安装服务器、客户端和守护进程
#sudo apt-get install tftp-hpa tftpd-hpa xinetd
- 服务器配置
首先,在根目录下建一个tftpboot,并把属性改成任意用户可读性:
#cd /
#sudo mkdir tftpboot
#sudo chmod 777 tftpboot
然后,进入目录/etc/xinetd.d/,并在其中新建文件tftp,把指定的内容加入到tftp文件中:
#cd /etc/xinetd.d/
#sudo vi tftp
添加以下内容到tftp文件
service tftp
{
disable = no 138
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot –c
per_source = 11
cps = 100 2
}
最后,修改配置文件/etc/default/tftpd-hpa,修改为
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -l -c -s"
注意:将”TFTP_DIRECTORY“改为新建tftpboot目录所在的路径。
- 重新启动服务、
#sudo /etc/init.d/xinetd reload
#sudo /etc/init.d/xinetd restart
#sudo /etc/init.d/tftpd-hpa restart
- 测试服务器
测试一下,在/tftpboot文件夹下新建立一个文件
#touch abc
进入另外一个文件夹
#tftp 192.168.2.51 (192.168.2.51为本机IP)
#tftp> get abc
如果可以下载说明服务器已经安装成功,将开发板同PC通过网线进行连接后即可使用tftp下载文件。
tftp命令用法如下
tftp your-ip-address
进入TFTP操作:
connect:连接到远程tftp服务器
mode:文件传输模式
put:上传文件
get:下载文件
quit:退出
verbose:显示详细的处理信息
tarce:显示包路径
status:显示当前状态信息
binary:二进制传输模式
ascii:ascii 传送模式
rexmt:设置包传输的超时时间
timeout:设置重传的超时时间
help:帮助信息
? :帮助信息
- uboot使用tftp
(1). 用网线连接主机和开发板的网口并将编译好的内核镜像uImage和设备树文件复制到tftpboot目录下
(2). 进入到uboot阶段,修改环境变量并保存:
setenv ethaddr e6:97:d9:0c:f7:7a 设置MAC
setenv serverip 192.168.2.51 设置tftp服务器的IP
setenv ipaddr 192.168.2.85 设置本地的IP
setenv image imx6qdl/zImage 设置tftp服务器上要下载到本地的内核镜像
setenv fdt_file imx6qdl/imx6q-s3-sabresd.dtb 设置tftp服务器上下载到本地的设备树
setenv nfs_rootfs /nfs_rootfs/imx6qdl-rootfs 设置NFS文件系统位置
saveenv
(3). 在uboot菜单选择网络启动
重启开发板,在u-boot启动后,快速按下任意键,进入uboot菜单。
----------------------Main Menu-----------------------
0 -- exit to uboot shell
1 -- select boot mode
------------------------------------------------------
输入序号1进入到启动类型选择选项
----------------------BOOT MODE Menu-----------------------
0 -- exit to upper menu
1 -- boot from net
2 -- boot from emmc
------------------------------------------------------
输入序号1设置开发板从网络启动,之后重启开发板即可。
之后若想要从emmc启动,则同理选择boot from emmc即可