Nic na tom není, jen to zakompiluješ do jádra a necháš pracovat early update driver. Necháš si najít bundle:
# iucode_tool -S -l /lib/firmware/intel-ucode/*
iucode_tool: system has processor(s) with signature 0x000806e9
[...]
microcode bundle 068: /lib/firmware/intel-ucode/06-8e-09
microcode bundle 069: /lib/firmware/intel-ucode/06-8e-0a
[...]
selected microcodes:
068/001: sig 0x000806e9, pf_mask 0xc0, 2018-01-04, rev 0x0080, size 98304
069/001: sig 0x000806ea, pf_mask 0xc0, 2018-01-04, rev 0x0080, size 98304
Pod selected microcodes ti vypíše kompatibilní, tak si jejich cesty v předešlém seznamu vyhledáš podle čísel (68, 69) a dáš do jádra:
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE="intel-ucode/06-8e-09 intel-ucode/06-8e-0a"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
Rebuild, reboot... a pak by to měla být první věc, co jádro udělá:
# dmesg | head -n 1
[ 0.000000] microcode: microcode updated early to revision 0x80, date = <b>2018-01-04</b>
Nevím jistě, ale podle mě tohle není linking, takže to neovlivní GPL status jádra, tj. takové jádro lze dál distribuovat.
Bud jak psal kolega, nebo muzes pouzit i ten iucode-tool (ale obecne je lepsi ten early update pri startu jadra, nicmene pokud uz mas aktualizovany kernel a nechce se ti rebootovat tak je tohle reseni, RH patche automaticky i po pozdejsim updatu zjisti, ze je k dispozici IBRS ):
./iucode-tool -k -S microcode.dat
Vcera jsem to instaloval na nekolik stroju s Centos 7 / RHEL bezproblemu.
Většina distribucí umí "magii", že stačí nainstalovat balíček intel-ucode, který se postará o přidání parametrů do loaderu.
Případně lze přidat nahrávání microcode ručně jako parametr přímo kernelu (stejně jako se předává initramfs) a on se postará o zavedení do procesoru.
initrd=/boot/intel-ucode.img initrd=/boot/initramfs-linux.img
V dmesg se pak objeví hned na začátku:
[ 0.000000] microcode: microcode updated early to revision 0x7, date = 2013-08-20
...jo jo, mám Core i5 co dávno patří do šrotu, takže na něj aktuální mikrokód není.