Debian 11 编译&安装 BBR2 内核
注意:编译前请确保用来编译的设备剩余磁盘空间大于 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 可以正常安装使用