Building External Kernel Modules

Install Dependencies

apt-get install build-essential fakeroot rsync git

Install Kernel Source

  • Check Kernal Version uname -a
  • Search APT For Kernel Source Installation Package apt search linux-source
  • Insatall Kernel Source Package linux-source / linux-source-$Specifie_Kernel_Version
apt install linux-source
  • Extract Kernel Source Package
cd /usr/src && tar xf linux-source-*

Install Kernel Headers

Search APT For Kernel Source Installation Package apt search linux-headers

Insatall Kernel Headers Package linux-headers-amd64 / arm64

apt install linux-headers-amd64 linux-headers-arm64 

Building Kernel Modules

  • Prepare Requirement
cp /usr/src/linux-headers-6.1.0-9-arm64/Module.symvers /usr/src/linux-source-6.1/
cd /usr/src/linux-source-6.1 && make oldconfig
make menuconfig
make prepare
  • Check Modules Parameter
cat /usr/src/linux-source-6.1/net/ipv4/Makefile
  • Build
make CONFIG_TCP_CONG_BBR=m -C  /usr/src/linux-source-6.1 M=/usr/src/linux-source-6.1/net/ipv4 modules

Install Builded Kernel Modules

  • Cope Kernel Modules File to Runing Kernel
    The Same Directory On /lib/modules/$Kernel_Version/kernel/$Kernel_Modules_Build_Location
cp /usr/src/linux-source-6.1/net/ipv4/tcp_bbr.ko /lib/modules/6.1.0-9-arm64/kernel/net/ipv4/
  • Enable Kernel Modules
modprobe tcp_bbr

Leave a Comment