嵌入式的WEB服务器PHP移植
移植嵌入式平台BSP移植记录
嵌入式平台BSP移植记录1. 安装ltib-mpc8272ads-20080623通过运行下面这条命令拷贝源码包,并为BSP中的源码包打补丁。
./ltib -m prep -p u-boot执行后在ltib-mpc8272ads-20080623/rpm/BUILD/下生成u-boot-1.3.2源码目录。
将该目录拷贝至工作目录,如/home/lidx/下。
另存,重命名为u-boot-1.3.2_ori。
在工作目录下u-boot-1.3.2下修改源码。
修改完成后,生成补丁文件。
Diff -Nubr u-boot-1.3.2_ori u-boot-1.3.2 >u-boot-1.3.2.patch以此类推,修改内核,生成linux的补丁文件,命名为linux-2.6.25.patch。
复制linux-2.6.25/arch/powerpc/boot/dts/mpc8272ads.dts,修改,重命名为mpc8247ads.dts。
将以上两个补丁文件(u-boot-1.3.2.patch和linux-2.6.25.patch)和mpc8247ads.dts拷贝至patch目录下。
然后将patch目录拷贝到ltib-mpc8272ads-20080623目录下2. 编译u-boot$ cd ltib-mpc8272ads-20080623$ sh patch/rebuild_uboot.sh编译生成的二进制文件为ltib-mpc8272ads-20080623/rpm/BUILD/u-boot-1.3.2/uboot.bin。
3. 编译kernel$ cd ltib-mpc8272ads-20080623$ sh patch/rebuild_kernel.sh编译生成的二进制文件为ltib-mpc8272ads-20080623/rpm/BUILD/linux-2.6.25/arch/powerpc/boot/uImage。
嵌入式web server boa在S3C2410上的编译移植步骤
5. ./configure
二、编译前,修改文件
1.修改Makefile文件,找到CC=gcc和CPP=gcc -E,分别将其改为交叉编译器安装的路径:
CC= arm-softfloat-linux-gnu-gcc
CPP= arm-softfloat-linux-gnu-g++
嵌入式web server boa在S3C2410上的编译移植步骤
开发平台:ubuntu 8.04
目标平台:S3c2410
开发工具:arm交叉工具链版本3.4.5
boa版本:boa-0.94.13.tar.gz
一、下载源码,生成makefile
1.下载源码:
2.拷贝到/opt目录下
3.解压tar zxvf boa-0.94.13.tar.tar
(6)KeepAliveMax 1000
KeepAliveTImeout 10
(7)MimeTypes /etc/mime.types
(8)ScriptAlias /cgi-bin/ /var/www/cgi-bin/
三、编译并移植
1.编译boa
# make
# arm-softfloat-linux-gnu-strip boa
2,将mime.types文件复制目标板根文件系统/etc目录下
3。在开发板上
cd /etc
mkdir boa
把开发机上的(配置文件)boa.conf(编译结果)boa defines.h这3个文件拷贝到开发板/etc/boa/下
4.在开发板上
cd /var
mkdir www (这个文件夹内可以放网页)
}*/
嵌入式WEB服务器在ARM-Linux上的移植全过程-::电子爱好者天地::.-西...
嵌入式WEB服务器在ARM-Linux上的移植全过程-::电子爱好者天地::.-西...因为要用,所以查了一些资料,再结合自己的实际情况,在ARM板子上做了一个WEB服务器,服务器可以通过CGI进行动态交互.现记录于此.主机:redhat企业版4目标板:EBD9260-S(内核版本2.6.19)主机IP:192.168.0.12目标板IP:192.168.0.11交叉编译环境已经设置好.由于ARM资源的限制,不可能将一些大型的服务器移植上去,对脚本的支持也不大可能,开源的boa就是这么一个服务器:可以传送静态网页和通过纯CGI的方式进行交互.步骤:1.从上下载boa的源码,目前版本是boa-0.94.132.tar -xzvf boa-0.94.13cd boa-0.94.13/src./configure,生成Makefile3.vi Makefile,修改:CC=armv5l-linux-gccCPP=armv5l-linux-gcc -E保存退出4.make,出现错误:util.c:100:1:pasting "t" and "->" does not give a valid preprocessing token5.修改compat.h中:#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff#define TIMEZONE_OFFSET(foo) foo##->tm_zone为:#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff#define TIMEZONE_OFFSET(foo) (foo)->tm_zone 6.还有一个错误需要修改:将boa.c中的if(setuid(0)!=-1){DIE("icky Linux Kernel bug!");}将这三行注掉,不然编译不会出错,但是启动不起来7.重新make,生成可执行文件boa8.剥去调试信息:armv5l-linux-strip boa9. 修改boa-0.94.13目录中的boa.conf:port 80user 0group 0Errorloog /var/log/boa/error_logAccesslog /var/log/boa/access_logserver Name Document Root /var/wwwDirectaryIndex index.htmlKeepAliveMax 1000KeepAliveTimeOut 10Mimetypes /etc/mime.typesDefaultType text.plainCGIPATH /bin:/usr/bin:/usr/local/binAlias /doc /usr/docScriptAlias /cgi-bin/ /var/www/cgi/bin/10:在目标板上:mkdir /var/wwwmkdir /var/www/cgi-binmkdir /var/log/boamkdir /etc/boa通过ftp或者nfs的方式将主机下的/etc/mime_types.h传到目标板/etc下将刚才修改的boa.conf传到/etc/boa下将生成的boa可执行文件传到/usr/bin下制作index.html,将其传到目标板/var/www/下11.在目标板上启动boa,在主机上的浏览器中输入:http://92.168.0.11就可以看到index.html的内容了,如果看到,则说明boa移植成功了12.测试cgi.编写hello.cgi:#include <stdio.h>int main(void){printf("Conten-type:text/html\n\n");printf("<html>\n");printf("<head><title>CGI OUTPUT</title></head>\n");printf("<body\n>");printf("<h1>Hello,xibiren!</h1>\n");printf("</body>\n");printf("</html>\n");exit(0);}然后armv5l-linux-gcc -o hello.cgi hello.c生成hello.cgi,将其传输到目标板上/var/www/cgi-bin/目录下13.在主机浏览器中输入http://192/168.0.11/cgi-bin/hello.cgi如果能看到:Hello,xibiren!的测试界面,则说明cgi测试通过.//****----------------//要想进一步用好boa的cgi功能,还必须移植CGIC库.下次再写了.//****----------------//按照上面的步骤执行之后,需要重新制作文件系统,才能在下此开机之后能够使用.//****-----------------//。
嵌入式WebServer GOAHEAD移植实验
实验十五嵌入式WebServer GoAhead 移植实验一,实验目的完成这个实验后,您将具有以下能力:⏹ 了解GoAhead webserver 的移植方法。
⏹ 学习如何使用GoAhead web 服务器。
二,基础知识进行本实验前,您应具有:⏹ C 语言基础⏹ Linux 环境下vi 编译器的使用⏹ Makefile 的编写和使用⏹ Linux 下的程序编译与交叉编译过程三,实验环境准备为了完成本实验,以下硬件条件是必需的:⏹ UP-NETARM2410-S 嵌入式实验平台⏹ PC 机Pentium500 以上,硬盘40G 以上,内存128M 以上为了完成本实验,以下软件条件是必需的:⏹ PC 机操作系统RedHat Linux 9.0⏹ ARM-LINUX 开发环境⏹ webs218.tar.gz 压缩包四,情景描述下载webs218.tar.gz 压缩包并且解压,之后对LINUX 目录下的main.c 程序和Makefile 进行改造,并且通过交叉编译器进行编译。
将生成的webs 程序在开发板上执行并测试。
五,实验基本原理1,GoAhead Webserver 介绍GoAhead Webserver是为了嵌入式设备的需要而设计的。
该Webserver软件很有特色且开源,它具有各种各样的特性,包括支持活动服务页,嵌入Java描述语言,in-process CGI 形式,SSL,文摘访问认证,用户管理和标准CGI等等,这些全部在一个60K大小的存储脚本中。
这对于那些需要在基于浏览管理模式的设备上传递动态信息的系统管理开发人员来说,是非常有用和高效的。
GoAhead Webserver支持多种开发平台和操作系统,包括Windows NT/98/95、Windows CE、Embedded Linux、Linux、VxWorks、QNX、Lynx等等,因此具有很强大的移植特性。
GoAhead 网络服务器的发展同时也促进了嵌入式网络服务器的源代码的进化。
嵌入式Linux下的thttpdweb服务器的移植
安 阳工 学 院 学 报
J un lo y n n tueo e h oo y o r a f An a gI si t f c n lg t T
M a . r2011
第 1 0卷 第 2期 ( 总第 5 0期 )
Vo.0No2 G nNo5 ) 1 .( e . .0 1
关 键 词 : t d 移 植 ; 入 式 Ln x;XP 2 Tht ; p 嵌 iu I 4 5
中 图分 类 号 : P 1 T 36
文献标识码 : A
文 章 编 号 : 6 3 2 2 ( 0 ) 2 0 3 — 4 17— 98 2 1 0 —0 8 0 1
作 为 开放 源 代码 的 操作 系 统 , 嵌入 式 Ln x有 iu 着 与 生俱 来 的诸 多特 性 , 采 用 模 块化 的结 构 、 其 易 于裁 剪 和定 制 、免 费获 得 等 特 点使 其 在 嵌 入 式 操 作系 统 中 独 占鳌 头 ,而且 支 持 其 的处 理 器 也 种 类 繁 多 . 尤 其 是 支 持 包 括 A M6 0 A M7 0 R 1、R 1、 A M7 0 、 R 0 T Srn A M 与 xcl 系 列 R 2 T A M9 2 、t g R o sae等 的 A M 处 理 器 。 其 中 Itl S ae网 络 处 理 器 R ne X cl IP 2 X 4 5因其 高 性 价 比和拥 有 5 3 zX cl 以 3 MH S ae核 及 3个 多线 程 微处 理 引 擎 的 高处 理 能 力 被 许 多 厂 家 选择 用 于 Fr w l设 备 、 P i a m 1 V N设备 、无 线 A 、 P等 网络应 用 的产 品开 发 。 因此 ,向基 于 Itl XP 2 ne 4 5 I 网络 处 理 器 的嵌 入 式 Ln x下 移植 各 类 软件 就 成 iu 为成 为 了 当前 的一 个 研 究 热 点 。本 文根 据 实 际 项 目开 发 中一 个 基 于 I P 2 X 4 5平 台 的嵌 入 式 系 统 为 例, 阐述 如 何将 tt dw b服 务器 移 植 到该 嵌 入 式 ht e p 平 台上 。
嵌入式Web服务器下μClinux移植研究
计 算 机 与数 字 工 程
Co u e mp tr& Dii lEn ie r g gt gn ei a n
Vo . 9 No 5 13 .
19 8
嵌 入 式 We b服 务 器 下  ̄ l u C i x移 植 研 究 n
2 开发 环 境 的 搭 建
开发 环 境 配 置 和移 植 / l u  ̄ i x流 程 图如 1所 Cn 示 。/ l u  ̄ i x的开发 交叉 编译 环 境采 用 了 GNU 开 Cn
式 We 服 务器 软件也 还是 一个 市场 的需求 _ 。 b 1 ]
/ lu , i x是 近年来 伴 随着 AR 系列 微处 理器 Cn M
成 的 , 此基 础 上 实 现 了 多平 台 的嵌 入 式 W e 在 b服
务器。
各种 各样 的设备 提 供 了一 个很 好 的途 径 。把 w e b
服务 器应用 到嵌 人式设 备 已经 是可 以实 现 的技 术 , 但一个 稳定 好 的 、 适应 性强 的 、 全性 好 的 、 以适 安 可 合 多嵌 入式 操作 系统 的和 有 自己知 识 产 权 的嵌 入
发套件 的解 决 方 案 。针 对 开发 板 实 际上 需 要 做 ] 的工作 是在 宿 主机 上 建 立 交 叉 编 译 工 具 。使 用 这 些 工具 可 以形 成 可 运 行 于嵌 人 式 系 统 的二 进 制 文
件 。而 在 宿 主 机 上 要 求 安 装 的 是 R d a .0 e h t9
Tr ns l nt to e e c fpCln n Em b d d W e e v r a p a a i n R s ar h o i ux o e de b S r e
嵌入式Web服务器移植与测试
实 现远 程 We b服 务 . 管理 人 员 能通 过 互联 网在 任 何 具 有 网络 的 地 方 对粮 仓 进 行 实 时 管 理 控 制 。结 果表 明 , b服 使 We 务 器 B A 运 行 良好 . b服 务 器各 项 功 能符 合要 求 。 O We
Eetcl nier gC l g , nin 5 0 2 C i ; . nnU ie i eh o g , hnz o 50 1 hn ) l r a E gnei ol e Xi ag4 3 0 , hn 3 Hea n rt o c nl y Z egh u4 0 0 ,C ia ci n e x a v s y fT o
关 键 词 :嵌入 式 ;We b服 务 器 ;通 用 网 关接 口;移植 中 图分 类 号 :T 3 85 P6 . 文献 标 识 码 : A 文 章 编 号 :1 7 — 2 6( 0 0) 6 0 01 0 64 63 2 1 0 —0 -3
I pl nt to nd t s fe b d e e e v r m a a i n a e to m e d d W b s r e
Ab t a t o s ] e t e e it g p s , e a n r f ilp o l ms o ri t r g h c a s sl s o t e c u t r a ie sr c :T o v h xsi e t d c y a d at c a r b e fg an so a e w ih c u e o s t h o n r e l n i i y, z te soa e ma a e n o to n e t u o t n,a me h d o b s r e mp a tt n b s d o h t rg n g me tc n r la d r moe a tmai o to f We e v ri ln a i a e n ARM9 e e d d o mb d e p o e s r s se i e in d T i me h d a n el e t mo i r g s se o h r n r tr g c mp r d t r d t n l r c s o y t m s d sg e . h s t o s i t l g n n t i y tm f t e g a a y s a e, o a e o t i o a i on o a i ga a y soa e s se , r n p a t h e e e r g a B r n r t r g y t m i t s ln s t e W b s r r p o r m OA o t e h g — e o ma c mb d e r c s o e i e t a v t h ih p r r n e e e d d p o e s r d vc f b sd o a e n ARM9,e l i g t e r mo e W e e vc s k n g me t p r o n l t e l i o to h r n r y r ai n h e t z b s r ie,o ma e ma a e n e s n e o r a— me c n r l t e g a a b t y
基于ARM-Linux的AppWebPHPSqlite嵌入式Web服.
基于ARM-Linux的App Web+PHP+Sqlite嵌入式Web 服务器技术摘要:本文对Linux下的Web服务器技术进行了分析,选择了AppWeb+PHP+Sqlite的组合建立嵌入式Web服务器作为嵌入式设备生成动态的管理接口,并讨论嵌入式Web服务器在基于arm-linux平台上的移植。
关键词: ARM-linux AppWeb+PHP+Sqlite Web服务器1.引言用户需要通过嵌入式设备所提供的管理接口才能对其进行配置、管理和监控,因此管理接口的易用程度和效率成为衡量设备质量的重要标准之一。
在嵌入式设备中,加入HTTP服务能将其转化成Web Server,可以向Internet或内部网提供基于Web的图形化管理接口,用户可以使用浏览器作为接口来访问嵌入式设备。
这样不仅能够使设备的易用性大大提高,而且可以省去专用管理软件,从而方便地进行统一管理。
管理接口如果要收集和反馈用户信息就需要支持数据库。
目前,Linux系统广泛采用Apache+PHP+MySQL的组合来构建Web服务器,但Apache与MySQL占用的存储空间与运行时需要的系统资源很高,不适用于嵌入式设备Web服务器的构建。
因此需要选择对系统资源要求低且功能相当的Appweb与Sqlite分别代替Apache与MySQL。
2.Linux下常见的Web服务器技术分析2.1 Linux下常见的HTTP服务器技术分析HTTP服务器目前常见的有:Thttpd、Apache与AppWeb,优缺点分析如下:Thttpd:是一个简单、小型、可移植、快速的安全http服务器,还具有其它服务器目前不具有的十分有用的特点(URL-traffic-based throttling),但它不支持PHP。
Apache:具有安全、高效、可扩展及与当前http标准保持同步的特点,并能在现在常用的操作系统如Unix和Windows上运行。
但应用程序占很大的存储空间,运行时需要占用很多系统资源,且移植难度很大,不适用于嵌入式设备。
嵌入式Web server在uClinux上的移植
学 术 论 坛
嵌入式 Web ser ver 在 uC南许昌
461000 )
摘 要: 本文介绍了嵌人式 Web server 在u Clinux 上的移植技术。 关键词: 嵌人式 移植 文章编号: 1672一 3791(2007)12(b)一 0203一 02 文献标识码 : A 中图分类号 : T P 3 1 库和操作系统提供的 AP (应用程序接口)库。 I 如果是在各种嵌入式 linux(除了uClinux 以 外, 还有好几种)平台上开发, 那么针对该平台 以及l nux平台上的源代码都可以使用, l 但是要 层次结构及内核完全开放、网络功能强大、 完 牢记他们之间的差异。 整开发工具、 广泛的硬件支持、 遵循通用国际 移植应用程序的前提是有源代码, 移植的 标准、便干程序的移植等优点, 被嵌人式系统 关键工具是编译器, 源代码中和硬件平台相关 广泛应用。嵌入式 Web 服务器(Embedded 的东西越少越好(这里主 要指使用了 汇编, 或做 Web se ve , r r EWS)在现场测试和控制设备中 了针对自己平台的事) , 另一方面, 如果该程序 应用非常广泛。在通信领域的远程控制中的 是基于某个操作系统(利用了 操作系统提供的 应用, 正是由 于有了 标准的接口 形式和通信协 特殊服务, I ), 即AP 要看自己的操作系统是否 议, 内嵌于设备的We 服务器可以向任何接入 b 提供 了相关服 务。 它所在网 络的合法用户 提供统一的基于浏览器 移植时需要考虑的问题 : 方式的操作和控制界面, 浏览器成了设备的前 (1 自 ) 己的操作系统的特点以及在当前版 3 嵌入式we明反 务器 端控制板。 本下支持的特性 。 嵌人式Web 服务器(Er b edd ed w eb n 例如: u Clinux 不支持MMU, 同样就无 1 嵌入式系统 Server , EWs )是指将Web 服务器引 人到现 在相应的硬件平台和软 法支持相应的特性。 .嵌入式系统是以应用为中心、以计算机 场测试和控制设备中, (2 硬件资源。 ) 件系统的支持下, 使传统的测试和控制设备转 技术为基础、软件硬件可裁剪、适应应用系 因为嵌人式系统资源比较紧张, 硬件资源 l Web 统对功能、可靠性、成本、体积、功耗严 变为具备了以TCP/ P 为底层通信协议, 络测试和控制设 考虑必须要周全 : 格要求的专用计算机系统。嵌入式系统的核 技术为核心的基干互联网的网 a 软件存储空间的大小 心是嵌入式微处理器。嵌入式操作系统是嵌 备。 嵌人式设备只要实现We 服务器功能, b 再 这一般要等用目 标编译器重新编译完以后 人式系统的灵魂。嵌入式 L nux 正处于一个 i I t r e 所以只能大概估算, 但千万不要 方兴未艾的发展时期, 手机、 DA 、智能终 加上T CP/ P 网络协议就可以上In e n t 网。 可能才会知道, P 就认为程序 端等设备的制造商, 都把眼光瞄向了开放源码 在MCU 执行数据采集和控制功能的同时把数 看这个程序在hnux 下只有几十k , 很小, 这是因为hnux 下程序多时使用动态库, 发送到 I te net 上。在应用层, n r 嵌人 的L nu , i x 可以预见, 未来几年嵌入式L nu 的 据打包, i x 很有可能是把用到的库都 TP 发展将会迎来一个热潮。L n ux 作为一个开 式WEB服务器模块实现 H下 作为单片机系 而在嵌入式系统中, i 所以程序的尺寸会大大增加。 放源码性能优异而且代码精炼的操作系统, 在 统与In e n t 远程管理终端之间的通讯协议。 链接在一起, t r e 可将数据包发到以太网 b 程序运行空间 嵌入式系统中具有得天独厚的优越性。虽然 外加以太网控制芯片, c 硬件以及相应的驱动是否字备 通过以太网接人In e n t 。在客户端We t r e b 近年嵌入式系统的硬件条件正在不断地得到改 上, 善, 但无论如何嵌入式系统因其对于资源、 浏览器可打开嵌入式Web 服务器上网页。并 功耗以及成本等方面的敏感性 , 总会要求嵌入 通过 HTT P 的POST 方法, 把控制数据传给 5 嵌入式系统发展趋势 以信息家电为代表的互联网时代嵌入式产 式系 统能够更大程度上提高它的 性能同 时降低 We b 服务器。 对于资源的要求。 品, 不仅为 嵌人式市场展现了美好前景, 注入了 4 嵌入式Web server系统开发 新的生命;同时也对嵌人式系统技术, 特别是软 对干一个项目 的开发, 如何选择开发平台 件技术提出新的挑战。这主要包括: 支持日 2 嵌入式操作系统 随着微处理器的产生, 价格低廉、结构 (主要是指CPU 和操作系统以及开发环境和工 趋增长的功能密度、灵活的网络联接、轻便 有时这不光影响进度, 产 的移动应用和多媒体的信息处理, 小巧的CPU 和外设连接提供了稳定可靠的硬 具)应该说至关重要, 此外, 当然还 品质量, 可维护性等一般问题, 甚至涉及到方案 需对付更加激烈的市场竞争。 件架构, 那么限制嵌入式系统发展的瓶颈就突 1 、嵌入式应用软件的开发需要强大的 出表现在了 软件方面。Li nux 对厂商不偏不 的可实现性 。 1、从系统功能实现考虑: 是否有片上外 开发工具和操作系统的支持 倚而且成本极低, 能够很快成为用于各种设备 设 、价 格 、功 耗 、处理 速度 ; 随着因特网技术的成熟、带宽的提高, 的操作系统。如今, 业界已经达成共识, 即嵌 2、够的技术支持包括dem。 版及原理图, I CP 和 AS P 在网上提供的信息内容日 入式l u 是大势所趋, 大的市场潜力与酝 n l x 其巨 趋丰 像电话手机、电话 酿的无限商机必然会吸引 众多的厂商进入这一 d mo程序, e 操作系 统和BSP, 测试开发工 具等。 富、应用项目多种多样, 领域。 开发时, 宿主机完全使用的是l nux ,nux l l 座机及电冰箱、微波炉等嵌入式电子设备的 而且开发程序可以先 功能不再单一 , 电气结构也更为复杂。为了 Li ux 为嵌人操作系统提供了一个极有吸 的使用没有想象的复杂, n 然后用交叉编译工具为目 标 引力的选择, 它是个和 Un x 相似、以核心为 在宿主机上调试, i 满足应用功能的升级, 设计师们一方面采用更 可以这样做是因为宿主机 强大的嵌人式处理器如3 位、 位RI C 芯 2 4 6 S 基础的、完全内存保护、多任务多进程的操 系统重新编译一遍, 作系统。支持广泛的计算机硬件, 包括X86 , 是hnux , 标系统跑uC i ux , 目 l n 两个操作系统 片或信号处理器DSP 增强处理能力;同时还采 几乎是一样的, 所以程序 用实时多任务编程技术和交叉开发工具技术来 AIPll a ,5娜r ,MIPS ,PP C ,ARM ,NEC , 提供的应用程序接口 c 控制功能复杂性, 简化应用程序设计、保障 MOTOROLA 等现有的大部分蕊片。程式源 几乎不用修改。 程序的移植最终只针对CPU , 其实和操作 软件质量和缩短开发周期。 码全部公开, 任何人可以修改并在GNU 通用 统没什么关系, 一 面, 为代码中可能 但另 因 公共许可证( NU Ge er 1 Pu li L c s )下 系 G n a b c i e e n 2 、联网成为必然趋势 会使用一些库函 , 这些库会包括 C 语言标准 为适应应嵌入式分布处理结构和应用上网 发行, 这样, 开发人员可以对操作系统进行定
基于嵌入式Web服务器的操作系统研究与移植
( o p t C ne,a ’nU i rt,Y h a 1 0 0,h a x , hn ) C m ue et Y h a nv sy a ’ n7 6 0 S a n i C ia r ei
Ab t a t sr c T r e ig a e e o i g a mu t p a o m mb d e b s r e ,te p p r b i sa d v lp n o fg r t n e v r n n n a g t t v l pn ห้องสมุดไป่ตู้ — l t r e e d d we e v r h a e u l e eo me tc niu ai n io me ta d n d i f d o
嵌入式操作系统是在 N T R 3 0 [ 硬件平 台上移植完成 的 , E A M 006 3 并
第 4期
丁苍峰 等 : 于嵌 入 式 We 务 器的操 作 系统研 究与 移植 基 b服
27 6
器体系结 构。针对不同处理器的体 系结构 , N G U基本提 供了相 应的开发软件 包 。这 些资 料都 可 以在 网上查 找到 。网上 的 资 源, 有些是源代码包 , 载后要 经过 gc编译 才 能应 用; 些是 下 c 有
足 Widw 操作 系统 , 时 就 可 以再一 次 改进 代 码适 合 Wi- nos 这 n dw E嵌入式操作 系统 。 o sC
在UPN T R 00硬件 - E A M30
・
改进程序 代码使之 适合 嵌入 Lnx内核的操作系统 i u
平台和宿主机 上搭建开发
能, 这种对新 的矛盾平衡 点的探索 , 可避免地需要深入到具体 不 的硬件 细节中去 , 是嵌 入式 的特 点决定 了将嵌 入式操 作 系统 正
嵌入式web服务器boa移植到mini2440开发板详细过程
嵌入式web服务器boa移植到mini2440开发板详细过程1、概述为了和开发板上用的httpd服务,我选用的服务器是boa,boa已经没有更新了,但是现在的应用仍然很大,当然更先进的AppWeb当然是更好的选择,不过学习应先从简单的入手。
本教程使用环境是Red Hat Enterprise Linux 6,交叉编译工具是arm-linux-gcc4.3.2,开发板是mini2440,开发板内核是2.6.32.2、到/下载源码,boa最终版是0.94.133、解压文件1)解压[root@localhostopen_source]# lsboa-0.94.13.tar.gz[root@localhostopen_source]# tar -xvfboa-0.94.13.tar.gz -C ./[root@localhostopen_source]# lsboa-0.94.13 boa-0.94.13.tar.gz2)为了和X86版本区别把解压出来的文件夹boa-0.94.13重新命名为boa-0.94.13_arm[root@localhostopen_source]# mv boa-0.94.13 boa-0.94.13_arm4. 编译前修改工作(主要是因为boa太久没有更新,目前相对说比较老,要修改下才能通过编译)1)修改vicompat.h文件[root@localhostopen_source]# lsboa-0.94.13_arm boa-0.94.13.tar.gz[root@localhostopen_source]# cd boa-0.94.13_arm/src/[root@localhostsrc]# vicompat.h找到#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff修改成#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff即将120行和126行的foo##->tm_gmtoff改为foo->tm_gmtoff否则会出现错误:util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o] 错误12)修改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");}*/否则会出现错误:log.c:73 unable to dup2 the error log:bad file descriptor3)修改src/boa.c注释掉下面两句话:if (passwdbuf == NULL) {DIE(”getpwuid”);}if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) { DIE(”initgroups”);}为#if 0if (passwdbuf == NULL) {DIE(”getpwuid”);}if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) { DIE(”initgroups”);}#endif否则会出现错误:boa.c:211 - getpwuid: No such file or directory。
嵌入式linuxweb服务器boa的移植方法arm开发板linux嵌入式web服务器boa
嵌入式linux web服务器boa的移植方法/arm开发板linux嵌入式web服务器boa今天自己在开发板上移植了boa服务器。
参考资料是李驹光、郑耿大侠在恒颐论坛上的帖子。
李大侠写的好,我没有费什么力气就搞定了,:-)。
步骤如下:1.从bbb:///下载Boa源码,将其解压并进入源码目录的src子目录# tar -zxvf boa-0.94.13.tar.gz# cd boa-0.94.13/src2.生成Makefile文件# ./configure修改Makefile文件,a.找到CC=gcc,将其改成CC = arm-linux-gcc,b.找到CPP = gcc –E,将其改成CPP = arm-linux-gcc –E,保存退出。
3.运行make进行编译,得到的可执行程序为boa,并将调试信息剥去# make# arm-linux-strip boa4.编写boa.conf5.cp boa 到开发板的/bin目录下,在开发板/etc目录下建boa目录,cp boa.conf 到板子的/etc/boa目录。
6.创建日志文件所在目录/var/log/boa,创建HTML文档的主目录/var/www,创建CGI脚本所在目录/var/www/cgi-bin/,在/var/www中放置一个index.html 文件7.cp mime.types文件到开发板/etc目录8.vi passwd,添加nouser用户,vi group 添加nogroup组8.运行boa:#/bin/boa现在通过其他机器就可以访问了。
bbb://192.168.0.12就可以访问到你放置的那个index页面了。
9.编辑helloworld.c程序测试cgi的运行#arm-linux-gcc -o helloworld.cgi helloworld.c#cp helloworld.cgi 到开发板的/var/www/cgi-bin目录下在pc机的浏览器位置栏输入bbb://192.168.0.12/cgi-bin/helloworld.cgi,可以看到相关页面,CGI脚本测试通过。
php5.4.5移植到arm-linux摘要,lighttpd配置
php5.4.5移植到arm-linux摘要,lighttpd配置php5.4.5移植到arm-linux摘要.因为有嵌入WEB服务的需求,再常识了N多的开源的嵌入服务后最终选择了lighttpd.Apache太大支了,而且在arm上对swf的支持不好.其他的都不怎么理想.lighttpd的移植过程就省略了。
这里只摘要了PHP移植,采用fastcgi与lighttpd协作.php版本:php5.4.5交叉编译设置参数:./configure--enable-fastcgi--enable-force-cgi-redirect--enable-discard-path-- disable-cli--without-iconv--enable-mbstring--enable-pdo=shared--with-sqlite=shared- -with-pdo-sqlite=shared--host=arm-linux*5.3以后的版本默认就支持fastcgi,所以上面的fastcgi的配置会提示不存在,不用理会.//arm方案exportCC=“arm-hisiv200-linux-gcc”//编译make*make中,会有各种库或头文件的引用,另行安装编译然后修改MakeFile即可;//编译后1、在sapi/cgi/下即是得到的可执行文件:php-cgi;2、在板子上任意目录建1个文件夹php,将php-cgi复制到该目录中;3、编辑lighttpd.conf基本配置信息,注意其内嵌配置文件modules.conf;4、编辑modules.conf://server.module修改,注意其关联的fastcgi.confserver.modules=(“mod_access”,#”mod_alias”,#”mod_auth”,”mod_evasiv。
嵌入式的WEB服务器php移植
基于嵌入式的WEB服务器2009嵌入式作业(4)计应1班王延龙嵌入式的WEB服务器php移植开发板:PXA270-RP (Linux 2.6.9)宿主机: Centos 6.0 (linux 2.6.32)交叉编译器:arm-linux-gcc 3.4.61、下载php-5.2.17.tar.bz22、解压到/vptemp#tar -jxv -f php-5.2.17.tar.bz2 -C /vptemp3、编译# cd /vptemp/php-5.2.17#CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/opt/php5 --disable-all --enable-pdo --with-sqlite3 --with-sqlite --with-pdo-sqlite --with-zlib --without-iconv在做这个配置的时候出点问题,不知道为什么CC=arm-linux-gcc就是不对,配置出来的Makefile里面还是gcc,libtool也完全不对,气死了。
重启机子又折腾了半天,竟然不知道怎么弄的又可以起作用了。
#makemake的时候出现:undefined reference to dlopen、undefined reference to dlclose,解决方法:在makefile中EXTRA_LIBS之后加上-ldl4、安装#make install将PHP源码包中php.ini-dist文件复制到/opt/php5/lib下并改名为php.ini,因为指定了prefix,PHP缺省会去/opt/php5/lib下找php.ini5、下载到Tiny6410#cd /opt#tar -jcv -f php5-e.tar.bz2 php5将/opt/php5-e.tar.bz2文件件拷贝到arm板上的/opt目录下,解压:#tar -jxv -f php5-e.tar.bz2 -C /opt6、配置BOA要让BOA能够通过CGI执行PHP,修改/etc/boa/boa.conf,修改CGIPath为:CGIPath /bin:/opt/php5/bin最后添加一行:AddType application/x-httpd-cgi php7、测试在/www建立test.php#!/opt/php5/bin/php<?phpecho "X-Powered-By: PHP/5.2.17\n";echo "Content-type: text/html\n\n";?><html><body>Hello!<?phpecho $_SERVER["QUERY_STRING"];?></body></html>在浏览器中可以打开!我在编译是就遇到了一个问题,由于在makefile中EXTRA_LIBS之后加上-ldl时,我加错了地方,导致我半天找不到出错的原因,通过仔细查看makfile文件才知道加错了地方,在测试时,测试文件必须必须把#!/opt/php5/bin/php 加上,不然就会提示502错误。
(完整版)嵌入式Web服务器Boa的移植及其应用毕业设计
嵌入式Web 服务器Boa 的移植及其应用中文摘要计算机技术发展到今天,嵌入式系统的应用越来越广泛嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包含了5-10个嵌入式微处理器。
而随着网络技术日新月异的发展,各种网络器件成为嵌入式系统新的应用。
微处理器产生后,价格低廉、结构小巧的CPU和外设连接提供了稳定可靠的硬件架构。
20世纪90年代,ARM 32位嵌入式RISC处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。
Linux因其可应用于多种硬件平台;是免费软件,源代码可以得到;微内核,本身内置网络支持和高度模块化等优点,非常适合做嵌入式开发的操作系统。
本论文主要研究了基于ARM的嵌入式Linux开发。
这个研究开发是在实践的基础上完成的,设计了以三星ARM920T CPU为核心的嵌入式硬件系统,并在此基础上嵌入linux系统,在linux系统上可以开发各种应用关键词:嵌入式、ARM9、BOA、RISCEmbedded Web server Boa transplantand applicationABSTRACTWith the rapid development of computer technology, embedded system is moreand more widely used. By now, embedded computer system is much more thancommon computer in quantity, there are about 5-10 microprocessor in the peripheralequipment of a computer. At the mean time, lots of network equipments become thenew application environment of embedded system since the progressivelydevelopment of network technology. The cheap and powerful microprocessors andvarious kinds of peripheral equipments spread to the range of the world, andoccupied in the field of application of low consumption, low cost and and application performance, Linux isrunning on many kinds of design in kernel.Therefore Linux is very suitable to be the operate system of embedded system.In this thesis, the embedded Linux system based on ARMdeveloped.The embedded in linux system can be developed.Keywords: Embedded、ARM9、BOA、RISC毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。
嵌入式系统Web服务器的移植与CGI的应用
(jitb201527) 作 者 简 介 :田 晨 林 (1995— ),男 ,陕 西 西 安 人 ,硕 士 研 究 生 ,主 要 从 事 嵌 入 式 系 统 应 用 研 究 。 通 信 作 者 :陈 正 宇 (1978— ),男 ,江 苏 淮 安 人 ,教 授 ,博 士 ,主 要 从 事 无 线 通 信 网 络 研 究 。
1 嵌入式 犠犲犫服务器的移植
常见的嵌入式 Web服务器有:thttpd、GoAhead、Boa[2]。thttpd是一种简易的开源 Web服务器,有一 个独立运行在后台的进程,它 特 别 适 合 于 处 理 大 量 的 静 态 数 据 请 求,如 作 为 图 像 托 管 服 务 器。GoAhead 是比较专用的 Web 服 务 器,大 部 分 功 能 都 服 务 于 本 身 提 供 的 GoForms功 能 和 ASP/JavaScript功 能。 Boa是一个小巧的单任务型 Web服务器,它在存储和 运 行 时 所 占 用 的 空 间 较 少,约 为 60kb,非 常 适 合 应 用于资源受限的嵌入式设备。本项目使用的是 Boa服务器,支持 CGI技术,可以调 用fork()函 数,为 CGI 程 序 派 生 出 一 个 处 理 子 进 程 ,从 而 响 应 用 户 的 请 求 。 1.1 嵌入式 犠犲犫服务器的工作原理
田 晨 林1,陈 正 宇2
(1.南京邮电大学电子与光学工程学院,江苏 南京 210023;2.金陵科技学院电子信息工程学院,江苏 南京 211169 )
嵌入式Web服务器Thttpd移植
18.2 Thttpd编译和HTML页面测试
前面一章已经介绍了Boa的编译,与Boa或者其它Web 服务器都类似的是Thttpd也有配置文件thttpd.conf,该文件 在contrib/redhat-rpm目录下。
18.2.1 配置文件介绍
配置文件对于任何Web服务器都是非常重要的,Tomcat是 在Windows上开发Web程序常用的服务器。配置Tomcat时有个 格式固定的server.xml文件,在其中填写对应的内容。Thttpd也 有配置文件thttpd.conf的配置也是一样,和前一章Boa的配置文 件boa.conf类似。下面先给出配置文件,在编译的时候如果出现 错误,首先对照配置文件进行查找。
(2)创建安装目录。在编译安装源代码时,创建自己的 安装目录,也可以按照默认的方式去安装。笔者认为创建一个 安装目录比较合适,安装完成后可以很快知道安装目录下生成 哪些工具和哪些库等文件。
(3)解压源代码和编译。解压源码后,进入代码目录使 用configure命令生成Makefile文件。然后make进行编译,然后 执行make install进行安装。
18.6 小结
除了Thttpd、Boa外,还有很多嵌入式Web服务器,其 工作流程和移植过程基本和Boa、Thttpd类似。读者可以试 着去将前面介绍的技术与之结合起来应用在实际的开发中, 如和GUI,数据库的结合应用到自己的嵌入式项目中。
18.5.1 通过CGI程序访问SQLite
SQLite提供了C语言访问的接口,通过采用C语言程序 访问数据库,将该访问数据库的操作编译成CGI程序部署在 Thttpd的CGI路径下,远程维护人员通过调用此CGI程序就 能实现远程维护数据库的目的。
18.5.2 编译和测试
嵌入式web服务器的基本原理
嵌入式web服务器的基本原理
嵌入式web服务器是一种可以在嵌入式系统中运行的基于HTTP 协议的服务器。
它可以通过HTTP协议与客户端进行通信,提供Web 服务,使嵌入式设备可以通过Web界面进行控制和管理。
嵌入式web服务器的基本原理是将服务器软件集成到嵌入式系统中,并通过网络接口与外界通信。
嵌入式web服务器可以使用标准的HTTP协议和Web技术,如HTML、CSS、JavaScript等,提供Web 页面和服务。
在嵌入式系统中运行web服务器需要考虑系统的资源限制,如处理器性能、内存、存储等。
为了满足资源限制,可以使用轻量级的web服务器,如uHTTPd、LWIP等。
嵌入式web服务器的应用广泛,如智能家居、工业控制、车载娱乐系统等。
它可以通过Web界面实现对设备的远程管理和控制,提高设备的易用性和可维护性。
总之,嵌入式web服务器是一种在嵌入式系统中运行的基于HTTP 协议的服务器,它可以通过Web界面实现设备的远程管理和控制。
它的基本原理是将服务器软件集成到嵌入式系统中,并使用标准的HTTP 协议和Web技术。
- 1 -。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于嵌入式的WEB服务器
2009嵌入式作业(4)计应1班王延龙嵌入式的WEB服务器php移植
开发板:PXA270-RP(Linux2.6.9)
宿主机:Centos6.0(linux2.6.32)
交叉编译器:arm-linux-gcc 3.4.6
1、下载php-5.2.17.tar.bz2
2、解压到/vptemp
#tar-jxv-f php-5.2.17.tar.bz2-C/vptemp
3、编译
#cd/vptemp/php-5.2.17
#CC=arm-linux-gcc./configure--host=arm-linux--prefix=/opt/php5--disable-all--enable-pdo --with-sqlite3--with-sqlite--with-pdo-sqlite--with-zlib--without-iconv
在做这个配置的时候出点问题,不知道为什么CC=arm-linux-gcc就是不对,配置出来的Makefile里面还是gcc,libtool也完全不对,气死了。
重启机子又折腾了半天,竟然不知道怎么弄的又可以起作用了。
#make
make的时候出现:undefined reference to dlopen、undefined reference to dlclose,解决方法:在makefile中EXTRA_LIBS之后加上-ldl
4、安装
#make install
将PHP源码包中php.ini-dist文件复制到/opt/php5/lib下并改名为php.ini,因为指定了prefix,PHP缺省会去/opt/php5/lib下找php.ini
5、下载到Tiny6410
#cd/opt
#tar-jcv-f php5-e.tar.bz2php5
将/opt/php5-e.tar.bz2文件件拷贝到arm板上的/opt目录下,解压:
#tar-jxv-f php5-e.tar.bz2-C/opt
6、配置BOA
要让BOA能够通过CGI执行PHP,修改/etc/boa/boa.conf,修改
CGIPath为:CGIPath/bin:/opt/php5/bin
最后添加一行:
AddType application/x-httpd-cgi php
7、测试
在/www建立test.php
#!/opt/php5/bin/php
<?php
echo"X-Powered-By:PHP/5.2.17\n";
echo"Content-type:text/html\n\n";
?>
<html>
<body>
Hello!
<?php
echo$_SERVER["QUERY_STRING"];
?>
</body>
</html>
在浏览器中可以打开!
我在编译是就遇到了一个问题,由于在makefile中EXTRA_LIBS之后加上-ldl时,我加错了地方,导致我半天找不到出错的原因,通过仔细查看makfile文件才知道加错了地方,在测试时,测试文件必须必须把#!/opt/php5/bin/php加上,不然就会提示502错误。
如果没有对测试文件设置权限也会导致502错误。