使用git命令从Linux内核的Git仓库中获取源代码,$ git clone --depth 1 https://github.com/microsoft/WSL2-Linux-Kernel.git,找到对应的内核版本$ git log --grep="5.15.146.1-microsoft-standard-WSL2",回退到本机安装的内核版本$ git checkout <commit-id> ee5b8e3dcbc682f7b3f149d90544b007c50d74f6。
在克隆的源码目录使用$ make menuconfig 。在编译内核之前,你需要配置内核以包含BBR算法。可以通过编辑内核配置文件(通常是.config文件)来启用BBR算法。在配置中搜索TCP_CONG_BBR,确保该选项被设置为y(表示编译进内核)或m(表示编译为模块)。
由于总是报错找不到各种头文件,只是编译单个模块的话,直接$ make clean, $make prepare, $make olddefconfig, $make -j$(nproc)编译整个目录。编译模块$ make modules_install。察看sysctl net.ipv4.tcp_congestion_control是否成功加载bbr。
【未成功的方式】使用命令$ make -j$(nproc) modules M=net/ipv4只编译IPv4的模块,里面包括