OK6410的Boa服务器移植:
首先从 www.boa.org 下载 Boa 服务器的最新版:boa-0.94.13.tar.gz。
解压:tar xzf boa-0.94.13.tar.gz
进入解压后的文件夹 boa-0.94.13内部的 src文件夹,对源文件进行如下修改
1 由于arm-linux-gcc 编译器版本过高,对语法的支持有一些改变,所以需要修改compat.h中的 2 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff 3 为: 4 5 #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff 6 不然在编译的时候会提示如下错误: 7 util.c: 100: 1: pasting “t” and “->” does not give a valid preprocessing token make: [util.o] Error1
1 将boa.c 文件225-227三行的文件注释掉 2 if (setuid(0) != -1) { 3 DIE(”icky Linux kernel bug!”); 4 } 5 为 6 /* 7 if (setuid(0) != -1) { 8 DIE(”icky Linux kernel bug!”); 9 } 10 */ 11 12 ,否则,但以root权限启动boa服务器的时候,会出现以下错误:boa.c:226 - icky Linux kernel bug!:
然后生成Makefile:./configure
修改生成的Makefile:默认生成的Makefile针对x86平台,我们的目标是针对嵌入式平台,所以需要修改编译器.
1 更改Makefile的31行和32行: 2 CC = gcc 3 CPP = gcc -E 4 更改为 5 CC = arm-linux-gcc 6 CPP = arm-linux-gcc -E
编译Boa源文件:在当前目录下使用 make
将生成好的boa可执行文件去掉冗余信息: arm-linux-gcc boa
将生成的boa文件移植到嵌入式板中的/sbin目录下
更改脚本文件 /etc/init.d/rcS, 增加 /sbin/boa ,确保boa系统自启动。
修改配置文件:
在嵌入式Linux系统(OK6410)中移植Boa 服务器,布布扣,bubuko.com
原文:http://www.cnblogs.com/chenchenluo/p/3576129.html