Linux BBRplus Kernel 4.x-6.x Stable(非LTS)
从BBRplus 4.14移植 (注意它并不基于6.x版本的BBR,而只是简单移植了4.14版本的BBRplus)
今生不在编译debian And ubuntu debian And ubuntu错误.
基于原始版本
https://github.com/cx9208/bbrplus
net.ipv4.tcp_congestion_control = bbrplus
net.core.default_qdisc = fq
或
net.ipv4.tcp_congestion_control = bbr
net.core.default_qdisc = fq
在文件中/etc/sysctl.conf. ( fq是唯一推荐的数据包调度程序 请勿使用fq_codel fq_pie cake等 )
(或者你可以使用我在“Releases”部分编译的版本)
(GCC的构建要求> = 5.1, 因此如果使用CentOS 7.x作为构建器, 则需要GCC升级)
git clone https://github.com/linke131/bbrplus-6.x_stable.git
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz
tar xvf linux-6.5.7.tar.xz && cd linux-6.5.7
something like
cp ../convert_official_linux-6.4.x_src_to_bbrplus.patch .
或
cp /root/bbrplus-6.x_stable/convert_official_linux-6.5.x_src_to_bbrplus.patch /root/linux-6.5.7
patch -p1 < convert_official_linux-6.5.x_src_to_bbrplus.patch
(如果上一步没有错误或失败)
CentOS 7
sudo yum groupinstall -y "Development Tools"
sudo yum -y install ncurses-devel bc gcc gcc-c++ ncurses ncurses-devel cmake elfutils-libelf-devel openssl-devel rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel newt-devel python-devel zlib-devel
CentOS Stream 8所需编译依赖
dnf install -y ncurses-devel gcc-c++ make openssl-devel bison flex elfutils-libelf-devel rsync bc git wget patch rpm-build
CentOS Stream 9所需编译依赖
yum install -y make gcc ncurses-devel flex bison openssl-devel bc elfutils-libelf-devel perl dwarves rsync
Debian/Ubuntu
sudo apt install -y build-essential libncurses5-dev
sudo apt build-dep linux
make oldconfig
(注意:如果使用带有 Xen 虚拟化的 CentOS 7.x,则必须设置 CONFIG_XEN_BLKDEV_FRONTEND=y,否则虚拟机将无法启动.)
当询问时按 Enter 键(如果不知道是什么)
scripts/config --disable SECURITY_LOCKDOWN_LSM
scripts/config --disable DEBUG_INFO
scripts/config --disable MODULE_SIG
使用方法 Wget下载到内核目录运行 初衷 防止ssh远程连接断开 只要你的供应商不断电不关机就可一直在后台运行编译 直至编译完成
nohup bash build.sh &
或
nohup bash kernel.sh &
或
nohup bash kernel-V6.6.sh &
kernel-V6.6.sh适用于编译6.6以上内核
此脚本测试系统CentOS Stream 8
此编译脚本运行后会在同级目录下生成一个名为nohup.out的一个文件 他是一个整个编译过程的一个日志文件 他将记录所有编译记录及错误记录
一般报错位于最后边 拉到最后
如我第一次编译看报错记录缺失rsync
/bin/sh: rsync: command not found
那我们就把rssync装上即可解决
CentOS
make rpm-pkg LOCALVERSION=-bbrplus 2>&1 | tee build.log
Debian/Ubuntu
make deb-pkg LOCALVERSION=-bbrplus 2>&1 | tee build.log
如果出现任何问题, 请检查“build.log”文件
(如果上一步没有失败)
dnf install -y kernel-6.6.0_bbrplus-3.*.rpm
grubby --info=ALL | grep ^kernel
一般最新安装的内核位于第一个
grub2-set-default "vmlinuz-6.6.0-bbrplus"
grub2-mkconfig -o /boot/grub2/grub.cfg
grub设置完后重启系统即可
reboot
重启系统后使用以下命令确认是否设置成功
uname -r
如反馈X.X.X-bbrplus则为成功
CentOS 文件
located in
/"user home dir"/rpmbuild/RPMS/x86_64/
Debian/Ubuntu 文件
located in
parent directory