Openwrt通用固件make menuconfig配置
Openwrt通用固件make menuconfig配置
选择CPU型号(平台选择)
Target System --->AtherosAR7xxx/AR9xxx
选择路由型号
Target Profile --->TP-LINKTL-WR843N/ND (QCA9531)
要省空间可去掉dnsmasq和firewall
添加luci相关项
LuCI ---> Collections ---> <*> luci 添加luci(web界面管理)
LuCI ---> Applications ---> <*> luci-app-adkill 98添加去广告
LuCI ---> Applications ---> <*> luci-app-commands 添加luci的网页shell
LuCI ---> Applications ---> <*> luci-app-ddns添加动态域名
LuCI ---> Applications ---> <*>luci-app-firewall添加防火墙
LuCI ---> Applications ---><*> luci-app-hd-idle 添加硬盘休眠
LuCI ---> Applications ---><*> luci-app-syncdial 98虚拟网卡 原macvlan
LuCI ---> Applications---> <*> luci-app-mjpg-streamer 98 添加视频监控
LuCI ---> Applications ---><*> luci-app-mmc-over-gpio 添加SD卡操作界面
LuCI ---> Applications---> <*> luci-app-multiwan 网络叠加 nwan、pppoe多拨
LuCI ---> Applications---> <*> luci-app-mwan3 网络叠加
LuCI ---> Applications ---> <*> luci-app-ntpc 时间同步服务器
LuCI ---> Applications ---> <*> luci-app-ocserv VPN Server
LuCI ---> Applications ---> <*> luci-app-openvpn 98添加openvpn
LuCI ---> Applications ---> <*> luci-app-p910nd 添加打印服务器
LuCI ---> Applications ---> <*> luci-app-usb-printer 添加打印服务器 hackpascal 优化
LuCI ---> Applications ---> <*> luci-app-qos 添加服务质量 可选石像鬼QOS
LuCI ---> Applications ---> <*> luci-app-samba 添加网络共享
LuCI ---> Applications ---> <*> luci-app-redsock2 9812 科学上网
LuCI ---> Applications ---> <*> luci-app-shadowsocks 9812 科学上网
LuCI ---> Applications ---> <*> luci-app-splash客户端弹窗
LuCI ---> Applications ---> <*> luci-app-transmission BT下载
LuCI ---> Applications ---> <*> luci-app-upnp 添加通用即插即用
LuCI ---> Applications ---> <*> luci-app-vsftpd 9812添加ftp服务
LuCI ---> Applications ---> <*> luci-app-webshell 98添加网页命令行终端 LuCI ---> Applications ---> <*> luci-app-wol 添加网络唤醒
LuCI ---> Applications ---> <*> luci-app-xunlei 98迅雷下载
LuCI ---> Applications ---> <*> luci-app-xware3 98迅雷下载 32bit
LuCI ---> Themes ---> <*> luci-theme-bootstrap 默认主题
LuCI ---> Translations ---> <*> luci-i18n-chinese添加luci的中文语言包
Modules ---> Translations ---> <*>Simplified Chinese (zh-cn)新版本中文语言包位置
红色部分官方源默认没有,使用981213的feeds.conf.default合并后可看到98的选项,9812的在单独的RA-MOD ---> LuCIApplications下!
添加高速数据支持
Kernel modules ---> Block Device---> <*> kmod-block2mtd
Kernel modules ---> Block Device ---> <*> kmod-scsi-core
Kernel modules ---> Block Device ---> <*> kmod-scsi-generic (usb 转IDE ,SATA)
添加硬盘格式支持
Kernelmodules ---> Filesystems ---> <*> kmod-fs-ext4
Kernel modules ---> Filesystems ---> <*> kmod-fs-nfs
Kernel modules ---> Filesystems ---> <*> kmod-fs-nfs-common
Kernel modules ---> Filesystems ---> <*> kmod-fs-ntfs (只读)
Kernel modules ---> Filesystems ---> <*> kmod-fs-vfat
Kernel modules ---> Filesystems ---> <*> kmod-fuse
Utilities --->Filesystem ---><*> ntfs-3g (比ntfs更好用,但CPU占用略高)
添加编码
Kernelmodules ---> Native Language Support ---> <*>kmod-nls-cp437 (FAT-fs 文件系统需要cp437支持)
Kernel modules ---> Native Language Support ---> <*> kmod-nls-iso8859-1
Kernel modules ---> Native Language Support ---> <*> kmod-nls-cp936
Kernel modules ---> Native Language Support ---> <*>kmod-nls-utf8
添加SD卡支持
Kernel modules ---> Other modules ---> <*> kmod-mmc
Kernel modules ---> Other modules ---> <*> kmod-sdhci
Kernel modules ---> Other modules ---> <*> kmod-sdhci-mt7620
添加USB扩展支持
Base system ---> <*> block-mount 添加USB挂载
Base system ---> <*> librt (libpthread 会自动联动选中) 添加USB挂载
Kernelmodules ---> USB Support ---> <*> kmod-usb-hid(usb键盘鼠标支持)
<*> kmod-usb-ohci
<*>kmod-usb-storage (usb storage 驱动)
<*>kmod-usb-storage-extras
<*>kmod-usb-uhci (usb 1.1 驱动)
<*> kmod-usb2
<*>kmod-usb3
添加USB转串口驱动
Kernel modules ---> USB Support ---><*> kmod-usb-acm(Lanuchpad,Arduino UNO驱动)
Kernel modules ---> USB Support ---> <*>kmod-usb-serial
<*> kmod-usb-serial-ch341
<*> kmod-usb-serial-cp210x
<*> kmod-usb-serial-ftdi
Kernel modules ---> USB Support ---> <*>kmod-usb-serial-pl2303
添加打印驱动
Kernelmodules ---> USB Support ---> <*>kmod-usb-printer(驱动有点大,小容量rom不建议选)
添加网络配置
Network ---> SSH ---> <*>openssh-client (SSH客户端)
Network ---> <*> ppp-mod-pppoe (PPPOE拨号模式)
Network ---> <*>ppp-mod-pptp (VPN客户端)
Network ---> <*> wpad (为hostapd和wpa-supplicant的集合,支持802.1x认证,替换 wpad-mini)
Kernel modules ---> Network Devices ---> <*>Kmod-vmxnet3 (x86_vmware 网卡驱动)
Kernel modules ---> Network Devices ---> <*>Kmod-pcnet32 (x86_vmware网卡驱动)
添加视频支持
Kernel modules ---> Video Support ---><*> kmod-video-core
<*>kmod-video-uvc
Multimedia ---> <*> mjpeg-streamer
添加通讯协议支持
Network ---> <*> ser2net 用于和单片机通讯
Network ---> SSH ---> <*> openssh-sftp-server sftp协议支持,xftp可用,不依赖 vsftpd
添加BT下载工具
Network --->BitTorrent ---><*> transmission-daemon
Network --->BitTorrent ---> <*>transmission-remote
Network --->BitTorrent ---> <*>transmission-web
添加FTP
Network ---> File Transfer ---><*> vsftpd-pam(官方源码只有vsftpd)
添加pam支持
Libraries ---> SSL ---> <*> libopenssl
Libraries ---> <*> libdb47
Libraries ---> <*> libpam-db
Utilities ---> <*> db47-utils
添加lsusb命令
Utilities ---> <*> usbutils
Libraries ---> <*> libusb-1.0
添加无线网卡驱动
Kernel modules --->Wireless Drivers ---> <*> kmod-lib80211
Kernel modules ---> Wireless Drivers ---> <*> kmod-rt2800-usb(3070支持)
Kernel modules ---> Wireless Drivers ---> <*> kmod-rtl8187
Kernel modules ---> Wireless Drivers ---> <*> kmod-rtl8192se
Kernel modules ---> Wireless Drivers ---> <*> kmod-zd1211rw
添加应用程序配置
Utilities ---> Compression ---> <*>unrar (解压缩工具)
Utilities ---> Compression ---> <*> unzip (解压缩工具)
Utilities ---> Compression ---> <*> zip (压缩工具)
Utilities ---> Filesystem ---> <*> badblocks (支持ext2文件系统)
Utilities ---> Filesystem ---> <*> e2fsprogs (支持ext2/ext3/ext4格式化工具)
Utilities ---> disc ---> <*> blkid (可以列出分区类型卷标等)
Utilities ---> disc ---> <*> fdisk (分区工具)
Utilities ---> disc ---> <*> lsblk (列出块设备,还能显示他们之间的依赖关系)
Utilities ---> <*> bzip2 (解压缩工具)
Utilities ---> <*> lrzsz (上传下载工具)
Utilities ---> <*> restorefactory (reset键支持(长按5秒以上就可以恢复固件默认设置))981213源码中无该项,官方源码有,981213源码更新到官方代码后会消失!
Utilities --> <*> wifitoggle(添加一键开关无线(按一下WPS键放开无线就打开或者关闭))
添加其他功能(WIFI破解)
Network--> wireless --> <*> aircrack-ng
Network--> wireless --> <*> mdk3
Network--> wireless --> <*> reaver
Utilities---> <*> screen
还需要wireless-tools,libpcap可能需要降级到1.1.1版本
Network--> VPN --> <*> openvpn-polarssl (使用PolarSSL开源VPN解决方案)
Libraries-> <*> libffmpeg-full (流媒体服务器)
<*> luci-app-minidlna (流媒体服务器)
解决DNS污染(源码中没有)
dnscrypt-proxy(是opendns使用椭圆曲线加密算法)
pdnsd(是给 dnscrypt-proxy 做加速的,每次都从opendns 加密查询dns,虽然很有保障,但是会很慢。pdnsd 监听1053端口,用dnscrypt-proxy 作为上级DNS服务器,将查询结果缓存起来,可以缓存最多一周)
dnsmasq(屏蔽 运营商的dns,查询pdnsd。利用 dnsmasq,可以让连到路由器上的客户端 都应用 pdnsd。)
make V=99 2>&1 |teebuild.log |grep -i error 生成编译报告日志文件
make –j 2 V=s 多线程编译
make -j 2 V=s 2>&1 | tee build.log |grep -i error
路由器固件受ROM容量限制,可先编译x86版本进行测试!
以下是个性设置:基于WR703N
1.添加一键无线
在如下位置新建一个文件,文件名为01onoff
/target/linux/ar71xx/base-files/etc/hotplug.d/button/01onoff
内容如下:
#!/bin/sh
[ "$BUTTON" = "wps" ]&& [ "$ACTION" ="pressed" ] && {
SW=$(uci get wireless.@wifi-device[0].disabled)
[ $SW == '0' ] && uci setwireless.@wifi-device[0].disabled=1
[ $SW == '0' ] || uci setwireless.@wifi-device[0].disabled=0
wifi
}
保存后设置权限为0777
在终端下进入button文件夹,然后执行 chmod 777 –R 01onoff 命令
进入文件夹命令为 cd target/linux/ar71xx… ,最前面的路径前没有‘/’符号!
2.添加 3322 DDNS 动态域名解析
/feeds/packages/net/ddns-scripts/files/usr/lib/ddns/services
添加
"3322.org" "http://[USERNAME]:[PASSWORD]@members.3322.org/dyndns/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]&wildcard=OFF"
修改配置项
/feeds/packages/net/ddns-scripts/files/etc/config/ddns
config service "myddns"
option enabled "1"
option service_name "3322.org"
option domain "xxxx.3322.org"
3.修改防火墙添加开放端口
/trunk/package/network/config/firewall/files/firewall.config
添加内容:
config 'rule'
option 'target''ACCEPT'
option '_name' 'tr'
option 'src' 'wan'
option 'proto''tcpudp'
option 'dest_port''51413'
config 'rule'
option 'target''ACCEPT'
option '_name''9091'
option 'src' 'wan'
option 'proto' 'tcp'
option 'dest_port''9091'
4.修改无线默认启动发射功率及加密
/package/mac80211/files/lib/wifi/mac80211.sh
修改内容:注意对齐,参考修改
在文件最后修改以下内容:
config wifi-device radio$devidx
option type mac80211
option channel ${channel}
option macaddr $(cat/sys/class/ieee80211/${dev}/macaddress)
option hwmode 11${mode_11n}${mode_band}
$ht_capab
# REMOVETHIS LINE TO ENABLE WIFI:
option disabled0
option txpower 17
option htmodeHT40-
option noscan1
option countryCN
config wifi-iface
option device radio$devidx
option network lan
option mode ap
option ssid OpenWrt_$(cat/sys/class/ieee80211/${dev}/macaddress|tr"[a-z]""[A-Z]"|sed 's/://g'|cut -c7-12)
option encryption psk2 --------------------加密方式 ( option encryption none 无密码)
option key xxxxxxxx ----------------------密码(8位) xxxxxxxx
EOF
devidx=$(($devidx + 1))
done
}
5.修改路由器名字和时区
/package/base-files/files/etc/config/system
修改内容:
config system
option hostname OpenWrt
option zonename Asia/Shanghai
option timezone CST-8
6.默认启动DHCP(703n用来当二级路由)
/trunk/package/network/services/dnsmasq/files/dhcp.conf
config dhcp lan
option interface lan
option start 100
option limit 150
option leasetime 12h
option ignore 0 -----------------添加这个
7.修改Transmission配置文件
/feeds/packages/net/transmission/files/transmission.config
修改内容:
option rpc_authentication_required true
option umask 0
8.修改network配置,配置成二级路由
/trunk/package/base-files/files/etc/config/network
修改内容:
# Copyright (C) 2006 OpenWrt.org
config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
config interface lan
option type bridge
option proto static
option ipaddr 192.168.3.1
option netmask 255.255.255.0
config interface wan
option ifname eth0
option _orig_ifname eth0
option _orig_bridge false
option proto dhcp
9. 添加利用reset键的一键切换路由工作模式
在如下位置新建4个文件,在保存后,请修改权限为777
/target/linux/ar71xx/base-files/etc/hotplug.d/button/00-button
./etc/functions.sh
do_button () {
local button
local action
local handler
local min
local max
config_get button $1 button
config_get action $1 action
config_get handler $1 handler
config_get min $1 min
config_get max $1 max
[ "$ACTION" ="$action" -a "$BUTTON" = "$button" -a -n"$handler" ] && {
[ -z"$min" -o -z "$max" ] && eval $handler
[ -n"$min" -a -n "$max" ] && {
[ $min -le $SEEN -a $max -ge $SEEN ] && eval$handler
}
}
}
config_loadsystem
config_foreachdo_button button
/target/linux/ar71xx/base-files/etc/hotplug.d/button/change2ap
#!/bin/sh
uci delete network.wan
uci delete network.lan
uci set network.lan=interface
uci set network.lan.ifname=eth0
uci set network.lan.type=bridge
uci set network.lan.proto=static
uci set network.lan.ipaddr=192.168.1.2
uci set network.lan.netmask=255.255.255.0
uci set network.lan.gateway=192.168.1.1
uci set network.lan.dns=192.168.1.1
uci commit network
uci set dhcp.lan.ignore=1
uci commit dhcp
reboot
/target/linux/ar71xx/base-files/etc/hotplug.d/button/change23dhcp
#!/bin/sh
uci delete network.wan
uci delete network.lan
uci set network.lan=interface
uci set network.lan.type=bridge
uci set network.lan.proto=static
uci set network.lan.ipaddr=192.168.10.1
uci set network.lan.netmask=255.255.255.0
uci set network.wan=interface
uci set network.wan.ifname=eth0
uci set network.wan.proto=dhcp
uci set network.wan._orig_ifname=eth0
uci set network.wan._orig_bridge=false
uci commit network
uci delete dhcp.lan.ignore
uci commit dhcp
reboot
/target/linux/ar71xx/base-files/etc/hotplug.d/button/change23g
#!/bin/sh
uci delete network.wan
uci delete network.lan
uci set network.lan=interface
uci set network.lan.ifname=eth0
uci set network.lan.type=bridge
uci set network.lan.proto=static
uci set network.lan.ipaddr=192.168.1.1
uci set network.lan.netmask=255.255.255.0
uci set network.wan=interface
uci set network.wan.ifname=ppp0
uci set network.wan.proto=3g
uci set network.wan.maxwait=0
uci set network.wan.service=evdo
uci set network.wan.device=/dev/ttyUSB0
uci set network.wan.username=ctnet@mycdma.cn
uci set network.wan.password=vnet.mobi
uci set network.wan.auto=1
uci commit network
uci delete dhcp.lan.ignore
uci commit dhcp
reboot
修改/package/base-files/files/etc/config/system,在尾部添加
config button
option button'reset'
option action'released'
option handler'/etc/hotplug.d/button/change23g'
option min '0'
option max '2'
config button
option button'reset'
option action'released'
option handler'/etc/hotplug.d/button/change2ap'
option min '3'
option max '8'
config button
option button'reset'
option action'released'
option handler'/etc/hotplug.d/button/change2dhcp'
option min '9'
option max '99'
这样以后按住reset 2秒内, 3-8秒 和 9秒以上,会自动切换到对应的网络配置,并自动重启路由器。
按住reset0-2秒放开,切换到3g配置,
按住reset3-8秒放开,切换到ap模式,
reset 9秒以上放开,切换到二级路由dhcp模式。
10. 修改挂载点
路径:./openwrt/trunk/package/block-mount/files
修改 10-swap,20-fsck, 40-mount 的权限为777
11.添加对中文编码cp936的支持,openwrt实际上是支持cp936的,只是没开放而已
修改文件openwrt/trunk/package/kernel/modules/nls.mk
在文件尾部添加
defineKernelPackage/nls-cp936
SUBMENU:=Native LanguageSupport
TITLE:=Codepage 936 (China)
KCONFIG:=CONFIG_NLS_CODEPAGE_936
FILES:=$(LINUX_DIR)/fs/nls/nls_cp936.ko
AUTOLOAD:=$(callAutoLoad,25,nls_cp936)
$(call AddDepends/nls)
endef
define KernelPackage/nls-cp936/description
Kernel module for NLSCodepage 936 (Chinese)
endef
$(eval $(call KernelPackage,nls-cp936))
保存,这样在以后执行make menuconfig时,
在Kernel modules ---> Native Language Support 下面会多一个
< >kmod-nls-cp936................ Codepage 936 (china)(NEW)
12. 8m固件支持(新版本)
tools/firmware-utils/src/mktplinkfw.c中代码:
static struct flash_layout layouts[] = {
{
.id = "4M",
.fw_max_len = 0x3c0000,
.kernel_la = 0x80060000,
.kernel_ep = 0x80060000,
.rootfs_ofs = 0x140000,
}, {
.id = "4Mlzma",
.fw_max_len = 0x3c0000,
.kernel_la = 0x80060000,
.kernel_ep = 0x80060000,
.rootfs_ofs = 0x100000,
}, {
.id = "8M",
.fw_max_len = 0x7c0000,
.kernel_la = 0x80060000,
.kernel_ep = 0x80060000,
.rootfs_ofs = 0x140000,
}, {
.id = "8Mlzma",
.fw_max_len = 0x7c0000,
.kernel_la = 0x80060000,
.kernel_ep = 0x80060000,
.rootfs_ofs = 0x100000,
}, {
/* terminating entry */
}
};
static struct board_info boards[] = {
}, {
.id = "TL-WR703Nv1",
.hw_id = HWID_TL_WR703N_V1,
.hw_rev = 1,
.layout_id = "4Mlzma", //只改此, 8Mlzma
}, {
}
13. Luci 主题修改
编辑 ./feeds/luci/modules/luci-base/root/etc/config/luci
默认主题:option mediaurlbase /luci-static/bootstrap
默认语言:option lang zh-cn
14. Luci 页面文字修改
编辑 ./feeds/luci/modules/luci-base/po/zh-cn/base.po
Openwrt通用固件make menuconfig配置相关推荐
- openwrt编译固件流程
openwrt编译固件分为环境配置以及固件编译两个部分,下面将按步骤介绍编译固件的方法流程 1.环境配置 编译固件需要先配置环境,自己所需的环境在官网中可以找到.选择适合自己的分支,默认的分支为mas ...
- 网件r8000刷openwrt官方固件_关于路由器的问题,请问NETGEAR R8000 有openwrt可刷吗
匿名用户 1级 2016-01-27 回答 可以到openwrt官网查询支持openwrt的路由器,地址如下: http://wiki.openwrt.org/toh/start OpenWrt 可以 ...
- 自编译最新稳定版 128M NAND WNDR4300V1 Openwrt Lean固件
这个固件已不是最新,最新版详见2021 自编译最新稳定版 128M WNDR4300V1 Openwrt Lean固件 注意事项 因为是自编译固件,因此编译进入的功能比较少,有需求者可自行前往软件包菜 ...
- SAP工具箱 通用条件/加点率配置
一 前言 SAP的定价体系的大致设计思路 通过配置生成条件表 通过存取顺序关联条件表 通过定价方案把相关条件类型关联起来 条件类型按顺序读取条件表,找到为止 定价方案中允许通过备选计算类型增强条件的金 ...
- SAP工具箱通用条件/加点率配置
一 前言 SAP的定价体系的大致设计思路 通过配置生成条件表 通过存取顺序关联条件表 通过定价方案把相关条件类型关联起来 条件类型按顺序读取条件表,找到为止 定价方案中允许通过备选计算类型增强条件的金 ...
- OpenWrt之DHCP(动态主机配置协议)
OpenWrt之DHCP(动态主机配置协议) DHCP简介 在TCP/IP网络上,每台主机在访问网络及其资源之前,都必须进行基本的网络信息配置,包含IP地址.子网掩码.默认网关和DNS等.在大型网络中 ...
- TP-LINK WR720N升级8M Flash 64M Ram,加USB-TTL,烧openwrt官方固件,接蓝牙适配器
最近突发奇想,心血来潮,想用ARM开发板做一个家用监控主机,再用单片机和各种传感器做成环境数据采集终端,还有继电器控制终端,监控主机负责定时读取传感器终端数据,如果发现异常的话通过网络把消息推送到自己 ...
- MT7621基于OpenWrt 21.02使用DSA配置VLAN
MT7621基于OpenWrt 21.02使用DSA配置VLAN 21.02vlan配置 配置测试: 在openwrt 21.02版本中,swtich/vlan的配置方式发生了变化,不再使用swcon ...
- openwrt旁路由 ipv6上网配置
openwrt旁路由 ipv6上网配置 路由器:小米AX3600 旁路由:openwrt 配置 路由端配置 上网方式选择:路由器拨号选Native,光猫拨号选NAT6,校园网一般选NAT6 打开成功后 ...
最新文章
- 寒羽对帝国的理解(通向高手之路)(转)
- 结对-五子棋游戏-开发过程
- 一个现金流量表的代码
- 【Python基础】Python之collections库-Counter
- c++ 位运算_C语言之运算符
- drupal 使用补丁_使用Drupal解决大学需求
- 1089 狼人杀-简单版 (20分)
- 为什么不用mysql做数据仓库hdfs_为什么不建议将RAID用于Hadoop HDFS设置?
- java ntp授时服务器,时间同步服务器NTP
- TcaplusDB X 光与夜之恋|来谈一场甜甜的恋爱
- 无人机系统测试软件,无人机航测软件(pix4D)
- Mac苹果电脑思维导图Xmind 2022中文
- 给定平面上任意三个点的坐标(x​1,y​1)、(x​2​​ ,y​2​​)、(x​3​​ ,y​3​​),检验它们能否构成三角形
- 从普通类的角度理解java的enum类型,用自定义类来模拟实现enum类的功能
- 20189200余超 2018-2019-2 移动平台应用开发实践第四作业
- asp.net面试常见试题
- IDEA中的路径问题
- 论 Erda 的安全之道
- Android根据byte数组,生成图片,图片名字以当前时间作为名字
- 【MySQL高可用】MySQL高可用之MGR部署