码迷,mamicode.com
首页 > 其他好文 > 详细

LXT6架构-嵌入式Ftp服务器Vsftpd交叉编译与配置使用(ARMv7)

时间:2015-05-02 19:32:08      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:嵌入式   ftp   服务器   交叉编译   lxt6   

Vsftpd是一款在Linux发行版中最受欢迎的Ftp服务器程序,特点是小巧轻快,安全易用,Vsftpd也是LXT6架构中Ftp服务器首选软件包。

1. 交叉编译libcap(如果需要!?)

   a. 解压libcap-2.24.tar.gz
       tar  -zxvf  libcap-2.24.tar.gz
       cd  libcap-2.24

   b.  生成libcap/_makenames(x86)
       make  clean
       make
       mv  ./libcap/_makenames  ./libcap/_makenames_x86

   c.  修改Make.Rules
       ...
       else
       prefix= (指向ARM编译器usr路径)
       exec_prefix=$(prefix)
       lib_prefix=$(exec_prefix)
       inc_prefix=$(prefix)
       man_prefix=$(prefix)/share
       endif
       ...
       ...
       CC := arm-arago-linux-gnueabi-gcc

       CFLAGS := -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
       ...

   d.  修改libcap/Makefile
       ...
       ifeq ($(LIBATTR),yes)
       FILES += cap_file
       #LDFLAGS += -lattr
       #DEPS = -lattr
       endif
       ...
       ...
       cap_names.h: _makenames
       ./_makenames_x86 > cap_names.h
       ...

   e.  修改libcap/cap_file.c
       ...
       #define XATTR_SECURITY_PREFIX "security."

       #define XATTR_NAME_CAPS XATTR_SECURITY_PREFIX "capability"
       ...

   f.  交叉编译
       make clean
       make
       make install

2. 交叉编译Vsftpd

   a.  解压
       tar  -zxvf  vsftpd-3.0.2.tar.gz
       cd  vsftpd-3.0.2

   b.  修改Makefile
       ...
       CC     =    arm-arago-linux-gnueabi-gcc
       INSTALL    =    install
       ...
       ...
       #LIBS    =    `./vsf_findlibs.sh`
       LIBS    =    -lcap -lpam
       LINK    =    -Wl,-s
       ...
       ...
       install:
            $(INSTALL) -d -m 755 /home/vsftpd/sbin/;
            $(INSTALL) -m 755 vsftpd /home/vsftpd/sbin/vsftpd;
       clean:
       ...

   c.  交叉编译
       make clean
       make
       make install

   d.  配置文件(vsftpd.conf)
       anonymous_enable=NO
       local_enable=YES
       write_enable=YES
       anon_upload_enable=YES
       anon_mkdir_write_enable=YES
       dirmessage_enable=YES
       xferlog_enable=YES
       connect_from_port_20=YES
       chown_uploads=YES
       xferlog_file=/var/log/vsftpd.log
       xferlog_std_format=YES
       async_abor_enable=YES
       ascii_upload_enable=YES
       ascii_download_enable=YES
       ftpd_banner=Welcome to blah FTP service.
       ls_recurse_enable=YES
       listen=YES

3. 安装使用(ARMv7硬件系统)

   a.  配置文件安装
       root@am335xt6:/home#   cp /home/vsftpd/vsftpd.conf  /etc

   b.  启动vsftpd
       root@am335xt6:/home#   mkdir /usr/share/empty
       root@am335xt6:/home#   /home/vsftpd/sbin/vsftpd &

   c.  添加用户
       root@am335xt6:/home#   adduser ftptest
                --> passwd:  123456

   d.  测试
       windows --> cmd --> ftp board_ip   (ftptest@123456)
       或
       浏览器: ftp://board_ip              (ftptest@123456)

(作者 冯青华 信庭嵌入式工作室-主管) <转载请注名来路>

LXT6架构-嵌入式Ftp服务器Vsftpd交叉编译与配置使用(ARMv7)

标签:嵌入式   ftp   服务器   交叉编译   lxt6   

原文地址:http://blog.csdn.net/xteda/article/details/45441269

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!