自编译OpenWrt软路由固件 发布于 · 2022-04-27 · # OpenWrt # OpenWrt # 软路由 # 基本信息介绍 编译设备:ProLiant MicroServer Gen10 Plus 虚拟化平台:Esxi 编译环境:Ubuntu 64位 # 准备工作 1、安装编译依赖 sudo apt update -y sudo apt full-upgrade -y sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \ bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \ git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \ libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \ mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pip qemu-utils \ rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev # 首次编译 1、下载源码 git clone https://github.com/coolsnowwolf/lede cd lede ./scripts/feeds update -a ./scripts/feeds install -a make menuconfig 2、添加自定义app库 打开 feeds.config.default 文件 添加: src-git small8 https://github.com/kenzok8/small-package 3、选择配置输出格式 方便重置系统,选择squashfs模式,固件大小按实际情况设置 Target Images ---> squashfs Build GRUB imagese GZip images 4、IPv6支持 Base system ---> dnsmasq - full build with DHCP support Build with DHcpv6 support Extra packages ---> ipv6helper Network ---> Firewall ---> ip6tables ip6tables-extra ip6tables-mod-nat 5、app选择 luci-app-adguardhome luci-app-autoreboot luci-app-bypass luci-app-fileassistant luci-app-filetransfer luci-app-firewall luci-app-mwan3 luci-app-openclash luci-app-qos luci-app-turboacc luci-app-ttyd luci-app-unblockmusic luci-app-vlmcsd luci-app-wolplus luci-app-zerotier 6、其他路由配置直接编辑 就是把你 改好的配置 直接编译进固件 这样做的好处就是升级不需要保留配置,或者恢复出厂设置,缺省值就是你自己设置好的配置 eg.: 1.提取路由固件下的/etc/config/network 2.在编译机LEDE根目录下创建files目录 3.拷贝到 lede/files/etc/config/network 其他配置: etc/config 各个LUCI配置 etc/gfwlist gfwlist目录 etc/shadow 登录密码 etc/firewall.user 自定义防火墙规则 当然也可以把etc整个放进去 ^_^ 7、下载 dl 库 make download -j8 8、开始编译 首次编译推荐单线程编译 -j后的数字表示线程数 make V=s -j1 make V=s -j$(nproc) # 二次编译 1、无需重新配置 cd lede git pull ./scripts/feeds update -a ./scripts/feeds install -a make defconfig make download -j8 make V=s -j$(nproc) 2、需要重新配置 rm -rf ./tmp && rm -rf .config make menuconfig make V=s -j$(nproc)
这个看着有点厉害,但是完全看不懂OωO