HonkOpenWrt 透明代理一体包
GitHub

内核与 BTF

Honk 的核心用 CO-RE eBPF,没有 BTF 就起不来。九成的「装好了启动失败」都出在这里,先按这一页排查。

内核版本

eBPF 数据面要求 Linux 6.12+。24.10 及更早(6.6 / 5.15)装上也起不来,所以只发 25.12 的包。

查看当前内核:

uname -r

BTF 查找顺序

与核心内部的查找顺序一致,前一个命中的就用它:

顺序位置说明
1HONK_VMLINUX_BTF 指定的文件设了它就只认这一个,读不到直接拒绝启动,不回退
2/sys/kernel/btf/vmlinux内核自带 BTF 的固件有(如 ImmortalWrt)
3/usr/lib/debug/boot/vmlinuxvmlinux-btf 装的就是这里,官方 OpenWrt 走这条

快速确认有没有:

ls -l /sys/kernel/btf/vmlinux /usr/lib/debug/boot/vmlinux 2>/dev/null

两条路径都没有怎么办

用外部 BTF 时「原生 UDP 接收追踪」会降级,其余功能不受影响。只有内核自带 BTF 才能开这项。

起不来时按顺序看

  1. uname -r —— 低于 6.12 直接换固件,别继续折腾
  2. BTF 三条路径是否存在(见上)
  3. 依赖模块是否加载:lsmod | grep -E "sch_ingress|cls_bpf|veth|nft_queue"
  4. LuCI「服务 → Honk → 维护 → 系统检查」,它会逐项报缺什么
  5. 再看常见问题里对应的现象