用 Plymouth 替换开机日志

默认情况下,Arch Linux 开机会展示 Linux 内核和 systemd 的日志。尽管出现问题时用这些日志排查很有用,但是每次开机,都看到一堆文字滚动,夹杂着几个报错(没有内核签名啊,无法更新钥匙环啊),还是不大舒服。 Fedora 的开发者照着 Windows 和 macOS,搞了个 Plymouth:它可以像这几个操作系统一样,显示开机画面。正好词元之前换到了 systemd-boot,可以默认禁用菜单,开机过程更加简洁了;现在再关掉日志,看起来也更舒服些。 那今天,就来装个 Plymouth 玩玩。 👄 安装 Plymouth 由于 Plymouth 已经进入 freedesktop.org 的官方资源,安装非常简单: 1 sudo pacman -S plymouth 然后,为了让内核和 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,找到以下行: ...

February 1, 2025 · 1 min · 130 words · 词元

用 systemd-boot 替换 GRUB

systemd-boot 是一个易于配置的 UEFI 启动引导管理器。相比于更加常见的 GNU GRUB,它有以下优缺点: 轻量灵活,功能和界面都很精简,配置文件很好写(GRUB 的配置文件甚至需要 grub-mkconfig 转译)。 是一个原生的 EFI 应用程序,只使用固件功能。这导致了下一条的功能缺失。 缺乏 GRUB 的一些功能,例如不支持主题、不支持文件系统读写(FAT 等 EFI 固件支持的除外);对于 BTRFS 用户来说,还不支持直接从 BTRFS 子卷启动(只能写内核参数)。 似乎有些同学认为 systemd-boot 界面比 GRUB 好看。 对词元来说,由于不需要 Windows 双启动,也不怎么使用 BTRFS 子卷启动的功能,systemd-boot 的功能足矣。因此,今天就来删掉 GRUB,安装 systemd-boot。 📦 安装 systemd-boot 在 Arch Linux 上,systemd-boot 是 systemd 的依赖,而后者又是 base 包组的依赖,因此您应当已经安装了 systemd-boot,可以通过 bootctl 配置。 首先,将 systemd-boot 安装到 /boot: 1 sudo bootctl install systemd-boot 默认您的 ESP 分区是 /boot、/boot/efi 或 /efi。 如果您的输出中包括以下警告: ...

January 31, 2025 · 2 min · 350 words · 词元