经过一个多月的努力,幽兰的第二个镜像终于通过测试,准备发布了。这个镜像的最大变化是把ROOTFS(根文件系统)的核心从UBUNTU 20.04升级到22.04。此外,音频的后台服务从PulseAudio升级到了更先进的PipeWire,图形方面,使用了格蠹构建的MESA驱动(Panfrost),调试方面,启用了符号服务器支持,让调试系统代码的效率大大提升。。
1. 根文件系统
ROOTFS升级为UBUNTU 22.04.2 LTS。22.04是UBUNTU最新的LTS(长期支持)版本,于2022年4月份发布,在2023年2月份做过一次更新,更新的版本称为22.04.2,我们此次使用的便是22.04.2。
22.04的开发代号名叫Jammy Jellyfish。Ubuntu习惯用一种动物,加上一个形容词来做开发代号。比如20.04叫Focal Fossa,18.04叫Bionic Beaver。
- ubuntu 22.04.2 LTS (Jammy Jellyfish)
- Ubuntu 20.04.6 LTS (Focal Fossa)
- Ubuntu 18.04.6 LTS (Bionic Beaver)
Jellyfish是水母之意,Jammy的本意是“粘上果酱的”。两个词组合到一起,可能是取名者喜欢吃海蜇这样的可以食用的水母(海蜇是水母的一个分支)。
Jammy有很多新的功能,比如更强大的屏幕截图功能,按PrintScreen后,可以灵活选择截取的区域,截取窗口,或者整个屏幕。
音频方面,Jammy使用了更先进的pipewire软件栈,比之前的PulseAudio具有更强大的音视频流管理能力。
详细描述可以参考官网上的描述。
https://ubuntu.com/blog/ubuntu-22-04-lts-whats-new-linux-desktop
2. 图形方面
鹤鸣2镜像使用了格蠹构建的MESA驱动,可以让更多的应用程序使用GPU的硬件加速能力。
(注释:运行glxinfo前,请先运行sudo apt install mesa-utils)
glxinfo
name of display: localhost:10.0
display: localhost:10 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
3. 调试方面
本版镜像自动启用了符号服务器(debuginfod)支持,当使用gdb调试时,gdb会询问Enable debuginfod for this session? (y or [n]),回答y后,gdb便会自动从Ubuntu的符号服务器下载调试符号。
gdb ls
GNU gdb (Ubuntu 12.1-0ubuntu1~22.04) 12.1
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ls...
This GDB supports auto-downloading debuginfo from the following URLs:
https://debuginfod.ubuntu.com
Enable debuginfod for this session? (y or [n])
4. 帮助信息
考虑到经过最小化处理的Ubuntu发行版(minimized)缺少一些对程序员来说很重要的功能(比如man),因此本版镜像不再是minimized,我们已经做过unminimize操作。也因为此,大家更新后,便可以使用man命令来查阅文字优雅,内容详实的技术手册,比如man pthread_create。
5. 取消手动更新内容
把上一版本需要手工执行的update操作,集成到镜像中。因为此,大家更新镜像后,不需要再额外下载和执行update脚本。
6. 系统可观测性
- 应兰友要求,打开了更多用于支持调试或者调优(eBPF和内核追踪)的内核选项,比如:
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_GENERIC_TRACER=y
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
CONFIG_STACK_TRACER=y
CONFIG_IRQSOFF_TRACER=y
CONFIG_SCHED_TRACER=y
CONFIG_HWLAT_TRACER=y
CONFIG_TRACER_SNAPSHOT=y
CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y
7. USB Phy
修正了USB PHY驱动因为长时间持有锁而引起的内核告警问题。
8. OPP
将6.1内核的OPP(Operating Performance Points)模块反向移植到幽兰使用的5.10内核。OPP是LINUX内核中动态平衡硬件频率和电力供应的基础模块,将OPP升级是为了下一步升级其它内核驱动(比如GPU)做准备。
9. 葫芦娃
对葫芦娃小程序做了改进,修正了图标显示等问题。
最后编辑:admin 更新时间:2024-12-20 17:01