vsftpd-2.3.4移植到8621开发板

来源:互联网 发布:asmr软件 编辑:程序博客网 时间:2024/05/16 15:55

客户不知道从哪里买来块板子,让我帮他移植程序。先开始搭环境。

(1)解压vsftpd-2.3.4.tar.gz

       #tar xvzf vsftpd-2.3.4.tar.gz

(2)交叉编译

    需要修改的地方有两处。

第一处是Makefile:

# Makefile for systems with GNU toolsCC =/usr/local/arm/cross/openwrt/bin/arm-openwrt-linux-gnueabi-gcc<span style="color:#ff0000;">修改为交叉编译器的地址,这里选用绝对地址,不需要在profile里边添加gcc的PATH。</span>LIBS    =       `./vsf_findlibs.sh`末尾增加 -lcrypt 变成LIBS    =       `./vsf_findlibs.sh` -lcrypt

第二处是脚本vsf_findlibs.sh。这里主要是牵扯到库libcap的问题。直接去掉。

# Look for libcap (capabilities)#if locate_library /lib/libcap.so.1; then#  echo "/lib/libcap.so.1";#elif locate_library /lib/libcap.so.2; then#  echo "/lib/libcap.so.2";#else#  locate_library /usr/lib/libcap.so && echo "-lcap";#  locate_library /lib/libcap.so && echo "-lcap";#  locate_library /lib64/libcap.so && echo "-lcap";#fi

改完后,执行sudo make,动态编译成功了,得到vsftpd。

之后根据需要修改vsftpd.conf。

vsftpd复制到arm板的/usr/sbin/

vsftpd.conf复制到arm板的/etc/

终端输入

vsftpd &

ps查看进行发现程序正常运行


此时用fxp连接arm板IP,发现

[12:05:33] [R] 正在连接到 192.168.0.178 -> IP=192.168.0.178 PORT=21 (次尝试 # 1)[12:05:33] [R] 已连接到 192.168.0.178[12:05:33] [R] 500 OOPS: vsftpd: cannot locate user specified in 'ftp_username':ftp[12:05:33] [R] 连接失败[12:05:33] [R] 尝试重新连接 #120 次后延迟 2 秒
解决方法:

vi /etc/vsftpd.conf

添加

ftp_username=m #m为arm上的user


重启vsftpd

此时用fxp连接arm板IP,发现

[12:12:27] [R] 正在连接到 192.168.0.178 -> IP=192.168.0.178 PORT=21[12:12:27] [R] 已连接到 192.168.0.178[12:12:27] [R] 500 OOPS: vsftpd: not found: directory given in 'secure_chroot_dir':/var/run/vsftpd/empty[12:12:27] [R] 连接失败[12:12:27] [R] 尝试重新连接 #10 次后延迟 1 秒
解决方法:

mkdir /var/run/vsftpd/empty

之后fxp可正常连接。

0 0
原创粉丝点击