Days 18 ElfBoard 移植Boa 到开发板上

本文介绍了如何在ELF1开发板上移植轻量级Web服务器Boa,包括下载源码、交叉编译、配置和在开发板上测试的详细步骤,旨在帮助读者理解和实现嵌入式环境下的Web服务部署。
摘要由CSDN通过智能技术生成

Boa作为一款专为嵌入式系统打造的轻量级Web服务器,其核心优势在于能够在严苛的硬件条件下稳定运行,Boa出色的可定制性和扩展潜能适用于多种应用情境。当面对嵌入式装置或其他计算资源有限的平台时,部署Boa作为Web服务解决方案显得尤为适宜。

接下来,将跟各位小伙伴详细介绍一下基于ELF 1开发板移植Boa的方法。

1、Boa官网下载源码

官网网址:Boa download | SourceForge.net

下载好的Boa源码为:boa-0.94.13.tar.gz

2、将源码拷贝到虚拟机并解压

elf@ubuntu:~/work/a/boa$ tar xvf boa-0.94.13.tar.gz

3、进行交叉编译

elf@ubuntu:~/work/a/boa$ cd boa-0.94.13/src/elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabielf@ubuntu:~/work/a/boa/boa-0.94.13/src$ ./configure --host=arm elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ make

这时会出现报错,如下图显示:

图片

修改src/compat.h文件中的如下位置:

elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ vi compat.h

将 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff

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

修改完成,保存退出,继续make,之后就不会报错了。

至此交叉编译Boa已经完成,接下来在开发板上进行测试。

1、开发板中建立Boa和cgi-bin目录

root@ELF1:~# cd /etc/root@ELF1:/etc# mkdir boaroot@ELF1:/etc# mkdir -p /www/cgi-bin/root@ELF1:/etc# mkdir group

2、将可执行应用和一些配置文件通过Scp命令拷贝到开发板中

elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ scp boa root@192.168.2.98:/etc/boa/elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ scp ../boa.conf root@192.168.2.98:/etc/boa/elf@ubuntu:~/work/a/boa/boa-0.94.13/src$ scp /etc/mime.types root@192.168.2.98:/etc/

3、修改boa.conf文件

root@ELF1:~# vi /etc/boa/boa.conf

需要做如下修改:

1、将Group nogroup改为Group 0 

2、指定 log 文件的路径,把log保存到/etc/boa目录下

将ErrorLog /var/log/boa/error_log 改为

ErrorLog/etc/boa/error_log


将AccessLog /var/log/boa/access_log 改为

AccessLog/etc/boa/access_log

3、将#ServerName www.your.org.here改为

ServerName www.your.org.here

4、将DocumentRoot /var/www改为

DocumentRoot /www

5、将ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/改为

ScriptAlias /cgi-bin/ /www/cgi-bin/

4、在/www/下创建index.html

root@ELF1:/etc# vi /www/index.html

并编写加入以下内容:

<!DOCTYPE html><html xmlns="http://www/w3.org/1999/xhtml">    <head>      <meta http-equiv="Content-type" content="text/html;charset-gb2312">      <title>Isaigu_gateway</title><style type="text/css"><!--  .STYLE1{font-size:45px}  body{    background-color: #ADD8E6;  }  --></style>  </head>  <body>    <table width="613" height="424" border="0" align="center">      <tr>          <td colspan="2" align="center" valign="middle"><h2            class="STYLE1">Hello ElfBoard          </h2></td>      </tr>      </tr>        <td>&nbsp;</td>        <td>&nbsp;</td>      <tr>    </table>  </body></html>

5、在开发板执行应用

root@ELF1:~# /etc/boa/boa

6、在浏览器输入开发板IP,效果如下

图片

至此Boa的移植就完成了,希望各位小伙伴不仅能掌握这项技能,还能享受在嵌入式技术海洋中不断探索的乐趣,并期待你们在接下来的学习道路上越走越远,能够在嵌入式技术领域独当一面!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值