Deepin V20 编译使用最新版本5.6.12内核方法
Experiences and Insight 4512 views · 46 replies
Tofloor
poster avatar
kirin2018
deepin
2020-05-14 08:14
Author

一、准备好编译需要的工具
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.*旧版本内核了,只保留最新的两个。


Reply Favorite View the author
All Replies
kirin2018
deepin
2020-05-14 08:17
#1
注意:deb 包生成在当前操作的上一级目录中,不在当前操作目录的。所以安装deb 包时要退回上一级目录先啦。
Reply View the author
qinliming
deepin
2020-05-14 08:35
#2
主要的问题没有说,估计大部分人的问题在于不会配置,我觉得可以直接cp /boot里的配置,再make menuconfig 但是需要编译很长时间,或者直接make localmodconfig但是这样会出很多问题
Reply View the author
Feng Yu
deepin
2020-05-14 08:37
#3
别编译了,用xanmod内核吧
Reply View the author
kirin2018
deepin
2020-05-14 08:41
#4
https://bbs.deepin.org/post/194265
别编译了,用xanmod内核吧

这个内核没试过,有什么不一样吗?我一直都是编译升级kernel官方的新版本内核。
Reply View the author
allegorie
deepin
2020-05-14 08:54
#5
https://github.com/graysky2/kernel_gcc_patch
可以打这个补丁开启本机处理器编译优化
Reply View the author
pencildraw
deepin
2020-05-14 08:57
#6
我只关心有没有一键jio本
Reply View the author
jianguo922
deepin
2020-05-14 09:03
#7
谢谢分享
Reply View the author
SamLukeYes
deepin
2020-05-14 09:09
#8
https://bbs.deepin.org/post/194265
我只关心有没有一键jio本

你应该关心的是有没有软件源吧,4楼说的那个就有
Reply View the author
mmlmonkey
deepin
2020-05-14 10:42
#9
https://bbs.deepin.org/post/194265
https://github.com/graysky2/kernel_gcc_patch
可以打这个补丁开启本机处理器编译优化

这个patch 怎么打啊  我打不上去
Reply View the author
bjhjf007
deepin
2020-05-14 11:34
#10
很早以前编译过一次内核模块,主要是为了支持ntfs文件系统,记得内核还是2.4.18的Redhat 9的系统.
Reply View the author
allegorie
deepin
2020-05-15 02:29
#11
https://bbs.deepin.org/post/194265
这个patch 怎么打啊  我打不上去

patch文件放在源码的根目录,patch -p1<*.patch *换成文件名
Reply View the author
jerry979
deepin
2020-07-01 00:29
#12
楼主, 直接编译就行了是吗, 不用改配置吧
Reply View the author
kirin2018
deepin
2020-07-01 02:21
#13
https://bbs.deepin.org/post/194265
楼主, 直接编译就行了是吗, 不用改配置吧

按上面的详细步骤做就行啦,不用修改
Reply View the author
jerry979
deepin
2020-07-01 07:18
#14
https://bbs.deepin.org/post/194265
按上面的详细步骤做就行啦,不用修改

谢谢您,在您的指导下,我已经弄好了,真的很感谢!
Reply View the author
kirin2018
deepin
2020-07-01 14:50
#15
https://bbs.deepin.org/post/194265
谢谢您,在您的指导下,我已经弄好了,真的很感谢!

不客气,大家志同道合,就难得有机会互相交流嘛。
Reply View the author
jerry979
deepin
2020-07-03 08:31
#16
make deb-pkg 后面可以 加 -j 线程数, 多线程编译. 不然编译太慢了

比如 make deb-pkg  -j 6 就是6线程编译. 我试过占用全部线程, 结果卡死了, 还是得留一些线程给系统
Reply View the author
mahuan
deepin
2020-07-03 12:07
#17
留名备用
Reply View the author
kirin2018
deepin
2020-07-06 09:50
#18
https://bbs.deepin.org/post/194265
make deb-pkg 后面可以 加 -j 线程数, 多线程编译. 不然编译太慢了

比如 make deb-pkg  -j 6 就是6线程编 ...

用6线就卡死了???那到底用多少线程才可以呀??
Reply View the author
kirin2018
deepin
2020-07-06 11:46
#19
鉴于楼上说启用6线程卡死,我今天就试用了一下5线程,果然顺得很。以前单线程耗时一个小时左右,今天15分钟搞定
看来以后编译升级新内核真的很easy啦。

Reply View the author
jerry979
deepin
2020-07-06 13:56
#20
https://bbs.deepin.org/post/194265
鉴于楼上说启用6线程卡死,我今天就试用了一下5线程,果然顺得很。以前单线程耗时一个小时左右,今天15分钟 ...

不好意思, 可能我表达有点问题, 就是不能把全部线程都用了. 比如cpu一共就6线程, 不能用6线程编译. cpu一共12线程, 不能用12线程编译

说下我的经历: 第一次用12线程编译, 直接卡死, 后来就都用11线程编译了(此时我没有运行其他耗费cpu的应用).  我的CPU刚好12线程.  我的理解是, 要是把线程都给编译内核了, 桌面服务就没cpu跑了, 所以卡死了
Reply View the author

1 / 3
To page
Use Markdown Editor
Loading