boa在嵌入式linux上的移植

boa在嵌入式linux上的移植

ID:10265647

大小:34.50 KB

页数:5页

时间:2018-06-14

boa在嵌入式linux上的移植_第1页
boa在嵌入式linux上的移植_第2页
boa在嵌入式linux上的移植_第3页
boa在嵌入式linux上的移植_第4页
boa在嵌入式linux上的移植_第5页
资源描述:

《boa在嵌入式linux上的移植》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。Boa的设计目标是速度和安全。下面给大家介绍一下Boa服务器移植的具体操作步骤,希望能够有帮助。环境       主机:ubuntu8.10       交叉工具链:gcc-3.4.5-glibc-2.3.6       目标:s3c2410开发板结合网上一些文档,整理了一个比较完整的文档。1.下载Boa源码下载地址:http://ww

2、w.boa.org/最新发行版本:0.94.13下载boa-0.94.13.tar.gz解压:#tarxzfboa-0.94.13.tar.gz2.安装需要工具bison,flexsudoapt-getinstallbisonflex否则会出现如下错误make:yacc:命令未找到       make:***[y.tab.c]错误127make:lex:命令未找到       make:***[lex.yy.c]错误1273.修改文件(1)修改src/compat.h找到#defineTIMEZONE_OFFSET(foo)foo##->tm_gmtoff修改成#

3、defineTIMEZONE_OFFSET(foo)(foo)->tm_gmtoff否则会出现错误:util.c:100:1:error:pasting"t"and"->"doesnotgiveavalidpreprocessingtokenmake:***[util.o]错误1(2)修改src/log.c注释掉if(dup2(error_log,STDERR_FILENO)==-1){                         DIE("unabletodup2theerrorlog");                   }为:/*if(dup2(err

4、or_log,STDERR_FILENO)==-1){                         DIE("unabletodup2theerrorlog");                   }*/否则会出现错误:log.c:73unabletodup2theerrorlog:badfiledescriptor(3)修改src/boa.c注释掉下面两句话:if(passwdbuf==NULL){        DIE(”getpwuid”);        }        if(initgroups(passwdbuf->pw_name,passwdb

5、uf->pw_gid)==-1){        DIE(”initgroups”);        }为#if0        if(passwdbuf==NULL){        DIE(”getpwuid”);        }        if(initgroups(passwdbuf->pw_name,passwdbuf->pw_gid)==-1){        DIE(”initgroups”);        }        #endif否则会出现错误:boa.c:211-getpwuid:Nosuchfileordirectory注释掉下面语

6、句:if(setuid(0)!=-1){                        DIE(”ickyLinuxkernelbug!”);        }为#if0         if(setuid(0)!=-1){                        DIE(”ickyLinuxkernelbug!”);                }#endif否则会出现问题:boa.c:228-ickyLinuxkernelbug!:Nosuchfileordirectory4、生成Makefile文件执行:#cdboa-0.94.13/src      

7、   #./configure5、修改Makefilecdsrc         vimMakefile修改CC=gcc为CC=arm-softfloat-linux-gnu-gcc修改CPP=gcc-E为CC=arm-softfloat-linux-gnu-gcc-E6、编译make         ls-lboa         -rwxr-xr-x1daviddavid1892232009-05-3113:44boa然后为生成的二进制文件boa瘦身arm-softfloat-linux-gnu-stripboa         ls-lboa       

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。