[Boot/Shutdown] 修改 Linux 内核使系统启动时间缩短约 30 秒
Tofloor
poster avatar
海豚湾
deepin
2022-09-11 21:41
Author

【系统环境】
镜像版本:5.18.4-amd64-deskop-hwe
CPU:处理器 : Intel(R) Core(TM) i5-10210Y CPU @ 1.00GHz (四核 / 八逻辑处理器)
主板 : TM1947
内存 : 8GB(K4EBE304ED-EGCG LPDDR3 2133MHz (0.5ns))/8GB(K4EBE304ED-EGCG LPDDR3 2133MHz (0.5ns))
显示适配器 : pci 0x1947
音频适配器 : Sunrise Point-LP HD Audio
存储设备 : SAMSUNG MZNLH512HALU-00000 (512 GB)
电池 : 电池
蓝牙 : MING-PC
网络适配器 : Wi-Fi 6 AX200
鼠标 : ELAN230B:00 04F3:30FE Mouse (ELAN230B:00 04F3:30FE Mouse)/ELAN230B:00 04F3:30FE Touchpad (ELAN230B:00 04F3:30FE Touchpad)
键盘 : AT Translated Set 2 keyboard (AT Translated Set 2 keyboard)/M585/M590 Keyboard (M585/M590 Keyboard)
显示设备 : CSOT T3 LCD Monitor(13.3 英寸 (286x179 mm))

GPU:N/A

【操作步骤】
正常开机

【问题现象】

开机慢,查了下

MING@MING-PC:~$ systemd-analyze
Startup finished in 5.294s (firmware) + 3.209s (loader) + 34.950s (kernel) + 5.565s (userspace) = 49.019s

后来网上查到下面这个帖子,跟我电脑型号一模一样,现象也是一模一样。 是因为兼容性的问题导致启动时候ACPI超时, 发此贴希望高手看看除了这样重新改参数、重新编译内核,将来有没有可能原生就能降低这个参数配置呢?不然太麻烦了。而且我操作到最后编译完成,准备安装的时候还是报了些错,先放弃了,以后空了再研究。

sudo make modules_install install

《修改 Linux 内核使系统启动时间缩短约 30 秒》

https://www.debuggerx.com/2021/07/07/Modify-the-linux-kernel-to-reduce-the-boot-speed-by-about-30-seconds/?from=bili

Reply Favorite View the author
All Replies
pipigo
deepin
2022-09-11 21:52
#1

你这配置就是不敢他也很快

Reply View the author
海豚湾
deepin
2022-09-11 22:54
#2
pipigo

你这配置就是不敢他也很快

是的,目前还能忍受50秒开机,问题不大。就是钻研下原因呵呵。 我相信没道理比Win慢,网上一查果然有猫腻呵呵。

Reply View the author
deepin-chinaren
deepin
2022-09-11 23:41
#3

有没有自己改的详细过程,让大家学习学习。

Reply View the author
deepin-chinaren
deepin
2022-09-11 23:44
#4

网络适配器 : Wi-Fi 6 AX200这个网卡的驱动在那里下的?如果有能不能发出来呀?

Reply View the author
海豚湾
deepin
2022-09-11 23:46
#5
deepin-chinaren

有没有自己改的详细过程,让大家学习学习。

这个帖子链接里的大神步骤是对的,我严格按他步骤,七七八八也差不多了。编译也成功了,就到了最后一步安装编译后的内核报了些错,然后重启用新版本自编译内核后,能进系统,速度也明显快了,但是系统很多地方不正常了,呵呵,我空了再研究研究报错的地方要如何处理。

Reply View the author
ljq790615
deepin
2022-09-12 01:34
#6

Startup finished in 11.167s (firmware) + 3.063s (loader) + 4.052s (kernel) + 7.914s (userspace) = 26.197s

Reply View the author
海豚湾
deepin
2022-09-12 03:07
#7
ljq790615

Startup finished in 11.167s (firmware) + 3.063s (loader) + 4.052s (kernel) + 7.914s (userspace) = 26.197s

你这个是比较正常的时间

Reply View the author
jiutian123
deepin
2022-09-12 05:26
#8

Startup finished in 4.918s (kernel) + 4.801s (userspace) = 9.720s
graphical.target reached after 4.790s in userspace

deepin v23 目前开机速度不错

Reply View the author
新手小白
deepin
2022-09-12 05:46
#9
It has been deleted!
foxbcd
deepin
2022-09-12 06:54
#10

Startup finished in 5.389s (firmware) + 269ms (loader) + 2.483s (kernel) + 1.529s (initrd) + 3.018s (userspace) = 12.690s

你这 kernel 34 秒,多少是有点问题的

你可以 sudo dmeg 看看有什么问题

Reply View the author
foxbcd
deepin
2022-09-12 06:56
#11

我之前用 arch 开机是 7 秒的

Reply View the author
海豚湾
deepin
2022-09-12 15:07
#12
foxbcd

Startup finished in 5.389s (firmware) + 269ms (loader) + 2.483s (kernel) + 1.529s (initrd) + 3.018s (userspace) = 12.690s

你这 kernel 34 秒,多少是有点问题的

你可以 sudo dmeg 看看有什么问题

是的,问题已基本知道了,变通的解决方案也知道了,就是弄起来麻烦。

Reply View the author
deepin-chinaren
deepin
2022-09-12 19:23
#13
It has been deleted!
deepin-chinaren
deepin
2022-09-12 19:24
#14

Startup finished in 16.550s (kernel) + 2min 92ms (userspace) = 2min 16.643s
graphical.target reached after 2min 64ms in userspace

Reply View the author
Comments
海豚湾
2022-09-12 20:18
你这个肯定有问题哎
DebuggerX
deepin
2022-09-13 23:08
#15

我现在是利用github action自动修改源码编译内核为deb包,所以只要在

https://github.com/debuggerx01/kernel_deb_builder/actions

选最新的任务,然后下载编译好的 artifact ,解压后用 sudo dpkg -i linux-headers* linux-image* 安装就好了。

不过我是基于UOS弄的,不知道 deepin 能不能用。

所以如果没啥要求的话,直接重装系统,用最新的 UOS 家庭版,然后再用我编译好的内核 deb 包就行了

Reply View the author
海豚湾
deepin
2022-09-14 03:54
#16
DebuggerX

我现在是利用github action自动修改源码编译内核为deb包,所以只要在

https://github.com/debuggerx01/kernel_deb_builder/actions

选最新的任务,然后下载编译好的 artifact ,解压后用 sudo dpkg -i linux-headers* linux-image* 安装就好了。

不过我是基于UOS弄的,不知道 deepin 能不能用。

所以如果没啥要求的话,直接重装系统,用最新的 UOS 家庭版,然后再用我编译好的内核 deb 包就行了

感谢朋友,我直接在Deppin里运行里你的Deb包,安装的时候提示会降级到5.10内核,我此前是5.18

不过启动的时候选高级选项会多出来一个5.10内核,选择这个内核启动的确是可行的,没那30秒问题了。

请教下:

1.如果我要默认进这个5.10内核如何设置?

2.这个所谓的5.10内核难道是你这里UOS的内核?

Reply View the author
海豚湾
deepin
2022-09-14 06:26
#17
海豚湾

感谢朋友,我直接在Deppin里运行里你的Deb包,安装的时候提示会降级到5.10内核,我此前是5.18

不过启动的时候选高级选项会多出来一个5.10内核,选择这个内核启动的确是可行的,没那30秒问题了。

请教下:

1.如果我要默认进这个5.10内核如何设置?

2.这个所谓的5.10内核难道是你这里UOS的内核?

默认进这个降级后的内核5.10的方法我知道了:https://www.cnblogs.com/faberbeta/p/16339288.html#21-%E6%9F%A5%E7%9C%8B%E5%BD%93%E5%89%8D%E5%BC%80%E6%9C%BA%E5%8F%AF%E7%94%A8%E7%9A%84%E5%86%85%E6%A0%B8

请问我要如何做才能像你那样生成我当前内核版本的对应的Deb呢? 应该很复杂吧?

Reply View the author
DebuggerX
deepin
2022-09-14 17:58
#18
海豚湾

默认进这个降级后的内核5.10的方法我知道了:https://www.cnblogs.com/faberbeta/p/16339288.html#21-%E6%9F%A5%E7%9C%8B%E5%BD%93%E5%89%8D%E5%BC%80%E6%9C%BA%E5%8F%AF%E7%94%A8%E7%9A%84%E5%86%85%E6%A0%B8

请问我要如何做才能像你那样生成我当前内核版本的对应的Deb呢? 应该很复杂吧?

修改启动项,设置默认内核等操作,我个人是建议用 grub-customizer 这个图形工具来搞,比较方便直观。

自己生成内核的方法步骤,我在博客已经写的挺详细了: https://www.debuggerx.com/2021/08/17/Using-github-actions-to-build-kernel-deb-packages/#%E5%88%A9%E7%94%A8-GitHub-Actions-%E8%87%AA%E5%8A%A8%E7%BC%96%E8%AF%91

github仓库也有操作说明:https://github.com/debuggerx01/kernel_deb_builder

Reply View the author
海豚湾
deepin
2022-09-14 20:20
#19
DebuggerX

修改启动项,设置默认内核等操作,我个人是建议用 grub-customizer 这个图形工具来搞,比较方便直观。

自己生成内核的方法步骤,我在博客已经写的挺详细了: https://www.debuggerx.com/2021/08/17/Using-github-actions-to-build-kernel-deb-packages/#%E5%88%A9%E7%94%A8-GitHub-Actions-%E8%87%AA%E5%8A%A8%E7%BC%96%E8%AF%91

github仓库也有操作说明:https://github.com/debuggerx01/kernel_deb_builder

太感谢!!kissing_heart

Reply View the author
海豚湾
deepin
2022-09-18 17:37
#20

再次感谢 @DebuggerX 兄弟,用他的方案搞定了,生成根据深度配置的内核。

优化前:

Startup finished in 5.294s (firmware) + 3.209s (loader) + 34.950s (kernel) + 5.565s (userspace) = 49.019s

优化后:

Startup finished in 4.350s (firmware) + 3.252s (loader) + 5.011s (kernel) + 6.830s (userspace) = 19.445s

有类似问题的朋友需要的可以去下载:

5.18.4内核-TIMEOUT=3

5.19.9内核-TIMEOUT=0

Reply View the author