TFTP服务器搭

34次阅读

共计 1674 个字符,预计需要花费 5 分钟才能阅读完成。

  1. 安装服务器、客户端和守护进程

sudo apt-get install tftp-hpa tftpd-hpa xinetd

  1. 服务器配置

首先,在根目录下建一个 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 目录所在的路径。

  1. 重新启动服务、

sudo /etc/init.d/xinetd reload

sudo /etc/init.d/xinetd restart

sudo /etc/init.d/tftpd-hpa restart

  1. 测试服务器

测试一下,在 /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:帮助信息
?:帮助信息

  1. 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 即可

正文完
 0