安装依赖
sudo apt install -y automake make g++ bison flex libelf-dev libssl-dev bc sudo apt install build-essential libncurses5-dev -y sudo apt-get build-dep linux
在使用第三行命令时, 会提示错误, 这时候需要修改
/etc/apt/sources.list
文件, 去掉第三行 deb-src
前面的 #
效果:
jerrywang@jerrywang-PC:~$ cat /etc/apt/sources.list ## Generated by deepin-installer deb [by-hash=force] https://community-packages.deepin.com/deepin/ apricot main contrib non-free deb-src https://community-packages.deepin.com/deepin/ apricot main contrib non-free
下载源代码并解压
在清华大学开源镜像站下载最新kernel源代码
https://mirror.tuna.tsinghua.edu.cn/kernel/
(或者源站: https://www.kernel.org/
, 应当下载 linux-x.x.x.tar.gz
或者 linux-x.x.x.tar.xz
下载好后解压
配置
进入解压的目录, 邮件选择终端中打开, 输入
make menuconfig
Tab 键选择 Save 即可, Save之后 Exit
此时的默认的内核配置是你当前启动的内核的配置, 其配置位于
/boot
下面. 你也可以选择其他内核的配置来编译, 方法是将那个配置文件复制到此处, 替换为 .config
.打开
.config
文件, 修改CONFIG_SYSTEM_TRUSTED_KEYS=""
保存退出, 然后在终端中输入
scripts/config --disable MODULE_SIG scripts/config --disable DEBUG_INFO
编译
输入以下命令编译成deb, 注意: 需要一定的磁盘空间, 至少15G.
make deb-pkg
一般来说会编译很久的, 为了快速编译, 可以选择使用多线程并行编译, 比如, 使用10线程编译:
make deb-pkg -j 10
注意: 不要使用全部线程, 否则电脑会卡死, 而且并不清楚编译是否在进行. 我选10线程是因为我的电脑是12线程的. 如果
-j
参数后面没有数字, 会默认选择全部线程编译. 安装
编译好了之后, 会在上级目录生成三个deb包:
linux-headers-*_amd64.deb
, linux-image-*_amd64.deb
, linux-libc-dev*.deb
, 分别选择安装就好了. 为了保险期间, 可以输入如下命令重新生成grubsudo update-grub
重启之后, 会默认使用最新的内核
后记
后来发现, 自己编译内核还是太麻烦(难)了, 并不是那么好使, 于是就选择了大神的一键脚本
curl --proto '=https' --tlsv1.2 -sSf https://gitee.com/2016_12_21/up_kernel/raw/master/get_kernel_zip.sh | sh