Debian 11 编译&安装 BBR2 内核

Author Avatar
青枫 2023年01月27日
  • 在其它设备中阅读本文章

注意:编译前请确保用来编译的设备剩余磁盘空间大于 35GB,运行内存大于 4GB,否则会编译失败。

温馨提示:操作内核有风险,请注意数据备份!

温馨提示:操作内核有风险,请注意数据备份!

温馨提示:操作内核有风险,请注意数据备份!


一、编译前准备

1. 安装依赖

apt build-dep linux unzip ncurses-dev screen

2. 使用 screen 开个会话窗口,防止 ssh 断开导致编译失败

screen -S kernel

3. 下载内核源码

wget https://github.com/google/bbr/archive/refs/heads/v2alpha.zip

如果无法下载可以尝试以下命令

wget https://ghproxy.com/https://github.com/google/bbr/archive/refs/heads/v2alpha.zip

还是不行就挂梯子下载,再用 WinSCP 传到 Debian

4. 解压内核包

unzip bbr-2alpha.zip
cd bbr-2alpha

二、配置内核

1. 套用当前设备的内核配置文件

make olddefconfig

2. 打开图形化配置菜单

make menuconfig

3. 选择图中箭头所指选项后按 “回车键”
请输入图片描述

4. 选择图中箭头所指选项后按 “回车键”
请输入图片描述

5. 选择图中箭头所指选项后按 “回车键”
请输入图片描述

6. 选择图中箭头所指选项后按 “回车键”
请输入图片描述

7. 选择图中箭头所指选项后按 "Y 键"(启用 BBR2)
请输入图片描述

8. 选择图中箭头所指选项后按 “回车键”
请输入图片描述

9. 选择图中箭头所指选项后按 “回车键”(把默认的拥塞控制协议设置为 BBR2)
请输入图片描述

设置完后 Save 一下,然后一路 Exit 退出图形菜单

10. 编辑配置文件

nano .config

11. 将下面一行注释

CONFIG_SYSTEM_TRUSTED_KEYS="debian/certs/debian-uefi-certs.pem"

套用系统自带内核的配置文件带有 EFI 数字签名,普通人搞不到

12. 关闭 DEBUG 节省编译时间(可选)

CONFIG_DEBUG_INFO=n

三、开始编译

1. 编译为 deb 安装包

make deb-pkg LOCALVERSION=-imlala -j$(nproc)

LOCALVERSION=-imlala -j$(nproc) = 检测机器核心数

2. 遇到类似下图的询问一般直接按回车就 OK
请输入图片描述

编译时间视你的机器性能而定,R5 2600 分配 8 核给虚拟机编译耗时 50 分钟左右

3. 看到类似下图的输出说明已经编译完成
请输入图片描述

编译好的 deb 安装包在用户主目录(即 $HOME)

4. 使用 dpkg 安装

cd
dpkg -i linux-headers-5.13.12-imlala_5.13.12-imlala-1_amd64.deb
dpkg -i linux-image-5.13.12-imlala_5.13.12-imlala-1_amd64.deb

5. 重启系统

reboot

6. 查看正在使用的内核

uname -r

7. 查看 BBR2 是否生效

sysctl net.ipv4.tcp_congestion_control

生效则显示

net.ipv4.tcp_congestion_control = bbr2

不生效就手动设置一下,然后重启系统再检查

echo "net.core.default_qdisc=fq_pie" >>/etc/sysctl.d/99-sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr2" >>/etc/sysctl.d/99-sysctl.conf
sysctl --system

我是懒狗,不想动手编译

点击 这里 (密码:www.vdj.me)下载我编译好的 deb 安装包,使用纯净的虚拟机编译而成可放心食用~

亲测在 VPS 可以正常安装使用

请输入图片描述