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.

  • Strit@lemmy.linuxuserspace.show
    link
    fedilink
    arrow-up
    4
    ·
    8 months ago

    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?

    • d3Xt3r@lemmy.nzOP
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      8 months ago

      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.

      • Strit@lemmy.linuxuserspace.show
        link
        fedilink
        arrow-up
        2
        ·
        8 months ago

        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.

        • d3Xt3r@lemmy.nzOP
          link
          fedilink
          arrow-up
          5
          arrow-down
          1
          ·
          8 months ago

          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.

          • Strit@lemmy.linuxuserspace.show
            link
            fedilink
            arrow-up
            3
            ·
            8 months ago

            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. :)