博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zedboard--基于zedboard的demo系统的boa服务器搭建(二十一)
阅读量:5900 次
发布时间:2019-06-19

本文共 2117 字,大约阅读时间需要 7 分钟。

zedboard提供的demo系统很迷你,但是也能移植嵌入式Web服务器的。这里就移植boa服务器。

1.下载Boa服务器源代码(安装好了交叉编译器)

http://www.boa.org/,选择最后一个发布的版本0.94.13

tar -xzvf boa-0.94.13.tar.gz  -C  /home/xzy/sdb1/boa/

目录自己选择,要安装好交叉编译器

2.修改

进入解压后的src这个文件夹,执行./configure,如果没有可执行权限的话用chmod就可以了。

修改Makefile    输入 vim Makefile

找到CC=gcc,替换成我们的交叉编辑环境。  CC=arm-xilinx-linux-gnueabi-gcc

找到CPP=gcc -E,替换成我们的交叉编辑环境。  CC=arm-xilinx-linux-gnueabi-g++

3.改bug

注释下面这段代码,对应225,226,227.

4.修改compat.h

#define TIMEZONE_OFFSET(foo) foo## ->tm_gmtoff,修改

#define TIMEZONE_OFFSET(foo) foo ->tm_gmtoff

5.make

报错1,yacc -d boa_grammar.y make:yacc:command not found

解决方法apt-get install bison

在make 报错2,y.tab.c:In function 'yyparse'

解决方法 apt-get install flex

make ,成功了

make成功之后,运行如下命令去除可执行文件的冗余信息:

arm-xilinx-linux-gnueabi-strip boa

6配置Boa服务器

在源码目录下面可以找到一个boa.conf,我们在这个基础上修改配置。这个配置参考书上的。

User nobody 改为User 0

Group nobody 改为Group 0

ServerName 这个可以自己修改,我没有修改

#DirectoryMaker /usr/lib/boa/boa_indexer 这个原本是没有注释项的,

这里配置好的一些目录必须要保证其他的辅助文件和设置和这里相符,如我们要在demo系统中创建一些目录,下面会创建。另外将可执行文件boa,配置文件boa.conf,mime.types(在linux主机下的/etc下)拷贝到U盘,因为我还没有单间NFS服务器,所以要借助U盘。在新建一个index.html文件。

7.Boa最后的测试

7.1 启动系统,挂载U盘,mount /dev/sda1 /opt/

7.2 新建目录 mkdir -p /etc/boa /var/log/boa /var /www/cgi-bin

7.3 拷贝文件到相应目录  

拷贝配置文件 cp boa.conf /etc/boa/

拷贝 cp mime.types /etc/

7.4 新建两个log文件 vi /var/log/boa/error_log /var/log/boa/access_log 不输入任何东西,保存就可以了。

7.5 chmod 777 index.html,并且拷贝到 cp index.html /var/www/

7.6 由于我的ip和电脑的ip不在一个网段,更改开发板的ip,ifconfig eth0 202.38.214.211

可以在运行cmd命令(pc机)来ping一下,看是否能ping通。

7.7 在U盘中不是还一个boa可执行文件没用上嘛,现在是他用上的时候了, 输入 ./boa &

7.8 在浏览器中输入202.38.214.211

可以看到成功运行了,ps:在书上有提到运行./boa &的时候会看到一些信息,我没有看到。

另外开发板一掉电,那些新建的目录就没有了,这个时候就可以用我们之前的软件开机运行的那个方法,重新制作出新的文件系统压缩镜像,也可以编写一个启动脚本(这个有待尝试)。

8.CGI小尝试

index.html源码为

<html>

<head>
<title>Zedboard WebServer Demo </title>
</head>
<body>
<h1>hello 214!hello xzy!</h1>
<p><a href="./cgi-bin/a.out">cgi in the boa server</a></p>
</body>
</html>

主要是比上面添加了<p><a href="./cgi-bin/a.out">cgi in the boa server</a></p>

CGI源码

对CGI源码进行交叉编译,然后放入zedboard的/var/www/cgi-bin目录下即可,原来的index.html用上面的index.html代替,其他都一样。效果如下:

点击上面的链接:出现

当用户通过Boa服务器访问到index.html网页时,单击CGI链接将可以访问到由上述C语言所编写的简易网页。

 

你可能感兴趣的文章
Hadoop学习笔记系列文章导航
查看>>
Win7 64位 php-5.5.13+Apache 2.4.9+mysql-5.6.19 配置
查看>>
不同页面之间实现参数传递的几种方式讨论
查看>>
程序员进阶之路—如何独当一面
查看>>
SpringMVC中ModelAndView addObject()设置的值jsp取不到的问题
查看>>
Prometheus : 入门
查看>>
使用 PowerShell 创建和修改 ExpressRoute 线路
查看>>
PHP如何学习?
查看>>
谈教育与成长
查看>>
jni c++
查看>>
在C#中获取如PHP函数time()一样的时间戳
查看>>
Redis List数据类型
查看>>
大数据项目实践(四)——之Hive配置
查看>>
初学vue2.0-组件-文档理解笔记v1.0
查看>>
NG-ZORRO-MOBILE 0.11.9 发布,基于 Angular 7 的 UI 组件
查看>>
我就是一个救火员(DBA救援)
查看>>
Centos7安装Gitlab10.0
查看>>
Windows Server 笔记(六):Active Directory域服务:域控制器安装
查看>>
discuz X3登录流程分析
查看>>
上传图片预览
查看>>