Issue
For some time I have had a separate /boot partition which was too small. I decided to get rid of it and put everything into / partition. After removing /boot partition by hands and suddenly corrupting a partition with GPT table information, I managed to recover GPT table and grub. Before all of this I was booting kernel 5.8.0-55-generic on my Ubuntu.
After all that recovery I can't boot normally with any kernel (I tested various kernels from 5.4 to 5.13, including old one 5.8.0-55). It says
[Firmware bug]: TSC_DEADLINE disabled due to Errata please update microcode to version: 0x22 (or later)
For me the fact that every kernel says that is strange. I tried to remove switches splash
and quiet
from kernel command line and I get https://i.ibb.co/M8CVc81/photo-2021-11-13-20-20-52.jpg I don't what it means or is it really important.
So, I decided to boot in recovery modes and succeeded. It looks like adding single nomodeset
switch make system bootable. (But I don't want to live with it because my radeon drivers are not working). There I can collect the4 following information
➜ cat /proc/cpuinfo|head -n 10
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
stepping : 3
microcode : 0x19
cpu MHz : 800.000
cache size : 6144 KB
physical id : 0
log if microcode-related output
➜ sudo dmesg|grep microcode
[sudo] password for kakadu:
281:[ 0.051517] [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x22 (or later)
373:[ 0.137450] TAA: Vulnerable: Clear CPU buffers attempted, no microcode
374:[ 0.137451] SRBDS: Vulnerable: No microcode
375:[ 0.137452] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
758:[ 1.835650] microcode: sig=0x306c3, pf=0x2, revision=0x19
759:[ 1.835708] microcode: Microcode Update Driver: v2.2
I tried to reinstall package intel-microcode and reboot to the kernel version where it planned to apply update but nothing changed. Then I started to looking which version of microcode is last for my CPU.
➜ intel-ucode pwd
/lib/firmware/intel-ucode
➜ intel-ucode find . -type f -exec sh -c "echo {} && iucode_tool -l {} | /bin/grep -wF sig" \; | /bin/grep 0019 -B 1
./06-3f-04.initramfs
001/001: sig 0x000306f4, pf_mask 0x80, 2021-02-05, rev 0x0019, size 19456
--
./06-56-04
001/001: sig 0x00050664, pf_mask 0x10, 2021-02-04, rev 0xf000019, size 24576
➜ intel-ucode ls 06-3f-* -1
06-3f-02.initramfs
06-3f-04.initramfs
According to https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/main/intel-ucode it seems that 06-3f-04 released in June 2021 is indeed last for my CPU. Now, I'm stuck.
So, questions:
- Why
nomodeset
helps to ignore complain about microcode? - Is
06-3f-04
indeed latest microcode for my i5-4570 ? - How to fix "TSC_DEADLINE disabled due to Errata please update microcode to version: 0x22 (or later)"? Could it be hardware issue?
Solution
When I recovered GPT table of my disk, it recovered also old /boot partition with old kernel. I checked cheksums of this kernel and a kernel of the same version in my / partition and they were different. So, I decided to do a fresh installation of Ubuntu in another partition because my old one looks corrupted.
Answered By - Kakadu