Openwrt编译札记
安装OS-Ubuntu
- 首先装好 Linux 系统,推荐 Debian 11 或 Ubuntu LTS
- 安装编译依赖
1 | sudo apt update -y |
- 下载源码
1 | sudo git clone https://github.com/coolsnowwolf/lede |
1 | cd lede |
1 | sudo echo "src-git helloworld https://github.com/fw876/helloworld.git" >> "feeds.conf.default" |
1 | sudo ./scripts/feeds update -a && ./scripts/feeds install -a |
更改kernel版本
- 打开lede目录/target/linux/架构/Makefile.修改位置如下
KERNEL_PATCHVER:=x.x - 额外的修改:修改路由器名称,默认地址(192.168.1.1)
1 | nano package/base-files/files/bin/config_generate |
地址修改位置为
${ipaddr:-"192.168.1.1"} (可以改成192.168.2.1)
名字修改位置为
1 | set system.@system[-1].hostname='Openwrt' |
编译固件
- 编译
menuconfig
1 | make menuconfig |
- 选中编译进固件为
“*”,按空格键。
Target System,Subtarget,以及Target Profile选择好对应的自己的路由器型号。
Extra Package选择好automount和autosamba
x86的话,应该有个类似auto x86的选项,确保都是选中的。
进入Luci->Applications
选择需要的固件。以我的为例。
只保留luci-app-ramfree,luci-app-samba,luci-app-ssr-plus(保持它的 默认选项 ),luci-app-ttyd,luci-app-turoboacc(保持它的默认选项),luci-app-upnp,luci-app-vsftpd
Network里,找到iperf3和ipset,这两个是测速工具,如果你需要的话。
Network里,IP Addresses and Names中,选择bind-dig,把DDNS和网易解锁音乐的全部去掉。
Network里,Routing and Rediction,检查ip-full是否选中,没有的话手动选择。
找到Utilities->Editors,我选的是vim,你喜欢什么编辑器就选哪个。
找到Utilities->Shells,选择bash,这个一定要,因为一些集合在里面的脚本几乎都是bash,其他的你需要什么就选什么。
找到Utilities->Filesystem,看一下ntfs-3g,mkf2fs,f2fsck这几个是否有选中,没有的话手动选择一下。Utilities里,找到mount-utils和usbutils,这两个是和hot-plug相关的,如果你需要外置移动硬盘作为挂载点,进行网络共享的话。
好了,软件选择就到这里。save,然后exit。
1 | make -j8 download V=s |
多运行几遍,3遍 至少。
1 | make -j$(($(nproc) + 1)) V=s |
编译完成后输出路径:/lede/bin/targets
后记
- dl包不要删除,它就在
lede目录下,保存下来,以后万一删除了全部的目录,git好了以后,还是放在lede目录下,可以直接编译(如果有新的也可以重新下载,但仍然比重新下载全部的包要快)。 - 之后路由器/软路由刷机完成了,用
winscp登录,并找到etc/config里的内容。然后回到虚拟机,在lede目录下创建“files”文件夹,把拷贝的内容全部放进去即可。这样编译完成之后,配置还是和以前一样。 - 一些常用的配置,路由器路径
| path | 备注 |
|---|---|
\etc\config |
各个LUCI配置 |
\etc\gfwlist |
gfwlist目录 |
\etc\shadow |
登录密码 |
\etc\firewall.user |
自定义防火墙规则 |
\usr\share\adbyby |
adbyby里的相关规则和设置 |
\usr\lib\lua\luci\view\admin_status\index.htm |
主页样式文件,温度显示等等 |



