在嵌入式Linux系统(OK6410)中移植Boa 服务器

发布者:幸福的人生最新更新时间:2024-09-06 来源: cnblogs关键字:嵌入式  Linux系统  OK6410  移植  Boa  服务器 手机看文章 扫描二维码
随时随地手机看文章

OK6410的Boa服务器移植:


<一> Boa的编译


1. 从 www.boa.org 下载 Boa 服务器的最新版:boa-0.94.13.tar.gz。


2. 解压:tar xzf boa-0.94.13.tar.gz


3. 进入解压后的文件夹 boa-0.94.13内部的 src文件夹,对源文件进行如下修改


1 由于arm-linux-gcc 编译器版本过高,对语法的支持有一些改变,所以需要修改compat.h中的

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

3 为:

5 #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff

6 不然在编译的时候会提示如下错误:

7 util.c: 100: 1: pasting “t” and “->” does not give a valid preprocessing token make: [util.o] Error1


 1 将boa.c 文件225-227三行的文件注释掉

 2  if (setuid(0) != -1) {

 3                         DIE(”icky Linux kernel bug!”);

 4         }

 5 为

 6 /*

 7          if (setuid(0) != -1) {

 8                         DIE(”icky Linux kernel bug!”);

 9                 }

10 */

11 

12 ,否则,但以root权限启动boa服务器的时候,会出现以下错误:boa.c:226 - icky Linux kernel bug!: 


4. 然后生成Makefile:./configure


5. 修改生成的Makefile:默认生成的Makefile针对x86平台,我们的目标是针对嵌入式平台,所以需要修改编译器.


1 更改Makefile的31行和32行:

2 CC = gcc 

3 CPP = gcc -E

4 更改为

5 CC = arm-linux-gcc

6 CPP = arm-linux-gcc -E

6. 在当前目录下编译Boa源文件: make


7. 将生成好的boa可执行文件去掉冗余信息: arm-linux-strip boa. 如下图为strip 前后boa的大小对比。

33b957b6593b651e9d43d08a1253bf72_021449333907059.png

<二> 将Boa移植到OK6410中


1. 修改boa.conf配置文件:


 1 (1) 修改25行的port端口,用来设置服务器监听的端口:

 2 # Port: The port Boa runs on.  The default port for http servers is 80.

 3 # If it is less than 1024, the server must be started as root.

 4 

 5 Port 80

 6 (2) 注释43行的监听IP地址:默认监听该主机上的所有IP地址

 7 #Listen 192.68.0.5

 8 (3) 修改53、54行的user和Group 启动的UID和GID,使其以root身份启动

 9 #  User: The name or UID the server should run as.

10 # Group: The group name or GID the server should run as.

11 

12 User root

13 Group root

14 (4) 修改116行的DocumentRoot地址,即客户端要显示的HTML页面存放位置

15 # DocumentRoot: The root directory of the HTML documents.

16 # Comment out to disable server non user files.

17 

18 DocumentRoot /usr/local/boa

19 (5) 修改输入网页输入主机IP时要显示的页面:这里设为index.html

20  # DirectoryIndex: Name of the file to use as a pre-written HTML

21 # directory index.  Please MAKE AND USE THESE FILES.  On the

22 # fly creation of directory indexes can be _slow_.

23 # Comment out to always use DirectoryMaker

24 

25 DirectoryIndex index.html

26 (6) 修改CGI程序存放的位置:以http://IP/cgi-bin/cginame 的方式运行cgi 程序时将在/usr/local/boa/cgi-bin 目录下寻找该程序

27 # ScriptAlias: Maps a virtual path to a directory for serving scripts

28 # Example: ScriptAlias /htbin/ /www/htbin/

29 

30 ScriptAlias /cgi-bin/ /usr/local/boa/cgi-bin/


2. 将配置文件boa.conf 移动到OK6410的 /etc/boa/ 目录下。


3. 创建/var/log/boa/ 目录,这样Boa服务器启动时会在该目录下创建日志文件。


4. 将Linux系统上/etc/mime.types 文件复制到OK6410的/etc 目录下,否则Boa服务器启动不起来。


5. 将生成的boa文件移植到嵌入式板中的/sbin目录下并更改脚本文件 /etc/init.d/rcS, 新增一行: /sbin/boa ,确保boa服务器随系统上电自启动。


这里一定要注意:有时候boa服务器并不能随系统启动,运行 /sbin/boa 命令会提示:

gethostbyname:: Success

这种情况下要修改boa.conf 文件

    将

#ServerName  www.your.org.here

    改为      

ServerName  www.your.org.here

即去掉注释即可


 <三> 测试Boa服务器:


1. 静态页面测试:


 1

 2

 3

 4

 5 Boa 静态网页测试

 6

 7 

 8

 9     

  Welcome to Boa sever!

10

11

06b0affa1f5c6b5db1df1975e5871ab1_021441527876746.png

2. CGI  程序测试:


 1 #include

 2 int  main()

 3 {

 4     printf('Content-type: text/htmlnn');

 5     printf('n');

 6     printf('n');

 7     printf('CGI Outputn');

 8     printf('n');

 9 

10     printf('');

11     printf('

Hello, world.

');

12     printf('');

13     printf('n');

14    return 0;

15 } 

a99e7ed410d3b0d536b908ca27ccfef1_021446543873684.png

至此,Boa服务器移植完成。


关键字:嵌入式  Linux系统  OK6410  移植  Boa  服务器 引用地址:在嵌入式Linux系统(OK6410)中移植Boa 服务器

上一篇:飞凌开发板:S3C6410 之裸机程序烧写
下一篇:ARM 中 LDR伪指令

推荐阅读最新更新时间:2024-11-08 11:54

嵌入式技术在智能家居终端控制系统中的应用
   1 引言   智能家居是近几年产生并迅速崛起的一种新型家居住宅,家居的智能化为住户提供了一种更加安全、舒适、方便、快捷和开放的智能化、信息化的生活空间。它不仅已经成为一个国家经济实力和科学技术的综合标志之一,而且也是人类社会住宅发展的必然趋势。   随着EDA技术的高速发展,智能家居的实现也得到了更好的解决。本系统采用三星公司的S3C44B0X芯片,使用uC/OS-II实时操作系统以及先进的蓝牙无线通信技术给出了智能家居的一种合理的、高性能的实现。   2 总体方案设计   本控制系统采用分布式控制方式对智能家居的各部分进行统一的控制,主要包括信息家电部分、环境控制(包括室温,照明,窗帘等)部分、安防报警部分
[嵌入式]
3万元以下X86服务器受市场青睐 份额达89%
前,赛迪顾问发布《2014年7月中国X86服务器市场监测报告》,报告对7月中国X86服务器市场的总体情况进行了深入分析,对X86服务器的产品、价格、区域、用户城市层级、用户领域、用户行业、销售渠道和品牌结构进行了详尽的数据研究。报告数据显示,7月,价格低于3万元的X86服务器受市场青睐,销量达9.8万台,占比89%。另外,价格在1.4-3万元的X86服务器销量为6.8万台,占比61.6%。  
[嵌入式]
Sectigo发布嵌入式防火墙 通过物联网认证保护汽车ECU
根据2019年7月Consumer Watchdog的报告,到2022年,美国超过三分之二的新车的安全关键系统将会在线连接,因此车辆信息娱乐系、GPS导航和其他功能系统面临致命的黑客攻击风险。为此,Sectigo开发了Sectigo Embedded Firewall for Automotive(Sectigo汽车嵌入式防火墙),以更好地保护车辆免受网络攻击。 (图片来源: www.businesswire.com ) 此款新产品是Sectigo物联网识别平台(IoT Identity Platform)的一部分,专为交通安全而开发的。西门子嵌入式软件和电子设计自动化(EDA)业务和技术子公司Mentor,已将Sect
[汽车电子]
Sectigo发布<font color='red'>嵌入式</font>防火墙 通过物联网认证保护汽车ECU
意法半导体的PC版MCU Finder选型工具能在电脑上使用STM32/STM8
横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布了其PC版MCU Finder选型工具,方便嵌入式开发人员在ST MCU应用开发所用桌面环境中直接查看STM32和STM8微控制器的关键信息。   沿袭深受欢迎的基于手机端的意法半导体MCU Finder选型工具ST-MCU-FINDER的功能,PC版ST-MCU-FINDER-PC为用户提供便捷的选型工具、自维护文档和ST MCU开发者社区链接通道。新的PC版ST MCU Finder选型工具支持Windows® 、macOS™和Linux® 三大操作系统,让嵌入式开发人员能够在电脑上整合所有的
[半导体设计/制造]
捷通华声创造嵌入式应用美好生活
在刚刚结束的IDF2010英特尔信息技术峰会上,让我们看到未来嵌入式应用的腾飞,早在2008年秋季IDF上,英特尔预测到2015年全球将有150亿个嵌入式计算设备与互联网连接。而在中国当前,从智能交通基础设施建设到“物联网”,从车载信息娱乐设备到智能家电,嵌入式设备发展前景广阔。 捷通华声是一家专注于语音合成、手写识别等智能人机交互(简称:HCI)技术的研究与应用,全面发展电信增值服务的高新技术企业,与英特尔有着良好的技术合作关系,成立十年来,在嵌入式研发、应用上做出了卓有成效的贡献。 尤其是近两年来,随着无线互联网的到来及嵌入式产品的不断更新,捷通华声推出了基于谷歌(Google)Android操作系统的手
[嵌入式]
嵌入式操作系统UC/OSII的内核实现
引言   以前在我们一般所使用的系统中,任务没有优先级之分。应用程序是一个无限的循环,任务函数按在代码中的顺序运行,处理相应的事务。时间相关性强的任务处理使用中断机制,但是当系统比较复杂、中断资源有限时,中断程序只能将处理该任务的信息条件准备好后返回。当程序按顺序没有执行到该任务时,该任务的执行必须等待,所以将会造成任务每次的执行时间间隔不定,不能及时处理紧急事务,影响系统的运行。这种情况在要求限定时间内周期性处理事务的系统中是不允许发生的,而且只由应用者编写的复杂程序很可能会出现 Bug 。   嵌入式操作系统是实时操作系统,运行于特定的硬件平台上,一般包括处理器、存储器及外设器件和 I/O端口,包括操作系统软件,
[应用]
基于Nandflash的Bootloader的设计与实现
0 引言     Bootloader通常称为系统引导加载程序,是系统加电或复位后执行第一段代码 。一般它只在系统启动时运行非常短时间,但对于嵌入式系统来说,这是一个非常重要系统组成部分。通过这段小程序,可以初始化硬件设备、建立内存空间映射图,从而将系统软硬件环境带到一个合适状态,以便为调用操作系统内核准备好正确环境,并同时提供基本输入、输出系统监控功能和程序调试功能。     Bootloader是严重地依赖于硬件而实现。每种不同体系结构处理器都有不同Bootloader。除了依赖于处理器体系结构以外,Bootloader实际上也依赖于具体嵌入式板级设备配置,也就是说,对于两块不同嵌入式板而言,即使它们是基于同一种处理器
[嵌入式]
移动智能车辆稽查系统的设计与实现
目前我国的公路基础设施建设已进入快速发展阶段,公路里程有了大幅度的提高,在路车辆不断增加。据不完全统计,每年全国漏征养路费高达人民币30~40亿元,给国家造成了巨大的经济损失。同时汽车的盗抢、丢失、违章等事件越来越多,需要交通征费稽查部门、公安交警部门上路检查的时间大大增加。现在大多数部门仍按传统的方式进行人工判断,拦车路检。但这种传统的稽查方式存在着漏查、误查、稽查人员工作强度大等弊端。因此寻求一种智能识别手段取代传统的上路稽查方式是相关部门的愿望。我们基于英特尔PXA270处理器设计的"移动智能车辆稽查系统"完全满足这一实际应用的需求。 1 系统组成和功能 如图1所示,本系统建立了一套基于PXA270嵌入式处理
[单片机]
移动智能车辆稽查系统的设计与实现
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved