将luci编译ipk包修改openwrt web界面

来源:互联网 发布:新开淘宝点刷信誉流程 编辑:程序博客网 时间:2024/06/10 20:04

一.在/home/openwrt/package/下 建立/test/files目录。

二.

1.进入/test/files目录建立test.lua文件,如下:

[plain] view plain copy
  1. module("luci.controller.admin.test", package.seeall)  
  2.   
  3.   
  4. function index()  
  5.       
  6.   
  7.       
  8.   
  9.     local page  
  10.     entry({"admin", "test"}, alias("admin", "test", "testconfig"), _("test 管理"), 35).index = true  
  11.     entry({"admin", "test", "testconfig"}, cbi("admin_test/testconfig"), _("test 管理"), 1)  
  12.   
  13. end  

2.建立testconfig.lua文件,如下:

[plain] view plain copy
  1. local fs = require "nixio.fs"  
  2.   
  3.   
  4. if fs.access("/etc/config/test") then  
  5.   
  6. m2 = Map("test", translate("test 管理"),  
  7.     translate("test 管理!"))  
  8.   
  9. s = m2:section(TypedSection, "test", translate("test 管理"))  
  10. s.anonymous = true  
  11. s.addremove = false  
  12.   
  13.   
  14. ts = s:option(Value, "time", translate("探针数据回传服务器间隔"),  
  15.     translate("探针数据回传服务器间隔"))  
  16.   
  17. us = s:option(Value, "url", translate("探针数据回传服务器地址"),  
  18.     translate("探针数据回传服务器地址"))  
  19.   
  20. ps = s:option(Value, "power", translate("探针探测范围"),  
  21.     translate("探针探测范围"))  
  22.   
  23.   
  24.   
  25.         
  26.   function m2.on_commit(map)  
  27.               
  28.     end  
  29.   
  30.   
  31. end  
  32.   
  33. return m2  

3.建立test文件,如下:

[plain] view plain copy
  1. config test test  
  2.     option time         35  
  3.     option url      yk.shang-wifi.com  
  4.     option power            -68  
  5.       

三.进入test目录,建立Makefile文件,如下:

[plain] view plain copy
  1. include $(TOPDIR)/rules.mk  
  2. # Name and release number of this package  
  3. PKG_NAME:=test  
  4. PKG_RELEASE:=1  
  5.   
  6. PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)  
  7.   
  8. include $(INCLUDE_DIR)/package.mk  
  9.   
  10. define Package/test  
  11.     SECTION:=utils  
  12.     CATEGORY:=Utilities  
  13.     TITLE:=test -- prints a snarky message  
  14. endef  
  15.   
  16.   
  17. define Package/test/description  
  18.     If you can't figure out what this program does, you're probably brain-dead and need immediate medical attention.  
  19. endef  
  20.   
  21.   
  22. define Build/Prepare  
  23. endef  
  24.   
  25.   
  26. define Build/Configure  
  27. endef  
  28.   
  29. define Build/Compile  
  30. endef  
  31. define Package/test/install  
  32.     $(INSTALL_DIR) $(1)/usr/lib/lua  
  33.     mkdir -p $(1)/usr/lib/lua/test  
  34.     $(INSTALL_DIR) $(1)/usr/lib/lua/test  
  35.     $(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller/admin  
  36.     cp ./files/test.lua $(1)/usr/lib/lua/luci/controller/admin  
  37.     $(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi  
  38.     mkdir -p $(1)/usr/lib/lua/luci/model/cbi/admin_test  
  39.     cp ./files/testconfig.lua $(1)/usr/lib/lua/luci/model/cbi/admin_test  
  40.     $(INSTALL_DIR) $(1)/etc/init.d  
  41.     $(INSTALL_DIR) $(1)/etc/config  
  42.     cp ./files/test $(1)/etc/config  
  43.       
  44. endef  
  45.   
  46.   
  47. $(eval $(call BuildPackage,test))  

四:进入openwrt根目录(我的是/home/openwrt)

在编译之前,先输入make menuconfig,进入选择Utilities

之后选择test,按空格,将test前面尖括号中的M选出,然后保存退出,如下图


make package/test/compile V=s 编译ipk包。

find ./ -name test*.ipk 查看是否生成包。



 scp ./bin/ramips/packages/base/test_1_ramips_24kec.ipk root@192.168.1.1:/tmp   将生成的包上传到路由器/tmp目录下。

上传成功之后,执行以下命令

opkg update    更新

opkg install test_1_ramips_24kec.ipk  安装ipk包。


效果如下:test管理即为添加模块。

1 0
原创粉丝点击