OpenWrt
编译准备
国内请尽量全局科学上网
安装工具依赖
需要以下工具来编译OpenWrt,软件包名称在发行版之间有所不同。 在Build system setup中找到不同发行版上软件包的列表。
binutilsbzip2difffindflexgawkgcc-6+getoptgreplibc-devlibz-devmake4.1+perlpython3.6+rsyncsubversionunzipwhich
获取源码
原生 OpenWrt:
1 | git clone https://github.com/openwrt/openwrt.git |
lean OpenWrt(LEDE):
1 | git clone https://github.com/coolsnowwolf/lede.git |
编译
运行 feeds 获取所有的预定义软件包并且安装
1 | ./scripts/feeds update -a |
配置编译,详细参考下一节
1 | make menuconfig |
下载 dl 库(国内请尽量全局科学上网)
1 | make -j8 download V=s |
开始编译-j1 是线程数。第一次编译推荐用单线程
1 | make -j1 V=s |
编译完成后输出路径: bin/targets
二次编译(更新)
1 | cd lede |
若需要重新配置
1 | rm -rf ./tmp && rm -rf .config |
配置参考
方向建上下操作纵列,左右操作横列,空格选择,回车进入子菜单,* 代表编入固件,M 表示编译成模块或者IPK包, 空 不编译
Target System : 系统架构,例: MediaTek Ralink MIPSSubtarget : 处理器型号,例: MT7621 based boardsTarget Profile : 路由器型号,例: Xiaomi Mi Router AC2100
LuCI ---> 3. Applications ---> : 插件LuCI ---> 4. Themes ---> : 主题,例: <*> luci-theme-argon
配置好后使用左右键选中 < Save > 回车将配置保存到 .config 中,使用 ESC 键退出
自选插件
插件列表
OpenWrt 编译 LuCI -> Applications 添加插件应用说明
添加源码库中未包含的插件
使用插件集合库
在文件 feeds.conf.default 中添加:
1 | # kenzok8仓库 |
执行命令获取并安装
1 | ./scripts/feeds update -a && ./scripts/feeds install -a |
单独添加需要的插件
在 github 搜索 luci-app 找到需要的插件,如:rufengsuixing/luci-app-adguardhome 。
将插件源码 clone 到 package 下新建的一个目录中,然后在配置中勾选编译,也可使用插件作者编译完成的在路由器管理界面进行安装,也可通过 ssh 使用 opkg install xxxx 安装,使用 opkg remove xxxx 卸载。
Github Action自动编译
借助 GitHub Actions 的 OpenWrt 在线集成自动编译,可以不要求自己的硬件或系统达到要求即可进行编译。
编译前自定义IP
修改 package/base-files/files/bin/config_generate 中的 192.168.1.1 的后两位即可