以编译ipk包方式修改openwrt web界面。

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

二.

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

module("luci.controller.admin.test", package.seeall)


function index()
	

	

	local page
	entry({"admin", "test"}, alias("admin", "test", "testconfig"), _("test 管理"), 35).index = true
	entry({"admin", "test", "testconfig"}, cbi("admin_test/testconfig"), _("test 管理"), 1)

end

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

local fs = require "nixio.fs"


if fs.access("/etc/config/test") then

m2 = Map("test", translate("test 管理"),
	translate("test 管理!"))

s = m2:section(TypedSection, "test", translate("test 管理"))
s.anonymous = true
s.addremove = false


ts = s:option(Value, "time", translate("探针数据回传服务器间隔"),
	translate("探针数据回传服务器间隔"))

us = s:option(Value, "url", translate("探针数据回传服务器地址"),
	translate("探针数据回传服务器地址"))

ps = s:option(Value, "power", translate("探针探测范围"),
	translate("探针探测范围"))



      
  function m2.on_commit(map)
			
	end


end

return m2

3.建立test文件,如下:

config test test
	option time			35
	option url		yk.shang-wifi.com
	option power			-68
	

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

include $(TOPDIR)/rules.mk
# Name and release number of this package
PKG_NAME:=test
PKG_RELEASE:=1

PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)

include $(INCLUDE_DIR)/package.mk

define Package/test
	SECTION:=utils
	CATEGORY:=Utilities
	TITLE:=test -- prints a snarky message
endef


define Package/test/description
	If you can't figure out what this program does, you're probably brain-dead and need immediate medical attention.
endef


define Build/Prepare
endef


define Build/Configure
endef

define Build/Compile
endef
define Package/test/install
	$(INSTALL_DIR) $(1)/usr/lib/lua
	mkdir -p $(1)/usr/lib/lua/test
	$(INSTALL_DIR) $(1)/usr/lib/lua/test
	$(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller/admin
	cp ./files/test.lua $(1)/usr/lib/lua/luci/controller/admin
	$(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi
	mkdir -p $(1)/usr/lib/lua/luci/model/cbi/admin_test
	cp ./files/testconfig.lua $(1)/usr/lib/lua/luci/model/cbi/admin_test
	$(INSTALL_DIR) $(1)/etc/init.d
	$(INSTALL_DIR) $(1)/etc/config
	cp ./files/test $(1)/etc/config
	
endef


$(eval $(call BuildPackage,test))

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

make package/test/compile 编译ipk包。

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



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


opkg install test_1_ramips_24kec.ipk  安装ipk包。


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




  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
离线安装OpenWRTIPKOpenWrt Package Kit)通常是在没有网络连接的情况下更新或添加软件的步骤,因为IPK文件含了预编译的软件。下面是基本的离线安装过程: 1. **下载所需IPK文件**: - 首先,你需要知道你要安装的具体IPK的名字以及其版本。访问OpenWRT的软件仓库(如https://downloads.openwrt.org/固件/packages/)找到对应的URL和版本。 - 下载到你的本地存储设备,比如电脑或者USB驱动器。 2. **将IPK文件复制到OpenWRT设备**: - 如果你的OpenWRT设备可以通过USB或SD卡接入电脑,直接将IPK文件复制到相应位置。 - 或者,如果设备支持TFTP传输,你可以设置TFTP服务器并将IPK文件放在服务器上,然后设备通过TFTP进行下载。 3. **配置OpenWRT**: - 登录到OpenWRT的终端或Web界面,进入`opkg`命令行工具。 - 使用`opkg update`(注意这一步通常需要网络,但如果之前已经下载了索引文件,则可以忽略)确保系统知道在哪里查找软件。 - 如果`opkg update`提示没有可用的索引,使用`opkg setsrc`指定你的本地目录作为新的源,例如`opkg setsrc local /path/to/downloaded/ipk/`。 4. **安装IPK**: - 使用`opkg install [package-name]`命令安装你的IPK文件。记得替换`[package-name]`为你要安装的具体名。 5. **确认安装**: - 安装完成后,检查是否成功通过`opkg list-installed`命令查看新安装的是否在列表中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值