默认情况下,Arch Linux 开机会展示 Linux 内核和 systemd 的日志。尽管出现问题时用这些日志排查很有用,但是每次开机,都看到一堆文字滚动,夹杂着几个报错(没有内核签名啊,无法更新钥匙环啊),还是不大舒服。
Fedora 的开发者照着 Windows 和 macOS,搞了个 Plymouth:它可以像这几个操作系统一样,显示开机画面。正好词元之前换到了 systemd-boot,可以默认禁用菜单,开机过程更加简洁了;现在再关掉日志,看起来也更舒服些。
那今天,就来装个 Plymouth 玩玩。
👄 安装 Plymouth
由于 Plymouth 已经进入 freedesktop.org 的官方资源,安装非常简单:
|
|
然后,为了让内核和 systemd 在启动时不要显示日志,需要修改一下内核参数。您如果使用 systemd-boot,可以修改启动条目 /boot/loader/entries/*.conf
,在内核参数末尾添加:
options ... splash quiet
若您还是会看见一些日志,那是因为 dmesg
显示了一些它认为“重要”的日志。添加或修改日志等级即可:
options ... loglevel=3
0
是最严重的错误,而 7
是调试信息,3
基本上就是只显示报错。
您当然也可以复制一份条目,然后删除 splash
和 quiet
并填写 loglevel=7
,添加参数 plymouth.enable=0 disablehooks=plymouth
禁用 Plymouth,作为调试启动参数。
您还需要将 Plymouth 添加到 mkinitcpio
的生成参数里,以便生成包含 Plymouth 的 initramfs
。编辑 /etc/mkinitcpio.conf
,找到以下行:
HOOKS=(...)
在括号中添加 plymouth
,记得与其他项目中间有空格。
如果括号中包含 systemd
,您必须在它后面添加;如果您使用硬盘加密,您必须保证在 encrypt
或者 sd-encrypt
之前添加(这样才能使用 Plymouth 的密码界面)。
安装完成后,重新生成 initramfs
:
|
|
重新启动,并享受您的启动界面吧 🎉
🔧 小调整
如果您的显示器是 HiDPI 的,您可能需要调整缩放比例。
修改 /etc/plymouth/plymouth.conf
,添加或修改:
[Daemon]
...
DeviceScale=2
这里仅支持整数缩放。
至于主题设定,请自行查看 Wiki。词元觉得默认的 bgrt
的 OEM 标志就挺好。
另外一个小小的调整就是,词元用 Windows 的时候,主板的徽标显示是和操作系统连在一起的。尤其是词元的小米笔记本,开机显示徽标有个很漂亮的动画。
如果您使用 GRUB 这就没戏了:GRUB 会加载自己的显示驱动(而非 UEFI 帧缓冲区),因此即使您禁用了菜单,一定会有一小段黑屏。但如果您使用原生 EFI 应用程序 systemd-boot,添加以下内核参数:
plymouth.use-simpledrm
启用 SimpleDRM 即可。据说在 AMD 显卡的机器上显示更好,但在词元这儿似乎没用——还是有一段黑屏。
顺便说一句,关机的时候也有 Plymouth 的界面。
🎆 下课
又花里胡哨了一点呢。
啊对了,这则博客的封面图是普利茅斯(Plymouth)市的风景。