Chinaunix首页 | 论坛 | 博客
  • 博客访问: 411756
  • 博文数量: 48
  • 博客积分: 1032
  • 博客等级: 上士
  • 技术积分: 1256
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-19 13:24
文章分类

全部博文(48)

文章存档

2014年(3)

2013年(23)

2012年(22)

分类: LINUX

2012-10-24 11:43:30

源码包下载:;
本次移植使用的是boa-0.94.14rc21.tar.gz。
解压源码包:tar -xvzf boa-0.94.14rc21.tar.gz到当前目录,进入boa-0.94.14rc21目录;
第一步:
要做的事情就是配置编译环境和编译工具
./configure --help(使用configure的时候要学会查看帮助信息,不同的configure使用的方法不一样),由于我们只关心交叉编译链的选择;帮助信息里面可以看到:
system types:
--build=BUILD  configure for building on BUILD [guessed]
--host=HOST    cross-compile to build programes to run on HOST [BUILD]
--host就是我们所关心的配置参数;
执行:./configure --host=arm-linux  
在当前目录和./src/目录各自生成Makefile。
可以切换到src目录下面去查看Makefile里面的CC变量就会发现已经配置CC为arm-linux-gcc了。

第二步
在当前目录执行make,完成之后就会在src目录里面生成我们需要的boa可执行文件。

第三步:
由第二步生成的boa比较大,如下图:
在嵌入式设备中容量是很重要的,所有我们需要使用arm-linux-strip boa 给它进行优化瘦身。结果如下:
大小变成了原来的1/3作用,经常使用strip很有用处。

第四步:
完成了boa的编译之后,还需要对boa运行时进行一些配置工作,主要是配置文件的编写和对应文件夹的建立。在boa-0.94.14rc21目录下面有一个example,里面有boa.conf提供了配置文件的书写例子。boa.conf里面注释语句很多,有用的就那么几条。
Port 80                           //默认端口
User nobody                      //改为root或者为0
Group nogroup
ErrorLog /var/log/boa/error_log  //很重要 错误记录日志
#AccessLog /var/log/boa/access_log
ServerName
DocumentRoot /var/www         //默认工作路径(index.html存放在这)
UserDir public_html
DirectoryIndex index.html     //输入板子ip直接访问的默认网页
KeepAliveMax 1000
KeepAliveTimeout 10
MimeTypes /etc/mime.types     //可以直接从linux系统etc目录下面拷贝
CGIPath /bin:/usr/bin:/usr/local/bin
DefaultType text/plain
Alias /doc /usr/doc
ScriptAlias /cgi-bin/  /var/www/cgi-bin/  //定义别名方便访问文件

建立好boa.conf文件后,在/etc下面建立一个boa目录,将boa.conf放进去。同样还需要将mime.types拷贝到/etc/目录下面。

注意:一定要确保相应的文件夹存在。比如我的boa.conf里面ErrorLog存在/var/log/boa下面,我板子原始是没有这个目录的,所有就得在相应的路径下建立这个目录。同样的还有/var/www目录和/var/www/cgi-bin目录。这些作者根据自己需求可以自己定义。

如果将生成的boa拷贝到板子上执行./boa没有错误提示,但ps看不到boa进程,应该考虑一下编译工具的版本和编译系统的版本是否一样。一个项目组使用的交叉编译工具版本尽量保持一致。










阅读(1934) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~