1. 下载sftp包,解压。如vsftpd-2.3.5.tar.gz
2. 编译

进入目录后,修改交叉编译工具(vi Makefile)

CC      = arm-none-linux-gnueabi-gcc

直接make即可,生成可执行文件vsftpd。

出现错误:

sysdeputil.o: In function `vsf_sysdep_check_auth':
sysdeputil.c:(.text+0xce8): undefined reference to `crypt'
sysdeputil.c:(.text+0xd0c): undefined reference to `crypt'
collect2: ld returned 1 exit status
make: *** [vsftpd] Error 1
    未连接库:crypt,查看Makefile,

10 #LIBS   =   `./vsf_findlibs.sh`  
 11 LIBS    =   -lcrypt
    编译时发现vsf_findlibs.sh并未执行(即使执行,脚本也有误,ubuntu下shell 0为真,1为假)。

直接注释脚本,链接库(-lcrypt)。

3.移植文件和库

查看vsftpd属性:

~$file vsftpd
vsftpd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, stripped
    vsftpd为动态链接,需要拷贝动态库:

~$arm-none-linux-gnueabi-readelf -d vsftpd

Dynamic section at offset 0x165b4 contains 25 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libcrypt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
......

需要两个动态库libcrypt.so.1和libc.so.6。

注:此外动态编译的可执行文件执行需要加载器,要确保加载器也一并移植:

交叉编译工具链提供的加载器文件:

~$ls -al ld*
-rwxrwxr-x 1 yuxi yuxi 144480 Aug  4 15:24 ld-2.5.so
lrwxrwxrwx 1 yuxi yuxi      9 Aug  4 15:24 ld-linux.so.3 -> ld-2.5.so

需拷贝的两个加载器文件:ld-2.5.so      ld-linux.so.3

共5个文件:usr/sbin   ->vsftpd

lib -> libcrypt.so.1    libc.so.6    ld-2.5.so    ld-linux.so.3

现在可以下载到板卡上测试:

~ # vsftpd                                                                      
500 OOPS: vsftpd: not configured for standalone, must be started from inetd

vsftpd可正常运行,只是缺少配置文件。

4. vsftpd配置文件vsftpd.conf

参考:

1. 在Linux下使用vsftpd搭建FTP服务器

最新文章

  1. mac环境brew安装freetype,imagick等yii2所需要的库
  2. 关于JAVA中URL传递中文参数,取值是乱码的解决办法
  3. Android开发 SDK NDK下载
  4. Java 8 VM GC Tunning Guild Charter 9-b
  5. SQL Server数据库事务日志存储序列
  6. Java虚拟机--虚拟机编译器
  7. yii基础知识-
  8. /dev/shm(转)
  9. Arrays.asList()生成的List抛UnsupportedOperationException分析
  10. c语言基础知识
  11. C++ bitset用法
  12. centos7 network eno16777736
  13. 数据库只有mdf文件而没有ldf文件,如何恢复数据库
  14. wfi彩灯
  15. 25. IO流.md
  16. [转]F5负载均衡算法及基本原理
  17. 集合之fail-fast机制
  18. (六)hadoop系列之__hadoop分布式集群环境搭建
  19. 课时47.datalist标签(了解)
  20. Android studio 导入ApiDemo

热门文章

  1. js removeChild
  2. BeanUtils 装载java bean
  3. linux显示桌面快捷键设置
  4. mysql数据库的数据类型及约束
  5. java.lang.UnsupportedClassVersionError: org/hibernate/SessionFactory : Unsupported major.minor version 52.0
  6. JMeter学习笔记--详解JMeter定时器
  7. OAF_OAF控件系列8 - SubTab的实现(案例)
  8. .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  9. MySQL变量的定义与赋值
  10. 批处理学习笔记1 - Hellow World