- cross-posted to:
- arch
- cross-posted to:
- arch
With the release of mkinitcpio v38, several hooks previously provided by Arch packages have been moved to the mkinitcpio upstream project. The hooks are: systemd, udev, encrypt, sd-encrypt, lvm2 and mdadm_udev.
To ensure no breakage of users’ setup occurs, temporary conflicts have been introduced into the respective packages to prevent installing packages that are no longer compatible.
The following packages needs to be upgraded together:
- mkinitcpio 38-3
- systemd 255.4-2
- lvm2 2.03.23-3
- mdadm 4.3-2
- cryptsetup 2.7.0-3
Please note that the mkinitcpio flag --microcode, and the microcode option in the preset files, has been deprecated in favour of a new microcode hook. This also allows you to drop the microcode initrd lines from your boot configuration as they are now packed together with the main initramfs image.
As I read the announcement it sounds like you only need to do changes if you setup early-microcode stuff. So if you have a completely standard install, no changes would be needed other than updating packages.
Am I wrong in this?
It’s the other way round. Early-loading is the default and in fact late-loading doesn’t even work on stock Arch kernels, because it requires the kernel to be built with that config option enabled. So any “standard” install would be taking about early-loading microcode, so this should be applicable to you as well.
Okay. But they do state in the announcement, that to ensure that no breaking occurs, they introduced some conflicts. So even if I just update packages, I should get my system up and running and be able to make any changes when they are required?
They don’t mention anywhere that manual intervention is required for this update.
So there’s two parts to this announcement. The first one deals with the upstreaming of modules and the resultant conflicts with the Arch packaged versions - this was solved by Arch upstream by introducing conflicts. In this case, you don’t need to do anything.
The second part is about the microcode loading, where the old method of loading the microcode is deprecated, in favor of the new method (ie making it part of your main initrd). Now it’s just deprecated, so you don’t have to take any action either, but if you don’t, you’ll see annoying warning messages from mkinitcpio, whenever your kernel/initrd gets updated. But eventually, the legacy option will go away, and you’ll be forced to take action. So might as well do it now, because Arch ain’t going to do it for you in the future.
Ah, that’s good to hear. So my system will come back up, it will just complain until I do these microcode changes.
So your post/comment was just being preemptive of future changes. :)