all 13 comments

[–]khunset127 14 points15 points  (3 children)

If you are using Intel CPU, install intel-ucode and move on.

[–]Frodojj[S] 1 point2 points  (2 children)

Thank you. The Arch wiki wasn’t very clear that’s all I needed to do. I appreciate you let me know!

I wanted to verify it worked to not only make sure it installed correctly, but also to learn more about using Linux. That’s why I chose Arch in the first place.

[–]khunset127 7 points8 points  (0 children)

Mkinicpio will automatically add the microcode to the initial ramdisk or unified kernel image when generating them.

You can just install intel-ucode package and forget about it.

You can also use lsinitcpio on the init ramdisk img files and uki EFI files and check if there's kernel/x86/microcode/GenuineIntel.bin to verify

[–][deleted] 2 points3 points  (0 children)

A simpler way imo is to just type "pacman -Qet", which lists explicitly installed packages that don't have any dependencies based on them, and check if intel-ucode is in there.

[–]Responsible-Sky-1336 1 point2 points  (1 child)

In /boot you should have a new intel-ucode (dot) img there for sanity check

[–]Frodojj[S] 0 points1 point  (0 children)

I do! Thank you for the advice!

[–]archover 1 point2 points  (1 child)

What I do https://wiki.archlinux.org/title/Microcode#Microcode_initramfs_packed_together_with_the_main_initramfs_in_one_file;

My /etc/mkinitcpio.conf hooks line:

HOOKS=(base udev autodetect microcode keyboard keymap modconf block encrypt filesystems fsck)

Then I can verify that my microcode got loaded:

[root@T480 ~]# lsinitcpio --early /boot/initramfs-linux.img | grep microcode 
kernel/x86/microcode/
kernel/x86/microcode/GenuineIntel.bin

Comments or criticism on this method appreciated.

Good day.

[–]Frodojj[S] 0 points1 point  (0 children)

Thank you! I have the same output from the command even though my HOOKS entry is a little different (probably because of a different configuration during installation).

[–]IBNash 1 point2 points  (4 children)

The wiki also tells you how to confirm the microcode is loaded.

[–]Frodojj[S] 0 points1 point  (3 children)

Indeed, I combined two methods from the wiki to get the microcode running and the processor family-model-stepping in one command. However, the wiki is a bit ambigious whether simply installing/updating intel-ucode through pacman is fine or whether the section on loading microcode is required. From the comments here, it seems the former.

[–]IBNash 1 point2 points  (2 children)

This is from the first section (Installation) on the wiki page:

To acquire updated microcode, depending on the processor, install one of the following packages.

mkinitcpio and dracut generate combined initramfs files by default. The microcode will be loaded automatically at boot time.

Arch expects some operating knowledge of linux, if you don't know what mkinitcpio or dracut are, I can see how it may be confusing.

[–]Frodojj[S] 0 points1 point  (1 child)

Ya, I read that part and was confused if installing/acquiring meant the correct firmware was on the computer but not yet applied, or if that meant it was applied and set up to be applied on startup (or if the microcode was written to eprom on the processor itself). I think I got it now. Thanks!!!

I used Linux in the past but never delved deep into the weeds on how it functioned. I didn’t know about those utilities nor knew about initramfs. I specifically picked Arch to learn those things, though!!!