openWRT各功能软件包及其依赖库配置选项

1.访问路由器的网页:除了需要uhttpd Web服务器外,还需luci这一网页GUI(feeds/luci,一般也都在该目录下开发,最终编译的内容在rootfs的/usr/lib/lua目录下)。
安装luci网页GUI:
./scripts/feeds update packages luci
./scripts/feeds install -a -p luci

LUCI --->
    2.Modules ---> <*> luci-mod-admin-full. LuCI Administration - full-featured for full control 
注:选中luci-mod-admin-full后会默认选中luci-mod-admin-core、Themes-->luci-theme-openwrt、Themes-->luci-theme-base、Translations-->luci-i18n-english
(若想用中文web界面则手动选luci-i18n-chinese)、Protocols-->luci-proto-core、Server Interfaces-->luci-sgi-cgi、
Libraries-->luci-lib-core、Libraries-->luci-lib-ipkg、Libraries-->luci-lib-nixio、Libraries-->luci-lib-sys、Libraries-->luci-lib-web。

安装Web服务器并为uhttpd服务器添加一个lua运行时接口(cgi-bin):
 Network  ---> 
   <*> uhttpd........................ uHTTPd - tiny, single threaded HTTP server ---> 
   <*>   uhttpd-mod-lua... uHTTPd - tiny, single threaded HTTP server (Lua plugin) 

安装统一配置接口工具UCI:openWRT中的很多配置均是通过uci工具命令来完成(包括luci中的lua脚本也调用uci命令来实现系统配置)。
Base system  ---> <*> uci................ Utility for the Unified Configuration Interfa
注:若此时依旧无法访问路由器的web页面,则安装iptables工具删除防火墙的所有过滤规则;或者/etc/init.d/firewall stop关闭防火墙;或者编译固件时不要勾选Base System-->firewall。

2.添加iptables
1.安装防火墙Firewall:
Base System-->firewall、Librarys-->FireWall-->(libip4tc/libip6tc/libxtables)
选中Base System-->firewall时后面的几个库文件会自动选中。

2.安装iptables工具:
Network-->Firewall-->iptables(IPv4的iptable)、IPv6-->Firewall-->iptables(IPv6的iptable)



==============================================================================================
1.1为路由设备替换网页:将其他设备rootfs中/usr/lib/lua内容全部拷贝到build_dir对应rootfs的usr/lib/lua即可;为防止每次编译时修改的内容被覆盖故应修改feed/luci/modules目录下内容,主要替换目录为feeds\luci\modules\admin-full\luasrc和feeds\luci\modules\base\luasrc的controller、tools目录。
1.2htm连接Web前台和后台的交互:htm即PC浏览器来解析和呈现画面,在浏览器页面上点击鼠标即会触发htm代码中的lua脚本(htm中各个按钮或图片处的lua脚本将
鼠标动作转换成某按钮数据提交给后台(如通过uci工具命令将数据保存到/etc/config配置文件中),  并将是否设置成功的结果返回到htm并由htm中的function来呈现返回结果).

ick(function(){
var disabled = "1";
if($("#switch").is(":checked"))
disabled = "0";
else
disabled = "1";

var request_date = { "disabled" : disabled };
$("#loading").show();
$.getJSON("<%=luci.dispatcher.build_url("api", "wlwireless","setWirelessSwitch")%>",request_date,function(rsp) 
//调用lua库函数luci.dispatcher.build_url即可调用到controller目录下自己编写的用于响应前台动作的lua脚本(该lua脚本将前台动作转化成数据提交给后台),后台
//完成数据处理后做一回复(htm中必须有函数function(rsp),该函数的具体内容紧跟如下即{}中用于提示WIFI是否开启)
"#loading").hide(); 
if(rsp.code == 0){
if (disabled == 0) {
art.dialog({icon:"succeed",title:false,content:"WIFI成功开启!"}).lock().time(4);
}
else{
art.dialog({icon:"succeed",title:false,content:"WIFI成功关闭!"}).lock().time(4);
}
} else {
art.dialog({icon:"error",title:false,content:rsp.msg}).lock().time(4);

}) 
});

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 下载SDK 首先需要从OpenWrt官网下载SDK。选择与路由器硬件平台对应的SDK,例如:如果你的路由器是MT7620A芯片,则需要下载MT7620A SDK。 2. 解压SDK 将下载的SDK解压到任意目录下,例如:/opt/mt7620a_sdk。 3. 进入SDK目录 打开终端,进入SDK目录,例如:cd /opt/mt7620a_sdk。 4. 配置SDK 执行make menuconfig命令,进入SDK配置界面,进行以下配置: - Target System: 选择路由器的芯片类型,例如:MediaTek Ralink MIPS - Target Profile: 选择路由器的型号,例如:MT7620A based boards - Target Images: 选择编译软件包的目标平台,例如:ramips/mt7620a 5. 添加软件包源 执行以下命令,添加软件包源: echo "src/gz openwrt_custom http://openwrt.inkworm.com/chaos_calmer/15.05/mt7620a/packages/custom" >> /etc/opkg/customfeeds.conf opkg update 6. 安装编译工具 执行以下命令,安装编译工具: opkg install gcc make libpthread libstdcpp 7. 编写Makefile文件 在任意目录下创建一个文件夹,例如:/opt/my_package,并在该文件夹下创建一个名为Makefile的文件。在Makefile文件中编写软件包的编译规则。 以下是一个简单的Makefile文件示例: ``` include $(TOPDIR)/rules.mk PKG_NAME:=hello-world PKG_VERSION:=1.0 PKG_RELEASE:=1 include $(INCLUDE_DIR)/package.mk define Package/hello-world SECTION:=utils CATEGORY:=Utilities TITLE:=Hello World DEPENDS:=@TARGET_ramips_mt7620a endef define Package/hello-world/description This is a Hello World package. endef define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) endef define Package/hello-world/install $(INSTALL_DIR) $(1)/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/hello-world $(1)/bin/ endef $(eval $(call BuildPackage,hello-world)) ``` 8. 编译软件包 执行以下命令,编译软件包: make package/hello-world/compile V=s 编译完成后,在SDK目录下的bin目录中可以找到编译好的软件包。 9. 安装软件包 将编译好的软件包拷贝到路由器上,并执行以下命令安装: opkg install hello-world_1.0-1_ramips_24kec.ipk 安装完成后,在路由器上执行hello-world命令即可看到输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值