发 帖  
原厂入驻New
[Z-turn Board] 【宇外星空调试日志】嵌入式服务器BOA移植固化进文件系统ramdisk
2020-3-16 15:32:40  348
分享
     将嵌入式boa服务器移植进文件系统ramdisk就可以实现开机自启动拥有boa服务器。
第一步首先做boa服务器的移植工作。
从boa http://www.boa.org/官网下载最新的boa源码压缩文件,选择最后一个发布的版本0.94.13,拷贝到unbutu的/home/wy/zynq文件夹中,然后输入命令
tar -xzvf boa-0.94.13.tar.gz     进行解压到当前目录中。
然后进入到src目录中执行./configure         这一步是用来生成makefile文件。还在src目录中打开Makefile文件,修改CC和CPP如下:

然后打开compat.h 修改下面内容
gcc.png

然后在上一级目录打开boa.conf文件,修改如下内容:将user 和group选项改为0,。
打开src源码的boa.c文件,将下面两行注释掉。
log.png

再修改 src/log.c

注释掉

IF (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}

为:

/*if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}*/

否则会出现错误:
log.c:73 unable to dup2 the error log:bad fiLEDescriptor
重新make后还是报错,错误如下:
errro.png

应该还是需要修改boa.conf文件,修改下面4个log/boa改成log_boa
log_boa.png
到此我们的移植修改工作就完成了,接下来就是将boa这一套放入ramdisk中。
第二步ramdisk的制作
使用米尔配的uramdisk.image.gz的话,需要去掉头部。进入uramdisk.image.gz
所在目录,输入命令:
dd if=uramdisk.image.gz of=ramdisk.image.gz bs=64 skip=1
然后重新再解压:gunzip ramdisk.image.gz 生成ramdisk.image

同样在此目录下,用mkdir命令创建一个文件夹叫做ramdisk 然后挂载命令:
mount -o loop ramdisk.image ramdisk
这时文件系统这种类似u盘的文件夹就可以打开了。然后开始将boa的相关内容往这里面放。
1、将boa考入bin文件夹,如下:
binboa.png
2、然后在etc目录下创建BOA目录,如下:
mkboa.png
3、然后将boa.conf拷贝到boa目录中,如下:
conf.png
4、创建日志所在目录(ramdisk中的)/var/log_boa,创建html的文档主目录/var/www,在www文件夹中放入我们的index.html文件。将虚拟机/etc目录下的mime.types文件到开发板ramdisk的/etc目录下。
logboamk.png
index.png
mimm.png

这些就完成了移植到文件系统的工作。将ramdisk再打包。命令如下:
umount -l ramdisk
gzip ramdisk.image

mkimage -A ARM -T ramdisk -C gzip -dramdisk.image.gz uramdisk.image.gz
这时就可以将ramdisk文件烧入进开发板了。
此时已经看到boa相应的东西已经在开发板的系统里面了,输入./bin/boa即可运行。这时可能会报错[01/Jan/1970:04:28:42 +0000] boa.c:194 - unable to bind: Address already in use
这个是因为目前有网络在服务,输入ps -e 找到http服务进程,或者boa的服务进程,用kill命令杀掉即可。此时再重新启动boa(还是./bin/boa)既可发现boa正常启动了。
boastart.png
当boa启动会打印三句话,它的版本,它的端口号等。
这里遇到一个小问题,每次输入192.168.1.10发现老是打开xilinx官网的一个连接。后来明白,可能那时无线网没有断,输入此ip就加载了官网的页面。然后去www文件夹中重新替换我们自己的index.html即可。再次输入ip,此时就正常显示我的ip了。
jonas.png
至此boa服务器终于在zynq平台上跑起来了。后面再研究要boa的cgi的应用。像物联网的方向更近一步。

0
2020-3-16 15:32:40   评论 分享淘帖
1 个讨论
忘了写了,调试过程中参考以下链接,值得推荐
https://blog.csdn.net/xzyiverson/article/details/13614117 移植文章到zynq的文章
https://blog.csdn.net/weixin_41922484/article/details/103343012
https://blog.csdn.net/hideyoo1022/article/details/50581038 boa移植常见错误
http://www.cnitblog.com/suyiwei/articles/41387.html boa的移植文章
https://blog.csdn.net/qq_34309663/article/details/90447990 BOA无法渲染CSS解决
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=824840         boa缺陷修改
2020-3-16 17:24:02

举报

只有小组成员才能发言,加入小组>>

78个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表