自添加LUCI菜单及编译为ipk
目录 添加汉化编译为ipk配置文件入口函数界面文件Makefile
添加
添加自己的luci界面,有3个必要的要素:
- a配置文件.新建一个在/etc/config/abcdefg
- b入口函数.新建一个在/usr/lib/lua/luci/controller/admin/abcdefg.lua
- c界面文件.新建一个在/usr/lib/lua/luci/model/cbi/abcdefg.lua
它们的作用关系是:b文档是让c文档在luci的菜单中显示出来,c文档是内容和脚本,a文档是c文档定义的变量,一切的主体是c文档。
汉化
修改/usr/lib/lua/luci/controller/admin里面的你的入口函数
module("luci.controller.admin.devconfig", package.seeall)
function index()
-- local page
local fs = require "nixio.fs"
entry({"admin", "devconfig"}, alias("admin", "devconfig", "deviceconfig"), _("Configuration "), 80).index = true
entry({"admin", "devconfig", "wandeviceconfig"}, cbi("admin_wandevconfig/wandeviceconfig"), _("上传设置"), 1)
entry({"admin", "devconfig", "landeviceconfig"}, cbi("admin_landevconfig/landeviceconfig"), _("采集设置"), 1)
entry({"admin", "devconfig", "statedeviceconfig"}, cbi("admin_statedeviceconfig/statedeviceconfig"), _("运行状态"), 1)
end
要注意的一点是,最后保存时要把文档编码转换为UTF-8编码,否则中文显示为乱码,这一点很重要。
编译为ipk
以cc为例:
在feeds/luci/applications下面新建一个luci-app-myabc文件夹,
配置文件
lanprobe,wanprobe,statusprobe,保存至luci-app-myabc/root/etc/config文件夹下
入口函数
deconfig.lua 放入luci-app-myabc/luasrc/controller/admin文件夹下
界面文件
将3个文件夹admin_landevconfig ,admin_wandevconfig ,admin_statedeviceconfig,拷贝至 luci-app-myabc/luasrc/model/cbi文件夹下
Makefile
在luci-app-myabc文件夹下新建一个Makefile文档,代码如下:
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI Support for mynameabc
LUCI_DEPENDS:=
include ../../luci.mk
# call BuildPackage - OpenWrt buildroot signature
接下来,执行命令
./scripts/feeds update luci
./scripts/feeds install -a -p luci
然后make menuconfig 你就能在luci的app下找到并添加了。
自添加LUCI菜单及编译为ipk的更多相关文章
- MTK Android 设置下添加一级菜单[ZedielPcbTest]
功能描述:Android7.1.2 设置下添加一级菜单[ZedielPcbTest],点击ZedielPcbTest,启动ZedielPcbTest.apk应用. 编译:需要在out目录删除Settt ...
- pyqt5-为QListWidget添加右键菜单
如何在pyqt5下为QListWidget添加右键菜单? 能百度到的均是pyqt4下的,有些貌似并不好用. 在尝试了很多方法后,下面贴出可用的方法: from PyQt4 import QtCore, ...
- 添加右键菜单命令 在此处打开命令窗口(E)(带图标)
@color 0A @title 添加右键菜单命令 在此处打开命令窗口(^&E)(带图标) by wjshan0808 @echo off reg add HKCR\Directory\Bac ...
- RCP:为指定的导航器添加上下文菜单
可以参考Eclipse的Help->Help Content下的: Platform Plug-in Developer Guide > Programmer's Guide > P ...
- 仅在TabControl中的Tab中添加右键菜单
若想实现仅在TabControl中的Tab中添加右键菜单,可在XAML中通过使用样式得到: <TabControl> <TabControl.ItemContainerStyle&g ...
- 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询
前言: 前一段时间一直都比较忙,没有什么时间进行总结,刚好节前项目上线,同时趁着放假可以好好的对之前遇到的一些问题进行总结.主要内容有使用SharePoint服务端对象模型进行查询.为SharePoi ...
- [cb] Unity Editor 添加右键菜单
需求 为Unity的Editor窗口添加右键菜单 实现代码 // This example shows how to create a context menu inside a custom Edi ...
- Netsharp快速入门(之9) 基础档案(工作区3 添加商品菜单,以及在产品中打开商品界面)
作者:秋时 杨昶 时间:2014-02-15 转载须说明出处 3.5.2 添加导航菜单 1.打开平台工具,插件和资源节点,选择创建导航菜单,打开创建向导 2.选择所属插件 3.选择在哪个分类下 ...
- 原已经安装好的nginx,现在需要添加一个未被编译安装的模块--echo-nginx-module-0.56
为了测试一个NGINX变量,将NGINX加了一个编译模板echo-nginx-module-0.56. 参照如下文件 1,先看以前NGINX有哪些东东. sbin/nginx -Vnginx vers ...
随机推荐
- Deep Learning Drizzle
Deep Learning Drizzle Drench yourself in Deep Learning, Reinforcement Learning, Machine Learning, Co ...
- [原]Linux 修改时区
1.查看当前时区 date -R 2.修改当前时区 tzselect 之后会出来一个选项菜单,选择你想要的时区就OK了 3.替换系统时区文件 cp /usr/share/zoneinfo/XXX/YY ...
- OWASP出品:Xenotix XSS漏洞测试框架及简单使用
OWASP Xenotix XSS Exploit Framework是一个高效的跨站脚本漏洞(XSS)检测和攻击测试框架.它通过特有的三大浏览器引擎(包括Trident, WebKit和Gecko) ...
- JavaScript的DOM_处理空白节点
一.空白节点产生的原因 在非 IE6,7,8 中,标准的 DOM 具有识别空白文本节点的功能. 在火狐浏览器等其他浏览器中是 7个,而 IE6,7,8 自动忽略了,如果要保持一致的子元素节点,需要手 ...
- Gluon.vision的几类数据集
http://mxnet.apache.org/api/python/gluon/data.html import mxnet as mx from mxnet import nd,autograd, ...
- docker-1-简介
Dockers的出现: 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西, 这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不 ...
- ASP.NET Web API编程——客户端调用
可以使用HttpClient这个调用Web API,下面是HttpClient的定义,列举了一些常用的方法,其中还有一些没有列举,包括重载的方法. public class HttpClient : ...
- 理解JavaScript对象
理解JavaScript对象 对象是JavaScript的基本数据类型.对象是一种复合值:将很多值(原始值或者其他对象)聚合在一起. JavaScript对象不仅可以保持自有的属性,还可以从原型对象继 ...
- PAT——1045. 快速排序
著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分后的N个互不相同的正整数的排列,请问有多 ...
- 关于readonly的一些说明
readonly在代码中只能在字段初始化器和构造函数中赋值,并不是说readonly只能赋值一次,超出这个范围以后readonly就不能通过代码修改了,但是还是可以用反射来修改,readonly仅仅是 ...