如何进行基于am335的boa移植?

基于am335进行boa移植,一共需要五步,下面是详细的步骤,对这方面知识比较陌生的小伙伴,可以学起来啦。

1.准备开发环境:

(1)VMware 10.0

(2)Ubuntu 14.04 64bit

(3)Sail335开发板

(4)交叉编译器:gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux

2.源码:

(1)Boa源码:boa-0.94.13.tar.gz

(2)Boa测试页面:index.html

3.移植过程:

(1)移植Boa

     ①解压缩 

          #tar zxvf boa-0.94.13.tar.gz

     ②进入boa-0.94.13目录

           #cd boa-0.94.13

     ③进入src目录,在src目录下运行./configure

     ④生成Makefile,修改Makefile的编译器选项

          #gedit Makefile

          CC = gcc    改成    CC = arm-linux-gnueabihf-gcc

          CPP = gcc -E   改成   CPP = arm-linux-gnueabihf-gcc -E

     ⑤添加交叉编译器临时环境变量

     #export PATH=/usr/local/arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/:$PATH

     ⑥修改文件src/boa.c,将boa.c文件中以下几行判断去掉即可。

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

       DIE ( "icky Linux kernelbug!" );

     }

     ⑦修改文件src/compat.h

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

     改成   

     #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff

     ⑧把src 文件夹下的config.c 里的if(!server_name){..........}

    (大概在266 行到     286行之间)注释掉

     ⑨修改src/log.c  注释掉

      if (dup2(error_log, STDERR_FILENO) == -1) {

              DIE("unable to dup2 the  error log");

      }

      ⑨编译代码

          #make

4.运行环境搭建

(1)在开发板中创建以下目录

     /etc/boa    /var/logs    /var/logs/boa    /var/www   /var/www/cgi-bin

     #mkdir -p /etc/boa

     #mkdir -p /var/logs

     #mkdir -p /var/logs/boa

     #mkdir -p /var/www

     #mkdir -p /var/www/cgi-bin

(2)拷贝、修改文件

     拷贝boa-0.94.13/boa 和boa-0.94.13/boa_indexer 到 /usr/bin。

     拷贝Ubuntu12.04的/etc/mime.type到 开发板/etc

     拷贝boa-0.94.13/boa.conf 到/etc/boa

     修改/etc/boa/boa.conf

          #ServerNamewww.your.org.here  改为ServerName www.dianyu.org

          ScriptAlias /cgi-bin//usr/lib/cgi-bin/改为ScriptAlias /cgi-bin//var/www/cgi-bin/

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

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

     拷贝 index.html 到/var/www

5.测试与运行

     连接好PC与开发板网卡0(eth0)的网络连接

     将开发板eth0网卡设置ip为192.168.1.123

     #ifconfig eth0 192.168.1.123 up

     测试开发板网卡0与PC的网络连接

     #ping PC的IP地址

     运行Boa

     #boa&

     在PC上打开浏览器,在浏览器中输入192.168.1.123,查看boa显示的index.html(这个文件名称和boa.conf文件中的DirectoryIndex index.html中的index.html要一样)

原文地址:https://blog.51cto.com/14586215/2446992

时间: 2024-08-24 12:04:01

如何进行基于am335的boa移植?的相关文章

如何进行基于am335的vsftpd移植?

在之前的文章中我们已经讲解过如何基于am335进行boa移植,相信大家在看过后一定都掌握啦,那么在此基础上,vsftpd移植又需要我们如何做呢?接下来我们一起看看吧! 1 下载 下载最新版本源码包,下载地址:https://security.appspot.com/vsftpd.html#download.本文以 vsftpd-3.0.2.tar.gz 版本为例. 如果以上下载地址无法访问,也可以本地下载vsftpd-3.0.2.tar.gz. 2 解压 $ mkdir ~/vsftpd $ c

嵌入式linux项目开发(一)——BOA移植

嵌入式linux项目开发(一)--BOA移植 项目目标:使用BOA.CGIC.SQLite搭建嵌入式web服务器 一.嵌入式web服务器BOA简介 在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,使用极为方便. 目前嵌入式设备中所使用的web服务器主要有:boa.thttpd.mini_httpd.shttpd.lighttpd.goahe

基于mini2440的Qt移植

花了很长时间,终于把Qt移植到mini2440开发板上了,不能说完全成功,总算是完成一大步,各中过程心酸,废话不多说,下面正式讲解移植过程. 移植环境: win7系统,虚拟机是ubuntu12.04 友善之臂mini2440开发板 Qt版本:4.8.6   交叉编译器版本:4.4.3 一.虚拟机Qt开发环境的搭建 1.上Qt的官网下载Qt的源码包:http://qt-project.org/downloads,下载版本是4.8.6,也可以下载其他的版本 2.安装Qt所需要支持的文件 sudo a

嵌入式开发之web服务器---boa移植

近段时间在做ti8148的编解码器又涉及到boa web服务器的移植.在移植到ARM开发板的过程中,遇到很多的问题.原先的自带thttpd 由于功能没有boa完善,比如在ubuntu下面的utf-8编码的网页在thttpd中给客户浏览器显示的是默认ios欧洲乱码,但是boa显示正常,就干掉了 现将移植步骤整理如下:(其中涉及到个人习惯和路径问题,视各自情况而定) 1.下载源码: 下载网址http://www.boa.org/boa-0.94.13.tar.gz,但实际上下载的包为boa-0.94

基于FPGA的DW8051移植(三)

总结一下问题: 1) http://www.cnblogs.com/sepeng/p/4137405.html  基于FPGA的DW8051移植(一)里面用modelsim观测波形发现程序进入了idata区间初始化循环中跳转不出来,没有进入用户程序这一块. 2) http://www.cnblogs.com/sepeng/p/4141072.html 基于FPGA的DW8051移植(二)里面将idata区间初始化去掉,程序进入了用户程序却发现在执行DelayMs 函数的时候,循环执行完毕,在最后

BOA移植

http://hh8582.blog.163.com/blog/static/14041920420114202636840/ BOA (http://www.boa.org)是比较流行的嵌入式Web Server,虽然性能不见得太好,但是胜在简单,整个软件编译完后只有几十K.而且可以支持CGI动态脚本..很容易移植到支持POSIX风格的操作系统上.因此很多ARM-Linux 用于BOA来做Web Server 的演示. PHP(http://www.php.net/) 是流行的跨平台,动态WE

arm linux上的第一个应用程序 BOA移植

1. 首先, linux在开发板上能跑起来了. 包括网络驱动也有了, ifconfig之后, 能看到在rcS里面设置的IP, 也能ping通windows主机了, 当然, 也要window关掉防火墙才行. 2. 在windows上起一个tftp, 后来发现这样是不行的, 因为每个包都要反复打包, 有点累, 还是用虚拟机开nfs比较靠谱, 但是我虚拟机不靠谱, 老是不走有线网卡, 主动跑去无线去了. 3. busybo的tftp命令有点屌, 格式是: tftp -g -l localFileNam

基于tiny4412的u-boot移植(一)

作者信息 作者:彭东林 邮箱:[email protected] QQ: 405728433 平台介绍 开发环境:win7 64位 + VMware11 + Ubuntu14.04 64位 开发板:tiny4412ADK + S700 + 4GB eMMC + 1G DDR3 工具链:友善之臂提供的 arm-linux-  (gcc version 4.5.1) 要移植的u-boot版本:u-boot-2015-10 参考u-boot版本:友善之臂提供的 u-boot-2010-12 摘要 本博

DM8168 IPNC Boa移植

1.交叉编译openssL 下载openssL-1.0.0.tar.gz在虚拟机下进行交叉编译,生成libcrypto.a及libssl.a.将这两个文件拷贝到DVRRDK_03.00.00.00/boa-0.94.13/src目录下,编译步骤如下: a)解压源码: tar-zxvf openssl-1.0.0.tar.gz cdopenssl-1.0.0 b)配置为linux arm的交叉编译状态 ./Configure linux-elf-arm #修改makefile文件(L62), CC