Chinaunix首页 | 论坛 | 博客
  • 博客访问: 679265
  • 博文数量: 148
  • 博客积分: 4086
  • 博客等级: 上校
  • 技术积分: 1766
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-06 23:27
文章分类

全部博文(148)

文章存档

2013年(19)

2012年(9)

2011年(106)

2009年(14)

分类: LINUX

2011-02-12 11:04:39

这个算是高层软件了,所以跟arm还是powerpc关系都不大了。自己实践了一遍,发现了一些其他教程的问题,没交代几个重要细节。先集中总结一下。

GoAhead移植过程
1、从官方网站 下载最新版本(其实这个版本看起来也有年头了)

解压缩到合适的工作目录。
2、进入LINUX/目录,修改Makefile。在开头位置加入2个变量指明工具链。

CC=ppc_85xx-gcc
AR=ppc_85xx-ar

再把Makefile最后的

.c.o:
cc -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

修改为

.c.o:
$(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<

3、修改main.c (/LINUX目录) 文件,在函数websGetCgiCommName(..)函数中:
pname1 = tempnam(NULL, T(“cgi”));
修改为
pname1 = (char_t *)mkstemp(T(“cgi”));

4、main.c中有一处代码:

if ((hp = gethostbyname(host)) == NULL) {
error(E_L, E_LOG, T(“Can’t get host address”));
return -1;
}

在嵌入式平台上可能出错,导致webs自动退出无显示。所以需要确保gethostbyname 正确执行。
首先开发板上执行hostname命令看看结果是否正确,否则修改/etc/hostname ,加入主机名。
然后在开发板上ping 主机名,确保能使开发板主机名能成功转换为ip地址。否则修改/etc/hosts,增加主机名和ip地址的对应。

5、执行make命令,在LINUX目录下得到webs和libwebs.a。使用strip瘦身。
6、将webs放入rootfs/usr/sbin,libwebs.a放入rootfs/lib。
7、将GoAhead源码目录下的web目录拷贝到rootfs/,即根文件系统的根目录。这是main.c里指定的网站根目录。如果没有放在这里,则浏览器报错
Access Error: Site or Page Not Found
Cannot open URL

8、在rc.sh中加入启动命令
/usr/sbin/webs&

在浏览器中输入开发板地址,就能连接到GoAhead了。

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