因為BBRv2還沒有在Linux的master tree中,所以Ubuntu目前也沒有BBRv2。本篇紀錄怎麼把編譯好的BBRv2放到Ubuntu 21.04中。以Google Cloud Platform的VM作為例子。
需要的有:1) 下載BBRv2的程式碼在本機端,2) 遠端的VM (本篇用GCP Ubuntu 21.04)。
首先在GCP上開一個Ubuntu 21.04的VM。接著可以在本機端下載BBRv2的程式碼(BBRv2 Alpha),接著編譯
$ cd bbr/
$ ./gce-install.sh -m ${HOST}
在全部完成後,要在GCP的VM上設定開機選單。值得注意的是因為GCP開機目前無法可以透過ssh來選擇開機選單,所以無法直接知道選單順序。因此可以直接看
找出這次的image檔案名稱,這次的是“Ubuntu, with Linux 5.10.0+v2alpha+74f603c+GCE”,所以可以修改grub選單
$ cat /boot/grub/grub.cfg
找出這次的image檔案名稱,這次的是“Ubuntu, with Linux 5.10.0+v2alpha+74f603c+GCE”,所以可以修改grub選單
$ /etc/default/grub.d/50-cloudimg-settings.cfg
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.10.0+v2alpha+74f603c+GCE"
然後更新選單
$ sudo update-grub
$ sudo reboot
重開機後可以看版本
就可以看到版本變成5.10***GCE,且bbr2已經在可以挑的TCP congestion control之中了。
Reference
我的 ubuntu 18.4 錯誤可以幫助我
回覆刪除錯誤:內核配置無效。
缺少 include/generated/autoconf.h 或 include/config/auto.conf。
在內核 src 上運行“make oldconfig && make prepare”來修復它。
You may try this: https://stackoverflow.com/questions/50361990/how-to-solve-kernel-configuration-is-invalid-issues
刪除謝謝
刪除how do I do this by selecting BBRV2 after activating it by the kernel
刪除Use "sudo sysctl -w net.ipv4.tcp_congestion_control=bbr2" to switch your default congestion control to bbr2.
刪除