3805|2

3

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

UBUNTU下TFTP服务器搭建 [复制链接]

 

在作uboot及内核的移植实验时,考虑到效率,我们经常将内核映像通过网线使用tftp下载到板子的内存中,然后运行测试。uboot自带有tftp的相关支持,我们还需要在主机端搭建tftp服务器。

简单介绍下我们接下来要安装的三个包:
xinetd:xinetd
是一个守护进程,用于处理对各种服务的请求,xinetd监控的服务请求出现时,xinetd会使用/etc /xinetd.conf文件 读取/etc/xinetd.d目录中的配置文件,然后,根据所请求服务的xinetd.conf文件内容,启动相应的程序.

tftpd: 服务端
tftp:
客户端

 

具体安装步骤如下:

1.下载安装软件包

sudo apt-get install tftp-hpa tftpd-hpa   //分别下载tftp客户与服务器端
sudo apt-get install xinetd      //
该系统进程

2.准备一个tftp服务器目录:(这里我们将建立”/tftpboot”作为服务器目录,这里存放希望发送的文档)
(1). cd /
      sudo mkdir /tftpboot
      sudo chmod 777 /tftpboot              (
修改服务器目录的访问权限属性
)

(2). cd /tftpboot
    touch test         (
建立一个空的测试文档)

3.修改服务器相关配置:
打开/etc/default/tftpd-hpa,默认配置如下:
#Defaults for tftpd-hpa
RUN_DAEMON="no"
OPTIONS="-l -s /var/lib/tftpboot"

修改后的设置应该如下:
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /home/zdreamx/tftpboot"
其中/home/zdreamx/tftpboot是自己设定的目录,可以根据情况修改。

选项参考说明:(这部分帮组理解配置'OPTIONS'的,与修改无关可以不看)
OPTIONS
-l Run the server in standalone (listen) mode, rather than run from
inetd. In listen mode, the -t option is ignored, and the -a
option can be used to specify a specific local address or port
to listen to.

-a [address][:port]
Specify a specific address and port to listen to when called
with the -l option. The default is to listen to the tftp port
specified in /etc/services on all local addresses.
listen
ip address Port
-c Allow new files to be created. By default, tftpd will only
allow upload of files that already exist. Files are created
with default permissions allowing anyone to read or write them,
unless the -p or -U options are specified.

-s (
决定tftp根目录
)Change root directory on startup. This means the remote host
does not need to pass along the directory as part of the trans-
fer, and may add security. When -s is specified, exactly one
directory should be specified on the command line. The use of
this option is recommended for security as well as compatibility
with some boot ROMs which cannot be easily made to include a
directory name in its request.

4.重新启动服务:
sudo /etc/init.d/xinetd restart
sudo in.tftpd -l /tftpboot               //
在有些版本的ubuntu上必须使用此句来显示的启动tftp服务器。

5.本机测试服务器搭建是否成功:

(1) 进入另外的目录下:

cd /home/usrname

(2)
访问本机tftp服务器:

tftp 127.0.0.1

(3)
获取测试文件:

   > get test


正常情况下,执行完上面这一句后就可以在当前目录下看到获取的test文件。至此,搭建tftp服务器的过程就完成了。

6.
安装过程中可能出现的问题及原因:

现象一:

tftp> get test.log

Transfer timed out.

原因:

tftpd
服务没有启动

现象二:

tftp> get test.log

Error code 2: Only absolute filenames allowed

原因:

/etc/xinetd.d/tftpd中设置的server_args/etc/default/tftpd-hpa

cat /etc/default/tftpd-hpa

#Defaults for tftpd-hpa

RUN_DAEMON="no"

OPTIONS="-s /home/tftpd -c -p -U 077 -u tftpd"

设置的时候只要将server_args=改为你自己设定的服务器文件夹就行了


现象三:

tftp> put ex070416.log

Error code 1: File not found

原因:

指定的文件不存在;或tftpd启动参数中没有指定-c选项,允许上传文件

此帖出自Linux开发论坛

最新回复

 学习了。,  详情 回复 发表于 2012-5-22 16:48
点赞 关注

回复
举报

3

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

,,

 
此帖出自Linux开发论坛
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
 学习了。,
此帖出自Linux开发论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表