基于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要一样)