openwrt 添加 应用(luci-application)
openwrt 添加应用的几个步骤如下:
(1)在目录 ./feeds/luci/applications 下添加要增加的应用,譬如 "luci-test"
(2)里面应该包含以下几个目录
hbg@root:~/trunk/feeds/luci/applications/luci-test$ tree
.
├── ipkg // 1、包相关
│ ├── conffiles
│ ├── postinst
│ └── postrm
├── luasrc // 2、web界面相关
│ ├── controller
│ │ └── test.lua
│ ├── model
│ └── view
├── Makefile // 3、编译相关
├── po
│ ├── en
│ │ └── test.po
│ └── zh_CN
│ └── test.po
├── root // 4、/etc/目录下相关文件
│ ├── config
│ │ └── test
│ ├── init.d
│ │ └── test
│ └── uci-defaults
│ └── luci-dtest
└── src // 5、实现功能的主程序
├── test.c
└── test.h
(3)除此之外,还需要修改 ./feeds/luci/contrib/package/luci 目录下的makefile,使其能够在 make menuconfig 中显示。
$(eval $(call application,dtest, test 1.0,\
+PACKAGE_luci-app-test:libuci +libpthread +libubox +librt))
然后就可以在 make menuconfig中查找到test的选项了。
注意: 在执行命令"make menuconfig"之前,需要先清空 /tmp目录。
补充知识:
Categories(luci目录)
The LuCI modules are divided into several category directories, namely:
- applications (Single applications or plugins for other modules or applications, 应用)
- i18n (Translation files, 翻译文件)
- libs (Independent libraries, 独立的库)
- modules (Collections of applications, 应用集合)
- themes (Frontend themes, 前端主题)
Each module goes into a subdirectory of any of this category-directories.
Module directory
The contents of a module directory are as follows:
Makefile
This is the module's makefile. If the module just contains Lua source code or resources then the following Makefile should suffice.
如果module中只有 lua 代码文件和资源文件,那么Makefile包含如下内容足以:
include ../../build/config.mk
include ../../build/module.mk
If you have C(++) code in your module your Makefile should at least contain the following things.
如果module中包含了 C 或 C++ 代码文件,则需要包含如下内容:
include ../../build/config.mk
include ../../build/gccconfig.mk
include ../../build/module.mk
compile:
# Commands to compile and link your C-code
# and to install them under the dist/ hierarchy
clean: luaclean
# Commands to clean your compiled objects
src
The src directory is reserved for C source code.
src 目录用来保存 C源码。
luasrc
luasrc contains all Lua source code files. These will automatically be stripped or compiled depending on the Make target and are installed in the LuCI installation directory.
Luasrc 目录用来保存所有的 lua 源代码。
lua
lua is equivalent to luasrc but containing Lua files will be installed in the Lua document root.
htdocs
All files under htdocs will be copied to the document root of the target webserver.
htdocs 目录将被拷贝到目标webserver下的文档根目录。
root
All directories and files under root will be copied to the installation target as they are.
拷贝到设备的根目录下。
dist
dist is reserved for the builder to create a working installation tree that will represent the file system on the target machine. DO NOT put any files there as they will get deleted.
ipkg
ipkg contains IPKG package control files, like preinst, posinst, prerm, postrm. conffiles. See IPKG documentation for details.
openwrt 添加 应用(luci-application)的更多相关文章
- struct2访问或添加request/session/application
访问或添加request/session/application 1 通过ActionContext //这样放置 public String execute() { ActionConte ...
- Xcode7.2中如何添加一个Empty Application模板
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) Xcode 6.0正式版之后已经没有所谓的Empty Appl ...
- openwrt 添加luci选项
刚刚下载的openwrt trunk版本,安装后没有luci选项,如下图 需要添加luci页面选项. 步骤如下: (1)修改配置文件 .config , 将 CONFIG_FEED_luci is n ...
- 开发OpenWrt路由器上LuCI的模块
[题外话] 学校里最近改造了校园网,要求必须用iNode验证,万幸的是路由器能刷OpenWrt,并且OpenWrt上有好多iNode认证的开源项目,比如njit8021xclient(以下简称njit ...
- OpenWRT添加模块 Makefile和Config.in
添加模块编译 在网上找了一下,很多关于编译Openwrt系统的资料,不过这些事情芯片厂商提供的开发包都已经办得妥妥了,但是没有找到系统介绍的资料,添加一个包的介绍有不多,其中有两个很有参考价值: ht ...
- OpenWrt路由器通过LuCI界面实现Guest SSID功能
转自: http://blog.ltns.info/linux/guest_ssid_over_openwrt_router/ 之前尝试过 Tomato路由器设置VLAN实现Guest SSID功能, ...
- openwrt web管理luci界面修改
转自:http://blog.csdn.net/user_920/article/details/8504979 以前都没听过openwrt和luci,只接触过简单的php语言.由于工作原因,要修改下 ...
- openwrt开源系统LUCI配置界面
转自:http://www.right.com.cn/forum/thread-131035-1-1.html 本人菜鸟,最近在学习这方面的知识,在参考资料的基础上总结如下内容.这篇文章针对如何对op ...
- openWRT学习之LUCI之中的一个helloworld演示样例
备注1:本文 讲述的是原生的openWRT环境下的LUCI 备注2:本文參考了诸多资料.感谢网友分享.參考资料: http://www.cnblogs.com/zmkeil/archive/2013/ ...
随机推荐
- 封装使用ViewHolder模式的Adapter组件,及用其快速实现聊天界面
大家都对viewholder模式并不陌生吧,避免了重复调用findViewbyId,并对convertview进行重用.但是,开发中可能会有这样的困扰,每次在创建Adapter类时,总会有许多的重复代 ...
- C# 添加敏感词
public class CheckStreamReader { //使用的数据: private static HashSet<string> hash = new HashSet< ...
- WebForms vs. MVC
[译]WebForms vs. MVC(推荐阅读) 正文如下======================================================= 原文示例(VS2012): ...
- fiddle2 代理HTTPS请求无效?解决方法。
fiddle2: 捕获的https请求结尾跟着443,是因为没有开启HTTPS捕获. 解决方案,开启HTTPS捕获: 然后你就看到能正常捕获HTTPS请求了:
- GitHub创建SSH Keys
第一步:在用户主目录下,看有没有.ssh目录,如果有,再看看这个目录下 有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步,如果没有 打开Git Bash,创建SSH ...
- kAudioSessionProperty_AudioCategory 的设置
iPhone上面有两种播放外音的模式:听筒模式和话筒模式,听筒当然是打电话时用的,那个声音当然很小了, 但是开放中,ios默认的就是这种模式,所以在播放外应的时候要加代码重新设置下,如下: ...
- MongoDB服务安装
0.解压压缩包:D:\lab\mongodb 1.创建目录: D:\lab\mongodb\data D:\lab\mongodb\data\db D:\lab\mongodb\data\log D: ...
- jquery选择器之内容过滤选择器
先写出DOM元素的HTML结构: <style type="text/css"> /*高亮显示*/ .highlight{ background-color: gray ...
- 使用 NPC,NPCManager 在 XNA 中创建 NPC
使用 NPC,NPCManager 在 XNA 中创建 NPC 平方已经开发了一些 Windows Phone 上的一些游戏,算不上什么技术大牛.在这里分享一下经验,仅为了和各位朋友交流经验.平方会逐 ...
- WCF服务承载
WCF服务承载(笔记) 自托管(也做自承载) 承载 WCF 服务最灵活.最便捷的方法就是进行自承载.要能够自承载服务,必须满足两个条件.第一,需要 WCF 运行时:第二,需要可以承载 Servic ...