编译源码

编译内核先拉取源码:

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.7.tar.xz
tar xvf linux-5.5.7.tar.xz
apt-get install -y build-essential libncurses5-dev
apt install -y build-essential libncurses-dev flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf

# 然后准备配置
make oldconfig
或者是
make menuconfig
配置的时候必须要修改bbr=m

# 然后禁用签名并编译
scripts/config --disable MODULE_SIG
scripts/config --disable DEBUG_INFO

centos:
    # make -j `nproc` rpm-pkg # 这个操作每次都会make clean
    make -j `nproc` binrpm-pkg > /dev/null
debian:
    make -j `nproc` deb-pkg # 这个操作每次都会make clean
    make -j `nproc` bindeb-pkg > /dev/null

编译结束后,需要安装使用内核

dpkg -i linux-headers-4.14.168-bbrplus_4.14.168-bbrplus-1-d8_amd64.deb
dpkg -i linux-image-4.14.168-bbrplus_4.14.168-bbrplus-1-d8_amd64.deb

# 准备移除多余内核
dpkg -l|grep linux-image | awk '{print $2}'
# 注意不要删除刚才安装的内核
apt-get purge -y xxxxx 

然后更新引导程序

# CentOS 6
sed -i 's/^default=.*/default=0/g' /boot/grub/grub.conf

# CentOS 7
grub2-mkconfig  -o   /boot/grub2/grub.cfg
grub2-set-default 0

# CentOS 8
grub2-mkconfig  -o   /boot/grub2/grub.cfg
grubby --info=ALL|awk -F= '$1=="kernel" {print i++ " : " $2}'

# Debian || Ubuntu
/usr/sbin/update-grub

编译加速方案

在以上的方案下,每次重新编译都需要1.5-2个小时左右的编译时间,为了加速编译过程,可能就需要使用ccache进行加速了

# 安装ccache
sudo apt-get install ccache
# 配置ccache的环境
vim ~/.bashrc
    # 临时的cache的目录,保存编译信息的
    export CCACHE_DIR="/home/ccacheTemp" 
    export CC="ccache gcc"
    export CXX="ccache g++"
    export PATH="/usr/lib/ccache:$PATH"
# 立即生效配置环境
source ~/.bashrc
# 设置使用6G的空间大小
ccache -M 6G
最后修改:2020 年 03 月 05 日
如果你觉得我对你起到了帮助,请随意打赏