|
本帖最后由 chris2024 于 2025-2-22 13:43 编辑
一、编译环境准备
1. 系统要求
◦ 推荐使用Ubuntu 20.04/22.04 LTS,确保内存≥4GB,硬盘空间≥50GB48。
◦ 安装必要依赖:
sudo apt update -y
sudo apt install -y build-essential ccache ecj fastjar flex g++ gawk gettext git libncurses5-dev libssl-dev python3 python3-distutils rsync unzip zlib1g-dev
2. 海淘网络环境
由于需要从GitHub拉取源码及依赖,建议配置稳定的网络连接,避免因下载失败导致编译中断810。

二、源码获取与配置
1. 克隆ImmortalWrt源码
git clone https://github.com/immortalwrt/immortalwrt.git --depth=1
cd immortalwrt
2. 更新Feeds并安装软件包
./scripts/feeds update -a
./scripts/feeds
install -a
3. 添加开源NSS支持
◦ 内核配置:
执行 make kernel_menuconfig,进入内核配置界面:
■ 启用网络加速相关模块:
Device Drivers → Network device support → Ethernet driver support → Qualcomm NSS Driver
■ 确保开启以下选项:
CONFIG_NET_CLS_ACT=y
CONFIG_NET_SCH_S购物=y
CONFIG_NET_SCH_INGRESS=y
◦ 软件包选择:
在 make menuconfig 中,勾选NSS相关驱动和依赖:
Network → Routing and Redirection → kmod-nft-fullcone
Kernel modules → Network Support → kmod-qca-nss-drv

三、编译配置优化
1. 启用硬件加速
◦ 在 Target System 中选择对应硬件平台(如 MediaTek Filogic 或 Qualcomm IPQ60xx)26。
◦ 根据设备类型选择 Subtarget 和 Target Profile,确保与NSS兼容的芯片架构匹配811。
2. 文件系统选择
◦ 推荐使用 squashfs 格式,支持固件重置和扩容6。
◦ 调整分区大小(如Root分区建议≥512MB)以容纳NSS驱动8。

四、编译与生成固件
1. 预下载资源
make download -j$(nproc) V=s
2. 开始编译
◦ 首次编译建议单线程运行以排查错误:
make -j1 V=s
◦ 二次编译可启用多线程加速:
bash
复制
make -j$(nproc) V=s
3. 固件输出
编译完成后,固件位于 bin/targets/<平台>/<芯片型号> 目录下,文件名为 immortalwrt-*-squashfs-sysupgrade.bin48。

五、刷机与验证
1. 刷入固件
◦ 通过uboot或sysupgrade工具刷写,例如:
sysupgrade -v -n -F /tmp/固件名.bin
◦ 强制刷写参数 -F 可避免配置冲突5。
2. 功能验证
◦ 登录Luci界面(默认IP 192.168.1.1),检查网络加速状态。
◦ 通过SSH执行 cat /proc/net/nss/general/statistics 查看NSS运行状态26。

常见问题与解决
• 驱动未生效:检查内核配置是否遗漏NSS模块,或尝试更新到最新源码分支810。
• 编译报错:清理缓存后重试(make clean 或 rm -rf ./tmp)4。
|
|