环境说明:
Ubuntu 16.04 Desktop 64 位
步骤:
1. 源码下载:https://www.kernel.org/ ,我实验的版本是 4.17.12
2. 解压:tar xxvf linux-4.17.12.tar.xz
3. 配置内核
# sudo apt-get install libncurses5-dev libssl-dev # sudo apt-get install build-essential openssl # sudo apt-get install zlibc minizip # sudo apt-get install libidn11-dev libidn11 # sudo apt-get install flex # sudo apt-get install libelf-dev # make menuconfig
我这里就直接 Save 了,可以根据需要修改需要安装的内容
4. 编译
# make
# make modules
// 部分编译输出结果
CC net/ipv4/netfilter/nf_nat_masquerade_ipv4.mod.o
LD [M] net/ipv4/netfilter/nf_nat_masquerade_ipv4.ko
CC net/ipv6/netfilter/nf_log_ipv6.mod.o
LD [M] net/ipv6/netfilter/nf_log_ipv6.ko
CC net/netfilter/nf_log_common.mod.o
LD [M] net/netfilter/nf_log_common.ko
CC net/netfilter/nf_nat.mod.o
LD [M] net/netfilter/nf_nat.ko
CC net/netfilter/nf_nat_ftp.mod.o
LD [M] net/netfilter/nf_nat_ftp.ko
CC net/netfilter/nf_nat_irc.mod.o
LD [M] net/netfilter/nf_nat_irc.ko
CC net/netfilter/nf_nat_sip.mod.o
LD [M] net/netfilter/nf_nat_sip.ko
CC net/netfilter/xt_LOG.mod.o
LD [M] net/netfilter/xt_LOG.ko
CC net/netfilter/xt_addrtype.mod.o
LD [M] net/netfilter/xt_addrtype.ko
CC net/netfilter/xt_mark.mod.o
LD [M] net/netfilter/xt_mark.ko
CC net/netfilter/xt_nat.mod.o
LD [M] net/netfilter/xt_nat.ko
5. 安装新内核 (慎用,我尝试没有成功,重启会有问题,用之前的内核启动没有问题)
# make modules_install
# make install