若该文为原创文章,转载请注明原文出处
一、硬件和开发环境
1、硬件:T31X+SC5235
2、开发环境: ubuntu16.04-64bit
3、编译器:mips-gcc540-glibc222-32bit-r3.3.0.tar.gz
注:板子和和WIFI模块是某淘上淘的,使用的是RTL8188,使用的是USB接口,uboot和内核是自己裁剪移植的,内核默认自带WIFI驱动,所以不用移植可以直接使用。
二、Wifi 启动操作流程
1、解压
tar -zxvf boa-0.94.13.tar.gz
2、进入src目录
cd boa-0.94.13/src
3、配置
./configure
4、修改Makefile, 主要修改CC和CPP
CC = mips-linux-gnu-gcc
CPP = mips-linux-gnu-gcc -E
5、make
在make过程中报错了,
处理方法是:
1、少装了bison和flex
sudo apt-get install bison flex
2、util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token
vim compat.h
找到
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoffv
重新make, 编译成功
2、拷贝boa可执行文件到开发板的bin目录下,自行拷贝,作者使用的是ftp方式拷贝。
3、修改配置文件,文件在boa-0.94.13目录下
#vim boa.conf
(1)Group的修改
修改 Group nogroup
为 Group 0
(2)user的修改
修改 User nobody
为 User 0
或者统一设置为
User root
Group root
(3)ScriptAlias的修改
修改ScriptAlias/cgi-bin/ /usr/lib/cgi-bin/
为 ScriptAlias/cgi-bin/ /www/cgi-bin/
(6)ServerName的设置
修改#ServerName www.your.org.here
为 ServerName www.your.org.here
否则会出现错误“gethostbyname::No such file or directory”
(7)AccessLog修改
修改AccessLog /var/log/boa/access_log
为#AccessLog /var/log/boa/access_log
否则会出现错误提示:“unable to dup2 the error log: Bad file deor”
4、在开发板创建boa相关文件夹及文件
mkdir -p /etc/boa
mkdir -p /var/log/boa 这里存放boa服务器运行的相关信息,在运行时会产生access_log 和error_log两个文件,errr_log会打印出boa运行时所产生的错误信息。
mkdir -p /var/www 这里存放相应的页面即html文件
mkdir -p /var/www/cgi-bin 这里存放cgi程序
5、把编辑好的boa.conf配置文件拷贝到开发板的/etc/boa目录下。
五、测试
错误:Could not open mime.types file, "/etc/mime.types", for reading
修复:复制ubuntu /etc/mime.type文件到目标板/etc/boa下
错误: "unable to dup2 the error log: Bad file descriptor"
修复:在boa源码里,即src文件夹下把log.c中的第73行的if语句注释掉
错误参考:https://www.shangmayuan.com/a/ac8e0759629844a7b09f6b87.html
2、动态测试:
将boa-0.94.13文件夹下examples下的cgi-test.cgi拷贝到开发板/var/www/cgi-bin/文件夹下
然后再地址栏输入http://192.168.1.230:8088/cgi-bin/hellocgi 回车,网页将显示内容,至此boa移植结束。
六、结束:
移植过程还算顺利,主要是以前有移植过,基本没有难点,测试也可以,移植boa主要是想做web的视频监控,为项目作准备。
如有侵权,请及时联系博主删除,VX:18750903063