OpenWrt / LEDE 编译教程:make menuconfig 配置、Intel 2.5G 网卡驱动与分区扩容
导读摘要:在 Ubuntu 上从源码编译 OpenWrt / LEDE 固件的完整流程:安装依赖、更新 feeds、make menuconfig 选择平台、加入 Intel i225/i226 2.5G 网卡驱动、调整根分区大小,以及编译失败和刷机后空间不足的处理方法。
简短回答:准备一台 Ubuntu 22.04(物理机、虚拟机或 WSL2 均可),用普通用户拉取源码、更新 feeds,运行 make menuconfig 选择平台、驱动和插件,在 Target Images 里把根分区调大,然后 make download 再 make。i225/i226 网卡需要确认勾选 kmod-igc。
一、为什么要自己编译
网上现成的固件往往塞满了作者自己需要的插件,内核版本、驱动不一定适合你的硬件,也难以确认是否被改动。自己从官方 OpenWrt 或 Lean 的 LEDE 源码编译,可以只装需要的东西,并按硬盘大小设置分区。
二、准备编译环境
# Ubuntu 22.04 LTS,使用普通用户,不要用 root 编译
sudo apt update && sudo apt install -y build-essential clang flex bison g++ gawk gcc-multilib g++-multilib gettext git libncurses5-dev libssl-dev python3-distutils rsync unzip zlib1g-dev file wget
git clone https://github.com/coolsnowwolf/lede.git openwrt-source # 或官方 openwrt/openwrt
cd openwrt-source
./scripts/feeds update -a
./scripts/feeds install -a
依赖列表会随源码更新变化,以所用源码仓库 README 中的说明为准。较新的 Ubuntu 24.04 已移除 python3-distutils 包,按 README 调整即可。磁盘至少预留 30–50GB。
三、make menuconfig 关键选项
- Target System:x86 软路由选 x86;
- Subtarget:选 x86_64;
- Target Profile:选 Generic x86/64;
- Target Images:
Kernel partition size:默认值一般够用,装很多内核模块时可调大到 64MB 以上;Root filesystem partition size:改为 1024 或更大(单位 MB),避免以后安装软件包空间不足;- 勾选
Build GRUB EFI images以支持 UEFI 启动。
- LuCI → Applications:只勾选真正要用的插件,插件越多越容易出现依赖冲突。
四、Intel i225 / i226 2.5G 网卡驱动
很多 x86 软路由使用 Intel i225-V 或 i226-V 网卡,对应的内核驱动是 igc。在 menuconfig 中进入 Kernel modules → Network Devices,确认 kmod-igc 被选为内置(显示为 <*>)。
- i225-V 的早期硬件版本存在断流等问题,后续的 B3 步进和 i226 有明显改善;如果遇到断流,先确认网卡版本和内核版本,再考虑更新驱动或关闭节能相关功能;
- 刷机后可以用
ethtool -i eth0查看驱动名和版本,确认是igc。
五、开始编译
make download -j8 # 先下载所有源码包,网络问题在这一步暴露
make -j$(nproc) # 正式编译
# 出错时用单线程并显示详细日志定位问题
make -j1 V=s
编译完成后,固件位于 bin/targets/x86/64/,常用的是 *-squashfs-combined-efi.img.gz(UEFI 机器)。squashfs 格式支持恢复出厂设置,更适合大多数人。
六、刷机后空间不足怎么办
menuconfig 中的分区大小只对新编译的固件生效。已经在用的系统如果空间不足:ext4 固件可以用 parted 扩大分区后执行 resize2fs;squashfs 固件需要处理 overlay,通常重新编译一个更大分区的固件更省事。无论哪种,先在「系统 → 备份/升级」中下载配置备份。
编译好固件后,如果打算把它当作旁路由使用,可以继续阅读旁路由设置与排错指南;硬件怎么选见软路由与硬路由选购指南。
常见问题
编译一次要多久?
第一次编译需要下载工具链和源码包,取决于 CPU 和网速,通常 1–3 小时;之后只改配置再编译会快很多。
已经刷好的固件还能扩容吗?
能,但不能通过 menuconfig。ext4 格式的固件可以用 parted 扩大分区再执行 resize2fs;squashfs 格式更复杂,通常重新编译更省事。操作前务必备份配置。
💡 机场情报局精选推荐:高品质海外节点与 IEPL 专线是流畅访问的基础,欢迎查阅我们的实时评测:【2026 稳定高速机场推荐榜单】。