修复 ArchLinux 升级 mkinitcpio 到 38 产生的 warning
我几乎每天都要 pacman -Syu ,有时候一天一次,有时候一天好几次,每天至少一次,不整一下浑身难受。最近升级总是有 Warning:
1 | [2024-03-05T07:43:07+0800] [ALPM] running '90-mkinitcpio-install.hook'... |
尝试解决
好象是让我把 /etc/mkinitcpio.d/linux-zen.preset 里的 ALL_microcode 改成 microcode ,但说实话我不敢直接改,去看 /var/log/pacman.log 的话最早出现这个 Warning 时前面还有一段:
1 | [2024-03-05T07:41:42+0800] [ALPM] warning: /etc/mkinitcpio.conf installed as /etc/mkinitcpio.conf.pacnew |
TL;DR /etc/mkinitcpio.conf.pacnew 里面多了一些注释, HOOKS 里面多了一项 microcode ,照着 /etc/mkinitcpio.conf.pacnew 改了改之后去看了 mkinitcpio - ArchLinux 文档,发现 /etc/mkinitcpio.d/linux*.preset 是安装比如 linux, linux-lts, linux-zen 之类的内核之后通过 Pacman Hook 自动生成的,所以我把之前的 /etc/mkinitcpio.d/linux-zen.preset 备份后删除了,然后重新安装了一下 linux-zen ,一份新的 /etc/mkinitcpio.d/linux-zen.preset 确实被生成了,对比一下就是把之前的 ALL_microcode 直接删除了。
总结
再生成 Initramfs 就不会再产生这种 Warning 了,总结一下这种 Warning 的修复方式就是照着 /etc/mkinitcpio.conf.pacnew 把之前的 /etc/mkinitcpio.conf 改一下,然后把 /etc/mkinitcpio.d/linux*.preset 里的 ALL_microcode 一行删掉。