嵌入式爱好者

boa移植

2021-1-30 15:42| 发布者: xhh| 查看: 502| 评论: 0

类目: I.MX6系列产品  >  Linux     文档编号: 467

移植boa

源码包boa-0.94.14rc21.tar.gz

1.       安装依赖库

apt-get install bison flex

boasrc里的源码放到虚拟机

解压源码

tar xvf boa-0.94.14rc21.tar

cd boa-0.94.14rc21/

2.    修改文件

(1)修改 src/compat.h

找到

#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff

修改成

#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff

否则会出现错误:

util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o] 错误 1

(2)修改 src/log.c

注释掉

if (dup2(error_log, STDERR_FILENO) == -1) {
                         DIE("unable to dup2 the error log");
                   }

为:

/*if (dup2(error_log, STDERR_FILENO) == -1) {
                         DIE("unable to dup2 the error log");
                   }*/

否则会出现错误:

log.c:73 unable to dup2 the error log:bad file descriptor

(3)修改src/boa.c

注释掉下面两句话:

if (passwdbuf == NULL) {
        DIE(”getpwuid”);
        }
        if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
        DIE(”initgroups”);
        }

#if 0
        if (passwdbuf == NULL) {
        DIE(”getpwuid”);
        }
        if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
        DIE(”initgroups”);
        }
        #endif

否则会出现错误:boa.c:211 - getpwuid: No such file or directory

3.       执行编译

./configure --host=arm-linux

make

arm-poky-linux-gnueabi-strip src/boa

至此boa已经交叉编译完成

boa移植到开发板的操作

修改boa.conf

vi boa.conf

(1)Group的修改

修改 Group nogroup

Group root

(2)user的修改

修改 User nobody

User root

(3) 修改DoucmentRoot

DoucmentRoot /var/www

(4) 修改ScriptAlias

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

(5)ServerName的设置

修改#ServerName www.your.org.here

ServerName www.your.org.here

否则会出现错误“gethostbyname::No such file or directory

 

在开发板创建文件

mkdir /var/log/boa

在开发板创建/etc/boa/并把boa.conf放置到此文件夹下


已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-4-26 15:46

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部