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.

  • Malix
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    10 months ago

    I might have missed something VERY obvious - I did skim through check the mkinitcpio, grub and microcode wikipages - but just merging .pacnew to current config (mkinitcpio, grub defaults), mkinitcpio -p linux and grub-mkconfig -o /boot/grub/grub.cfg, newly created grub.conf still had intel-ucode on the initrd -line. This happened on both machines I have atm.

    Arch forums had the magic words here: https://bbs.archlinux.org/viewtopic.php?pid=2154769#p2154769

    Add this line to /etc/default/grub then regenerate grub.cfg:

    GRUB_EARLY_INITRD_LINUX_STOCK=''

    and then my grub.cfg generated fine without the intel-ucode, and after rebooting dmesg seems to indicate the new method works fine

    [    0.314430] microcode: Current revision: 0x0000002f
    [    0.314433] microcode: Updated early from: 0x00000014
    

    Always something :P