Deepin编译最新linux内核

安装依赖

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 前面的 #
效果:

[email protected]:~$ 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, 分别选择安装就好了. 为了保险期间, 可以输入如下命令重新生成grub

sudo update-grub

重启之后, 会默认使用最新的内核

参考文献

https://bbs.deepin.org/forum.php?mod=viewthread&tid=194265