1. 解压boa-0.94.13.tar.gz
tar -zxvf boa-0.94.13.tar.gz
2. 创建make install目录
cd boa-0.94.13
mkdir -p bin
3. 安装bison和flex
4. configure
./configure --prefix=boa_install_dir/bin --host=arm-linux
5. make
修改Makefile
增加CORSS_PREFIX=arm-arago-linux-gnueabi-
原来的CC改为CC=$(CORSS_PREFIX) 原来的CPP改为CPP=$(CORSS_PREFIX)
直接make
Q1:
util.c: In function 'get_commonlog_time':
util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token
A1:
文件compat.h第120行
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff 的##去掉,改为foo->tm_gmtoff
修改报错后,再make,编译完成。
make install提示无此命令。手动将src目录下的boa拷贝到板子上的文件系统目录下;
6. 配置 [这部分参考网上别人的帖子,直接复制过来]
http://blog.chinaunix.net/uid-28296625-id-4326312.html
7. 运行
直接运行 ./boa
通过浏览器登陆ip,页面无法打开,查看嵌入式进程后,boa进程不存在。分析了错误日志后,打印icky Linux Kernel Bug,发现是boa.c 226行的错误,注释掉代码块后,重新编译,运行,一切正常。
.