Deepin编译最新linux内核
🛢️

Deepin编译最新linux内核

Tags
Linux
Deepin
kernel

安装依赖

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, 分别选择安装就好了. 为了保险期间, 可以输入如下命令重新生成grub
sudo update-grub
重启之后, 会默认使用最新的内核

后记

后来发现, 自己编译内核还是太麻烦(难)了, 并不是那么好使, 于是就选择了大神的一键脚本
curl --proto '=https' --tlsv1.2 -sSf https://gitee.com/2016_12_21/up_kernel/raw/master/get_kernel_zip.sh | sh

参考文献

Deepin V20 编译使用最新版本5.6.12内核方法-深度科技论坛|深度操作系统正在为全世界的电脑提供强劲动力!
一、准备好编译需要的工具 automake、make、g++(包含gcc)、bison、flex、libelf-dev、libssl-dev、bc。 懒人模式三条命令: 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 二、步骤 1、先到清华大学镜像源:https://mirror.tuna.tsinghua.edu.cn/kernel/v5.x/, 下载内核源码 linux-5.6.12.tar.gz文件, 2、解压(提取)tar zxvf kernel-5.6.12.tar.gz, cd linux-5.6.12 进入内核源码文件夹目录。 3、配置: make menuconfig Tab 键选择 Save 即可。 4、编辑一下生成的隐藏文件 .config,把以下这行KEY的值改成空: CONFIG_SYSTEM_TRUSTED_KEYS="" 5、然后,禁用签名验证,下面两条命令: scripts/config --disable MODULE_SIG scripts/config --disable DEBUG_INFO 6、最后,生成 deb 包: make deb-pkg 7、deb 包生成完了就安装: dpkg -i linux-headers-*_amd64.deb dpkg -i linux-image-*_amd64.deb dpkg -i linux-libc-dev*.deb 8、重启 deepin V20,新版本5.6.12内核就可以用了。 ############################################################ 三、其它事项 重启,检查新内核: uname -r 删除旧内核: sudo apt remove --purge linux-image-5.3.0-3-amd64 不确定的话可以先查看有哪些旧内核: dpkg -l | grep linux-image | awk '{print$2}' 此命令我得到两条结果: linux-image-5.3.0-3-amd64-unsigned linux-image-5.6.12 linux-image-deepin-amd64 注意:惊喜发现自动删除了系统原来自带的第一个4.19.*旧版本内核了,只保留最新的两个。 查看全部评分
Deepin V20 编译使用最新版本5.6.12内核方法-深度科技论坛|深度操作系统正在为全世界的电脑提供强劲动力!