一般实现嵌入式的ftp服务,有两种方法:
①程序内部自己搭建ftp服务器,实现文件的操作(上传、下载、删除等),有很多已成功成型的源码;
②使用现成的源码,进行linux-arm移植。第二种方法更方便,本人使用Vsftpd-3.0.2服务器arm-linux移植到嵌入式设备。
本人使用现成的源码两种方法实现了:①stupid-ftpd;②vsftpd。
stupid-ftpd方法能更快实现成功,但设置本地用户登录ftp密码失败,并且没有实现匿名用户和本地用户的删除设备内文件和重命名文件。当删除时,会提示权限问题。
vsftpd主要是配置文件vsftpd.conf、本地用户创建、嵌入式设备内对文件授权问题。
实现stupid-ftpd的操作步骤:参考 “嵌入式Linux的FTP服务端软件(stupid-ftpd)http://www.linuxidc.com/Linux/2012-03/56781.htm
一.实现vsftpd搭建ftp服务器操作步骤
参考“Vsftpd-3.0.2服务器arm-linux移植—mini2440开发板http://blog.csdn.net/evenness/article/details/17068403”
1.下载源码
从网上下载window版的vsftpd-3.0.2源代码,可以参考:(
嵌入式设备ftp服务的实现(源码及生成文件)-CSDN下载 https://download.csdn.net/download/aaa794708075/10480419)
把压缩包放在虚拟机linux环境下(/opt),然后终端输入命令解压。
“tar xzvf vsftpd-3.0.2.tar.gz”,
由于下载的源码包是ZIP压缩格式,所以解压的时候使用z,至于“xzvf”中xz位置可以随意颠倒。解压完毕后进行授权。
再执行“chmod 777vsftpd-3.0.2 -R”
2.修改Makefile文件,修改编译环境
修改Makefile文件,修改编译环境。按实际情况填写,请仔细查看路径,我的是Makefile内修改如下:
CC = arm-hisiv100nptl-linux-gcc
LiIBS=`vsf_findlibs.sh ` -lcrypt //这个修改与否都可以,后面会有相应操作,目测是将脚本里的库生成静态库。


3.修改vsf_findlibs.sh
在vsf_findlibs.sh中,屏蔽51至59行。也就是屏蔽掉和和调用libcap库相关的项,因为arm-hisiv100nptl-linux编译环境里没有这个库(......\hisi-linux-nptl\arm-hisiv100-linux\ta


253

被折叠的 条评论
为什么被折叠?



