通过ftp实现Ubuntu与Linux嵌入式开发板的文件传输功能

      正在进行一个嵌入式Linux开发板的项目,用到了ftp功能。先简单介绍一下我这边的硬件:PC机和Linux开发板(AM4378);还有软件:PC机下装了虚拟机,Ubuntu的版本是12.04,Linux开发板的内核版本为4.1.18。我的Linux开发板是通过buildroot编译的文件系统,因此在加入ftp功能直接到busybox中配置。如果本身你的开发板已经有了ftpd、ftpget和ftpput这些功能,请直接看第二节。详细配置过程如下:

一、开发板开启ftp功能

1.编译文件系统时需要通过busybox的配置加入ftp功能(需要在文件系统编译完成后才能进行该步骤),配置方法如下:

①进入busybox的配置目录

#cd /home/437workspace/Filesystem/myir-buildroot/output/build/busybox-1.25.1

②配置busybox选项

#make menuconfig

(添加)

Networking Utilities  --->

[*] ftpd

[*] ftpget

[*] ftpput

[*] inetd

 

③将步骤②配置获得的.config配置文件替换文件系统中关于busybox的配置文件

#cp -r /home/437workspace/Filesystem/myir-buildroot/output/build/busybox-1.25.1/.config /home/437workspace/Filesystem/myir-buildroot/package/busybox/busybox.config

④切换到文件系统编译目录

#cd /home/437workspace/Filesystem/myir-buildroot

⑤重新编译文件系统

#make

2.将重新生成的文件系统载入开发板,此时可在开发板中输入以下指令:ftpd、ftpget和ftpput,说明busybox配置成功。

3.开发板配置ftp目录,该目录作为ftp服务传输文件的路径。

①创建配置文件

# vi /etc/inetd.conf

在配置文件中写入以下内容:

21 stream tcp nowait root ftpd ftpd -w /ftpdir

②创建ftp目录

#mkdir /ftpdir

③将配置文件执行到脚本中

# inetd

④测试ftp进程,可以查询到inetd进程已经启动

#ps

二、Ubuntu开启ftp功能

1.安装文件

#sudo apt-get install vsftpd

2.修改ftp配置文件

#sudo vi /etc/vsftpd.conf

将以下两行的注释去除:

#local_enable=YES

#write_enable=YES

改为

local_enable=YES

write_enable=YES

3.重启ftp服务

#service vsftpd restart

三、开发板和Ubuntu文件传输

在ftp传输中,对Ubuntu的文件访问是自由的,即只要启动ftp服务,用户可以自由传输Ubuntu的所有文件(有时候需要保证文件夹具有访问权限),但是对开发板而言,用户只能在其指定的文件夹下进行文件的传输。

1.用户在Ubuntu中操作

从Ubuntu登录到开发板(务必确保Ubuntu和开发板在同一网段),然后可以访问开发板上的文件,也可以向开发板传输文件。在访问开发板上的文件时,用户只能对开发板上路径/ftpdir下的文件进行操作。从开发板上获取到的文件会保存在当前Ubuntu操作目录下。

#put+Ubuntu文件路径名+开发板文件名(不能包含路径,传输的文件将会保存至/ftpdir路径)

#get+开发板/ftpdir路径下的文件+Ubuntu文件路径名

2.用户在开发板中操作

用户可以从开发板向Ubuntu任意路径下传输文件,也可以从Ubuntu任意路径下获取文件,但是Ubuntu下的路径必须有访问权限。

#ftpput+[-u]+Ubuntu用户名+[-p]+登录密码+Ubuntu的IP地址+Ubuntu文件路径名(为了防止出错最好写全路径)+开发板/ftpdir路径下的文件

#ftpget+[-u]+Ubuntu用户名+[-p]+登录密码+Ubuntu的IP地址+保存的文件名(将会保存至开发板/ftpdir路径下)+Ubuntu文件路径名

 

  • 0
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值