什么?一小时做好Openwrt?

嵌入OPENWRT方法分享
花生壳phtunnel嵌入Openwrt
概述

本文详细介绍如何将phtunnel封装成一个openwrt标准组件,并编译到自己的openwrt固件中。phtunnel组件制作下载下载自己的编译平台的二进制phtunnel文件是第一步要做的,我们可以到oray的官方github网站进行下载,根据自己的型号进行下载,比如我的路由器是基于MIPSel,c库使用的是uclibc,那么我可以进入xxxxx,进入xxxxxxxx,并下载mipsel-uclibc-phtunnel文件。规划目录结构接下来的任务是规划自己的phtunnel组件安装后,在openwrt系统上是怎样的目录结构。首先核心的应用程序phtunnel我们可以放在/usr/bin目录下,因为它是一个非管理员应用,所以一般比放在/usr/sbin目录下要更科学一些。uci配置文件:由于openwrt的uci是常用的配置解决方案(不理解uci可参阅其他文档),所以需要一个uci配置文件,该文件通常放在/etc/config目录下,同时我们取名同样为phtunnel,这样就可以使用uci set phtunnel.xx.xx等操作phtunnel的配置了。根据phtunnel列出的参数,uci的配置如下:
什么?一小时做好Openwrt?_第1张图片

启动脚本:通常应用都是作为守护脚本运行,所以phtunnel也会制作成守护程序,自动运行,所以需要在/etc/init.d中建立phtunnel的启动脚本,名称也叫phtunnel。hotplug.d机制:为了及时响应网络状态,快速重启phtunnel,可使用hotplug机制。这样在wan口断开重新连上网的时候,能马上重启phtunnel。在/etc/hotplug.d/iface下需要创建一个xx-phtunnel的脚本,其中xx代表脚本执行顺序,可以随便填。这样,安装后的目录结构是如下图
什么?一小时做好Openwrt?_第2张图片

编写phtunnel组件Makefile根据目录结构规划,现在来编写组件,由于openwrt的组件是用makefile文件编写。
什么?一小时做好Openwrt?_第3张图片
这时执行make menuconfig后,就能看到phtunnel组件了

什么?一小时做好Openwrt?_第4张图片

选中该组件后保存,执行make,就可以编译出带phtunnel的固件了和对应的phtunnel的ipk组件包了。启动脚本本帖隐藏的内容启动脚本用于启动与停止phtunnel,启动后读取uci配置,变成phtunnel的启动参数,然后启动phtunnel程序,代码如下:
什么?一小时做好Openwrt?_第5张图片

完成这样的菜单,需要在controller目录下实现,如图:
什么?一小时做好Openwrt?_第6张图片

显现的页面如图
什么?一小时做好Openwrt?_第7张图片

Log页面用于显示日志,该页面相对简单(view/oray/phtunnel_log.htm),
什么?一小时做好Openwrt?_第8张图片
选择以上两个组件,充分编译后,即可在本地的luci界面上使用phtunnel了。

你可能感兴趣的:(开发,openwrt,研发,嵌入式,嵌入式编程)