专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
嵌入式
嵌入式Linux中的boa服务器的移植
2019-07-13 00:15
发布
生成海报
站内文章
/
嵌入式Linux
16652
0
1409
一、BOA服务器移植环境
1
、
主机:
Ubuntu10.10
发行版
2
、
目标机:
FS_S5PC100
平台
3
、
交叉编译工具:
arm-none-linux-gnueabi-4.5.1
4、内核:
linux-2.6.35
二、环境的配置与修改
1.解压源码
$tar xvf boa-0.94.13.tar.tar
2.修改Makefile
$cd boa-0.94.13
$cd src
$./configure (生成Makefile)
修改Makefile(修改交叉工具链)
修改CC = gcc 为 CC = arm-none-linux-gnueabi-gcc
修改CPP = gcc -E 为 CPP = arm-none-linux-gnueabi-gcc –E
3.Makefile用到的文件配置
(1). 下载Lex和YACC
注:Lex(
生成一个词法分析器(scanner)的C源码
)
任务就是将输入的各种符号,转化成相应的
标识符
(token),转化后的标识符 很容易被后续阶段处理
。
YACC
:
yacc生成的
编译器
主要是用C语言写成的语法解析器(Parser),需要与词法解析器Lex一起使用,再把两部份产生出来的C程序一并编译。
(2). 修改 src/compat.h
找到 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
(3). 修改 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");
}*
(4). 修改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
注释掉
if (setuid(0) != -1) {
DIE(”icky Linux kernel bug!”);
}
为
#if 0
if (setuid(0) != -1) {
DIE(”icky Linux kernel bug!”);
}
#endif
4.make与瘦身
make之前安装交叉编译连arm-none-linux-gnueabi
$make
给boa瘦身
三、配置BOA服务器
1、 创建目录
2、 将boa源码目录下的boa.conf拷贝到/source/rootfs/etc/boa目录下
3、修改配置文件boa.conf
(1)Group的修改
修改 Group nogroup
为 Group 0
(2)user的修改
修改 User nobody
为 User 0
(3)ScriptAlias的修改
修改ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
为 ScriptAlias /cgi-bin/ /www/cgi-bin/
(5)DocumentRoot的修改
修改DocumentRoot /var/www
为DocumentRoot /www
(6)ServerName的设置
修改#ServerName
www.your.org.here
为 ServerName
www.your.org.here
否则会出现错误“gethostbyname::No such file or directory”
(7)AccessLog修改
修改AccessLog /var/log/boa/access_log
为#AccessLog /var/log/boa/access_log
4.创建boa服务器所需的目录(注:与boa.conf配置文件里的目录对应)
(注:当不能使用cgi 时,将#AddType application/x-httpd-cgi cgi改为AddType application/x-httpd-cgi cgi)
将boa拷贝到开发板根文件系统的/etc/boa下
将ubuntu下/etc/mime.types拷贝到开发板根文件系统的/etc下
将你的主页index.html拷贝到www目录下
四、测试
1.启动开发板
2.进入etc/boa/文件夹
#cd etc/boa/
3.启动boa服务器
4.打开ie浏览器,输入开发板的ip地址,回车
可以打开你的测试网页,证明boa服务器移植成功。
Ta的文章
更多
>>
OpenCL概述
0 个评论
fedora 10 解决Qtdesigner 4 不显示文字问题
0 个评论
嵌入式Linux中的boa服务器的移植
0 个评论
电脑管理 删除枷锁的文件
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮