ok6410 linux测试搭建web服务器boa成功······
这是智能家居的第一步了,下面就是学习如何通过网络脚本来控制linux电路···
整个步骤就是
下载boa代码
编译 gcc(pc) 版本的boa并且搭建测试
编译arm-linux-gcc 版本的boa 移植搭建测试
详细的编译好文件 我这里也有,直接复制粘贴 启动就可以了 要的话 留下邮箱
放图:
不得不说一下飞凌不厚道,编译好的程序也没测试就做成ok6410镜像了,boa的源码你们都没改,你这带给我们多少不方便呀,
一直以为我这里编译器出问题了,换了3个编译器都不行,原来运行的是你们的boa 程序晕死。
这个包里面是关于boa的conf设置文件 boa的执行文件大家可以动手自己按照下面教程 自己来做boa二进制文件,说明下conf文件里面的设置信息大家最好也就不要改了 因为真的不知道一改会发生什么事情 我大概说下按照我写的conf文件的设置目录
1.conf放在etc/boa里面
2.在根底下建立一个www的文件夹里面在建一个cgi-bin的文件夹
3.把我提供的armhello这个文件(cgi执行文件)放在cgi-bin文件夹里 并且改名字为hello
4,把我提供的index.html文件放在www目录底下
5.执行你编译好的boa二进制文件 服务器正常开始启动,如果报错 请核实以上步骤
6,确保你的开发板网线已经插在路由器上面,你的测试电脑也插在上面
7,设置你的电脑ip和开发板ip为同一个网段,,如:开发板ip: 192.168.1.102那么你的电脑ip应该为 192.168.1.XX(2-254)
8,在你的电脑浏览器上面输入你的开发板ip,此时应该正常显示服务器中www/index.html里面的内容
9,点击网页中的按钮,cgi程序,执行,显示·········· helloworld 我的cgi··········,这里注意一定要确保中文显示正常,因为我在编写cgi的时候,输出的 浏览器编码格式是UTF-8 应该是支持全球语言的。
说明建立文件夹的操作皆为arm开发平台,不是pc平台 谨记······
现在说下怎么编译boa源代码
1)在www.boa.org下载boa-0.94.13.tar.gz 并解压# tar -zxvf boa-0.94.13.tar.gz2)在src目录下运行./configure3)生成Makefile文件,修改CC = arm-linux-gccCPP = arm-linux-gcc–E(1)将boa.c文件中以下几行判断去掉即可。
if (setuid(0) != -1) {
DIE("icky Linux kernel bug!");
}
(2)修改文件compat.h P120#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff(3)把src文件夹下的config.c里的if(!server_name){..........}(大概在266行到286行之间)注释掉否则Error:./boagethostbyname:: Resourcetemporarily unavailable (4)修改 src/log.c
注释掉
if(dup2(error_log, STDERR_FILENO) == -1) {
DIE("unableto dup2 the error log");
}
否则会出现错误:
log.c:73 unableto dup2 the error log:bad file descriptor
4)make5)执行arm-linux-strip boa去掉调试信息,小很多,50多k编译出boa为可执行文件,在src目录地下
如果你觉得直接交叉调试,存在一定不方便原因,那么可以先生成gcc版本的boa在我们虚拟机上面搭建,我提供的conf文件通用,只不过 建立文件夹那些工作 请在虚拟机中完成,目录设置依然不变,如果虚拟机中boa运行成功 那么就可以进行真正的移植工作了。
这个必须顶! 我的qq:2332808865,希望能跟你后面学习! mark 下我也可能用到的。。。httpd 也是极好的 blank 发表于 2013-4-6 02:43 static/image/common/back.gif
这个包里面是关于boa的conf设置文件 boa的执行文件大家可以动手自己按照下面教程 自己来做boa二进制文件, ...
非常不会错的资料 向楼主学习! ......................
页:
[1]