昨天努力钻研了一天TFTP,但是结果似乎还是不乐观,进度比预想的慢,我觉得主要原因有两个,一是对linux命令不熟,很多操作都要现找,当然因为手头连本教材都没有,google自然也就是唯一的最好的老师了;第二,考研的成绩,现在心里还是觉得堵得很,当然这不是科研日志的一部分。
言归正传,现在TFTP在本机上的配置已经差不多了,TFTP的作用就是文件传输,那么我们需要他做什么呢?之前用的SAM-BA也是板子FLASH的烧写工具,但是只用来烧写U-BOOT和内核,TFTP和NFS是用户文件烧写的两种常用方法(也可以烧写内核),我选择用TFTP,因为宋老师在配置内核的时候用的也是这个,所以多少能熟悉一些。TFTP方式大概是这样的,先在本机配置好,TFTP的默认目录是/tftpboot ,在这个目录下存放要传送的文件,用get和put命令进行文件传输;目标板上配置TFTP,与主机用网线连接,设置好IP,让目标板与主机连接,然后再目标板上用GET下载主机上的文件。
1.先记录一下TFTP的配置方法:
下面介绍我们接下来要安装的三个包:
1.xinetd:xinetd是一个守护进程,用于处理对各种服务的请求,当xinetd监控的服务请求出现时,xinetd会使用/etc/xinetd.conf文件 读取/etc/xinetd.d目录中的配置文件,然后,根据所请求服务的xinetd.conf文件内容,启动相应的程序.
2.tftpd :服务端
3.tftp:客户端
第一步:安装相关软件包
sudo apt-get install tftpd (服务端)
sudo apt-get install tftp (客户端)
sudo apt-get install xinetd
第二步:建立配置文件
cd /etc/xinetd.d/
vim tftp
输入
QUOTE:
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } |
存盘退出
3、建立tftp服务文件目录
mkdir /tftpboot
4、从新启动服务
/etc/init.d/xinetd restart
提示:在执行了这个命令后,可能显示一些信息,但是不会影响使用(具体什么原因我也不太清楚),下面的步骤顺利通过就可以了。
安装完成!测试方法:
在/tftpboot 目录下随便放个文件abc
然后 运行tftp 服务器ip(比如tftp 192.168.1.1), 进入tftp命令行
输入get abc 看看是不是能把文件下下来,如果可以就可以了,也可以put 文件上去。
具体参见http://www.linux521.com/2009/newbie/2009-01-03/33.html
2.在目标板上的设置
一 对在bootload里面用tftp更新系统时,一般的说明文档里有怎么用这个命令,主要是电脑上的服务器怎么设置。安装好后,修改相应的配置文件,然后启动xinetd服务, service xinetd start 最后,关闭防火墙,service iptables stop (很多人不成功,就是因为这里没做好)
二 对正常情况下使用tftp
tftp通过http://www.busybox.net/上对这个命令有点说明,说明如下:
-
tftp
- tftp [OPTION]... HOST [PORT]
-
Transfer a file from/to tftp server using ``octet'' mode
-
Options:
-
-l FILE Local FILE
-r FILE Remote FILE
-g Get file
-p Put file
-b SIZE Transfer blocks of SIZE octets
例子:tftp -g -r 1.mp3 192.168.151.52
3.配置目标板的IP
目标板得IP必须和主机的IP在一个网段,否则找不到
ifconfig eth0 192.168.1.18 netmask 255.255.255.0
说明:该种方式可以使改变即时生效,重启后会恢复为原来的IP