嵌入式webserverboa在S3C2410上的编译移植步骤

 开发平台:ubuntu8.04

目标平台:S3c2410

开发工具:     arm   交叉工具链版本3.4.5

boa版本:boa-0.94.13.tar.gz

一、下载源码,生成makefile

1.下载源码:

2.拷贝到/opt目录下

3.解压tarzxvfboa-0.94.13.tar.tar

4.cdboa-0.94.13/src

5../configure

 嵌入式webserverboa在S3C2410上的编译移植步骤_设计制作_电源/新能源

二、编译前,修改文件

1.修改Makefile文件,找到CC=gcc和CPP=gcc-E,分别将其改为交叉编译器安装的路径:

CC=arm-softfloat-     linux   -gnu-gcc

CPP=arm-softfloat-linux-gnu-g++

保存退出。

2.修改编译方式:

LDFLAGS=-g–sta  TI c

注:使用静态编译可以让目标文件自动的包含所需要的

库文件,而动态编译需要手工拷贝库文件。

3.修改/src/defines.h文件:

#defineSERVER_ROOT"/etc/boa"

4修改boa-0.94/src/u         TI   l.c文件

修改char*get_commonlog_  TI me(void)函数。

 TI me_offset=0;

5.修改src/config.c:加Current_uid=1

6.修改compat.h:把第120行的

#define

TIMEZONE_OFFSET(foo)foo##->tm_gmtoff

修改为:

#define

TIMEZONE_OFFSET(foo)foo->tm_gmtoff

7.修改/src/boa.c,注释掉下面两行:

/*     if   (setuid(0)!=-1){

DIE("ickyLinuxkernelbug!");

}*/

/*if(passwdbuf==NULL){

DIE("getpwuid");

}*/

8:config.c

/*if(!server_name){

structhos     te   nt*he;

chartemp_name[100];

if(gethostname(temp_name,100)==-1){

perror("gethostname:");

exit(1);

}

he=gethostbyname(temp_name);

if(he==NULL){

perror("gethostbyname:");

exit(1);

}

server_name=strdup(he->h_name);

if(server_name==NULL){

perror("strdup:");

exit(1);

}

}*/

9./src/log.c中的修改:注释掉:

/*if(dup2(error_log,STDERR_FILENO)==-1){

DIE("unabletodup2theerrorlog");

}*/

10.在boa.conf中的修改:

(1)ServerName的设置

修改#ServerName

为ServerName

注意:该项默认为未打开,执行Boa会异常退出,提示“gethostbyname::Nosuchfileordirectory”,所以必须打开。其它默认设置即可。

注意:以下是为改为下面这样的:

(2)User与Group的修改:

User0

Group0

(3)ErrorLog/var/log/boa/error_log

AccessLog/var/log/boa/access_log

(4)DocumentRoot/var/www

(5)DirectoryIndexindex.html

(6)KeepAliveMax1000

KeepAliveTimeout10

(7)     Mi   meTypes/etc/mime.types

(8)ScriptAlias/cgi-bin//var/www/cgi-bin/

三、编译并移植

1.编译boa

#make

#arm-softfloat-linux-gnu-stripboa

2,将mime.types文件复制目标板根文件系统/etc目录下

3。在开发板上

cd/etc

mkdirboa

把开发机上的(配置文件)boa.conf(编译结果)boadefines.h这3个文件拷贝到开发板/etc/boa/下

4.在开发板上

cd/var

mkdirwww(这个文件夹内可以放网页)

mkdir/var/log/boa

四、编写CGI脚本     测试  

1、编写Helloworld.c程序

intmain(void)

{

printf("Content-type:text/htmlnn");//这句一定要加上

printf("Hello,world.");

exit(0);

}

arm-softfloat-linux-gnu-gcc-ohelloworldhelloworld.c

2、浏览

将helloworld拷贝至/var/www/cgi-bin/下,浏览器输入开发板IP地址即可看到web信息。

62
99
0
5

相关资讯

  1. 1、怎么用腾讯微云分享加密和不加密的链接用腾讯微云分享链接的教程2838
  2. 2、Win10怎么没有wifi选项Win10专业版wifi没有了825
  3. 3、iqoo中如何将摄像头权限打开?iqoo中将摄像头权限打开的方法287
  4. 4、Win11任务栏颜色如何更改?Win11更改任务栏颜色教程5009
  5. 5、Win7怎么改变复制粘贴快捷键?3309
  6. 6、淘最热点怎么赚钱?淘最热点赚钱的方法4225
  7. 7、Word中的标尺功能如何使用?1634
  8. 8、ALa直播app中的蓝钻如何提现?ALa直播app中的蓝钻提现的方法52
  9. 9、Win10电脑分辨率怎么设置?4234
  10. 10、注册表编辑器被管理员禁用怎么重新启用?2658
全部评论(0)
我也有话说
0
收藏
点赞
顶部