linux驱动系列之tftp(转)

转自网页:http://blog.csdn.net/xingyu19871124/article/details/7315893

最近在将做的嵌入式项目移植到ARM开发板上,宿主机用的ubuntu11.10,目标机为mini2440的ARM开发板,使用arm-linux-gcc编译项目后,要将项目拷贝到目标机运行,使用可以使用U盘直接拷贝,也可以通过tftp服务。

一、ubuntu11.10搭建tftp服务器

 

  (1) $ sudo apt-get install tftpd tftp openbsd-inetd

       (2) $ sudo vi /etc/inetd.conf

       在这个配置文件里面找到下面的位置:

            #:BOOT: TFTP service is provided primarily for booting. Most sites

       # run this only on machines acting as "boot servers."

       #tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp

       #我把上面的默认的配置文件用井号注释掉了,自己配置了tftp的主工作目录为/tftp

       tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftp

       (3):wq 保存文件退出。

       (4)创建TFTP服务器的文件目录。

      $cd /  

           $sudo mkdir tftp

      $sudo chmod 777 /tftp

      如果有需要下载的文件这时可以拷贝进去,也用chmod 777命令把所有权限打开。

 

      (5)启动(或重启)xinetd服务

      $sudo /etc/init.d/openbsd-inetd restart


      (6)查看69端口是否有打开,使用下面命令

     netstat -an | more

     打印出的东西中找到如下即可:

     udp 0 0 0.0.0.0:69 0.0.0.0:*

        

       (7)在本机测试一下:

           a.在/tftp目下新建一个文件,并写入数据:

           yishugao@yishugao-PC:/tftp$ echo helloworld > zhang.txt

           yishugao@yishugao-PC:/tftp$ cat zhang.txt

           helloworld

          b. 到/home目录下

           yishugao@yishugao-PC:/home$ sudo tftp 221.204.110.99

           [sudo] password for yishugao:

           tftp> get zhang.txt

           Received 12 bytes in 0.0 seconds

           tftp> quit

           yishugao@yishugao-PC:/home$ cat zhang.txt

           helloworld

           yishugao@yishugao-PC:/home$

           行了,本地测试成功!

二、在开发板上使用tftp

      [root@FriendlyARM /zhang]# tftp

BusyBox v1.13.3 (2010-07-24 19:11:35 CST) multi-call binary

Usage: tftp [OPTION]... HOST [PORT]

Transfer a file from/to tftp server

Options:

        -l FILE Local FILE

        -r FILE Remote FILE

        -g      Get file

        -p      Put file

        -b SIZE Transfer blocks of SIZE octets

      [root@FriendlyARM /zhang]# tftp -l /zhang/main -r /tftp/main_arm_v4 -g 192.168.1.37

      注:表示将远程主机上的/tftp/main_arm_v4下载到本地主机/zhang/目录下,并改名为main文件。。。

             -l :localhost      -r :remote   -g:get     192.168.1.37是远程主机ip

             同理,如果要将本地文件上传到远程服务器,把 -g 该为 -p ,p为put的意思。。。

      [root@FriendlyARM /zhang]# ls

      main

      [root@FriendlyARM /zhang]# chmod 777 main

      [root@FriendlyARM /zhang]# ./main /dev/video0

posted on 2016-06-01 09:22  FREEH  阅读(289)  评论(0编辑  收藏  举报