自添加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下找到并添加了。

posted @ 2018-08-11 09:23  ihid  阅读(1633)  评论(0编辑  收藏  举报