在我的 amd5700g 上安装了一个 ubuntu22.04 Desktop
发现 linux 内核版本是 6.2.0
╭─pon@amd5700g ~/Downloads
╰─➤
* History restored
.-/+oossssoo+/-. pon@amd5700g
`:+ssssssssssssssssss+:` ------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 22.04.3 LTS x86_64
.ossssssssssssssssssdMMMNysssso. Host: MS-7B89 1.0
/ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 6.2.0-26-generic
+ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 48 secs
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 2345 (dpkg), 31 (snap)
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: zsh 5.8.1
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Resolution: 3840x2160
ossyNMMMNyMMhsssssssssssssshmmmhssssssso DE: Unity
ossyNMMMNyMMhsssssssssssssshmmmhssssssso WM: Mutter
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ WM Theme: Adwaita
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Theme: Yaru [GTK2/3]
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/ Icons: Yaru [GTK2/3]
+sssssssssdmydMMMMMMMMddddyssssssss+ Terminal: Tabby
/ssssssssssshdmNNNNmyNMMMMhssssss/ CPU: AMD Ryzen 7 5700G with Radeon Graphics (16) @ 3.800GHz
.ossssssssssssssssssdMMMNysssso. GPU: AMD ATI 30:00.0 Cezanne
-+sssssssssssssssssyyyssss+- Memory: 4981MiB / 27939MiB
`:+ssssssssssssssssss+:`
.-/+oossssoo+/-.
但是安装的 ubuntu22.04 Server 版本的 linux 内核是 5.15.0 版本
.-/+oossssoo+/-. ponponon@M60GPU
`:+ssssssssssssssssss+:` -------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 22.04.3 LTS x86_64
.ossssssssssssssssssdMMMNysssso. Host: SYS-1028GR-TRT 123456789
/ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 5.15.0-76-generic
+ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 59 days, 20 hours, 16 mins
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 1414 (dpkg), 4 (snap)
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: zsh 5.8.1
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Resolution: 1024x768
ossyNMMMNyMMhsssssssssssssshmmmhssssssso Terminal: node
ossyNMMMNyMMhsssssssssssssshmmmhssssssso CPU: Intel Xeon E5-2690 v4 (56) @ 3.500GHz
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ GPU: NVIDIA Tesla M60
.ssssssssdMMMNhsssssssssshNMMMdssssssss. GPU: NVIDIA Tesla M60
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/ Memory: 2212MiB / 32016MiB
+sssssssssdmydMMMMMMMMddddyssssssss+
/ssssssssssshdmNNNNmyNMMMMhssssss/
.ossssssssssssssssssdMMMNysssso.
-+sssssssssssssssssyyyssss+-
`:+ssssssssssssssssss+:`
.-/+oossssoo+/-.
这个差异是因为 desktop 和 server 版本引起的吗?
但是从我之前的观察发现,好像即便在同一个 ubuntu 版本下(比如 18、20、22)都是 desktop 或者 server 都可能有不同的 linux 内核版本
ubuntu 的内核版本不固定的吗?
https://ubuntu.com/kernel
ubuntu kernel说明,最新的LTS镜像会安装
-hwe
内核,这个是高版本的内核,通常应该是下个LTS版本使用的内核,每个版本的内核支持时间可以在上述链接找到图文说明。https://ubuntu.com/kernel/lifecycle此外,ubuntu还有其他可用备选内核,参考: https://ubuntu.com/kernel/variants#current-variant-kernels
如果你安装的包是
linux-generic
,就是5.15内核,如果安装的是linux-generic-hwe
,那么当前就是6.2版本内核,以此类推。同理,如果你想对已经运行中的ubuntu实例也用上6.2内核,那么可以安装
linux-generic-hwe
包,卸载掉linux-generic
包就OK了。此外,对于arm架构还有类似于
linux-generic-64k[-hwe-22.04]
这种内核,启用了arm64 64K 页大小。简而言之,如果你从ubuntu官方安装镜像安装,那么对于
x.04
这种原始LTS版本,那么安装的kernel包为linux-generic
,如果安装的是x.04.2
之后的LTS版本,那么通常会安装linux-generic-hwe
kernel.关于
HWE
的说明,也可以参考以下补充参考链接:简单来说,就是Ubuntu认为硬件更新迭代可能比较快,而LTS版本支持时间比较长(已经从20.04版本之前的5年延长到目前的10年支持),所以旧的LTS版本可能无法跟上新硬件的适配,因此Ubuntu搞了个
HWE
包,让旧的LTS版本用上新的LTS版本的内核以便可以在不升级整个OS版本(do-release-upgrade
)的情况下使用新版本的内核,以支持新的硬件