基于imx6的TFTP服务器搭建教程

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

#sudo apt-get install tftp-hpa tftpd-hpaxinetd

2.服务器配置

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

3.重新启动服务

#sudo /etc/init.d/xinetd reload

#sudo /etc/init.d/xinetd restart

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

4.测试服务器

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

? :帮助信息

5.]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菜单。

----------------------MainMenu-----------------------

0 -- exitto uboot shell

1 --select boot mode


输入序号1进入到启动类型选择选项

----------------------BOOTMODE Menu-----------------------

0 -- exitto upper menu

1 -- bootfrom net

2 -- bootfrom emmc


输入序号1设置开发板从网络启动,之后重启开发板即可。

之后若想要从emmc启动,则同理选择boot from emmc即可。

猜你喜欢

转载自blog.51cto.com/14586215/2447131