[Bug 761728] New: mknitrd: microcode module in initrd causes boot hang
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c0 Summary: mknitrd: microcode module in initrd causes boot hang Classification: openSUSE Product: openSUSE 12.2 Version: Factory Platform: Other OS/Version: Other Status: NEW Severity: Major Priority: P5 - None Component: Kernel AssignedTo: mmarek@suse.com ReportedBy: crrodriguez@opensuse.org QAContact: qa-bugs@suse.de Found By: --- Blocker: --- Hi: I just shoot myself in the foot ! ;) steps: - add the microcode module to the initrd /etc/sysconfig/kernel variable INITRD_MODULES - run mkinitrd (have recovery cd handy) - reboot result: Boot hang, module keeps looping forever and ever. Expected result: - either make it work or disallow that module in the initrd. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c1 James Moe <jimoe@sohnen-moe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jimoe@sohnen-moe.com --- Comment #1 from James Moe <jimoe@sohnen-moe.com> 2012-10-30 17:46:28 UTC --- I have a similar issue. Hardware: AMD Athlon II x4 (635), 4GB RAM, Asus m3a78-em motherboard So far two systems (of 5) have shown the tendency to freeze during boot. The freeze occurs immediately after loading the microcode. The chance of a freeze is about 50%. Oct 28 19:47:08 linux kernel: [ 2.268561] [drm] Loading RS780 Microcode ... bunch o' stuff ... Oct 28 19:47:08 linux kernel: [ 4.342778] device fsid 0617578a-edca-4e3b-9100-729ae05c9057 devid 1 transid 57 /dev/sdc7 Oct 28 19:47:08 linux kernel: [ 4.343493] btrfs: disk space caching is enabled Oct 28 19:47:08 linux kernel: [ 7.348880] microcode: CPU0: patch_level=0x00000000 Oct 28 19:47:08 linux kernel: [ 8.280828] btrfs: disk space caching is enabled Oct 28 19:47:08 linux kernel: [ 8.330539] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found Oct 28 19:47:08 linux kernel: [ 8.330541] EDD information not available. Oct 28 19:47:08 linux kernel: [ 8.959184] microcode: CPU0: new patch_level=0x010000c8 Oct 28 19:47:08 linux kernel: [ 8.959198] microcode: CPU1: patch_level=0x00000000 Oct 28 19:47:08 linux kernel: [ 8.959764] microcode: CPU1: new patch_level=0x010000c8 Oct 28 19:47:08 linux kernel: [ 8.959776] microcode: CPU2: patch_level=0x00000000 Oct 28 19:47:08 linux kernel: [ 8.960090] microcode: CPU2: new patch_level=0x010000c8 Oct 28 19:47:08 linux kernel: [ 8.960098] microcode: CPU3: patch_level=0x00000000 Oct 28 19:47:08 linux kernel: [ 8.960341] microcode: CPU3: new patch_level=0x010000c8 Oct 28 19:47:08 linux kernel: [ 8.960380] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba ....[ the boot freezes here when it does freeze (not this time obviously ]... Oct 28 19:47:08 linux kernel: [ 9.076327] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input3 Oct 28 19:47:08 linux kernel: [ 9.076384] ACPI: Power Button [PWRB] Oct 28 19:47:08 linux kernel: [ 9.076481] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input4 Oct 28 19:47:08 linux kernel: [ 9.076544] ACPI: Power Button [PWRF] -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c2 --- Comment #2 from James Moe <jimoe@sohnen-moe.com> 2012-11-07 18:41:13 UTC --- I now have a computer that cannot boot in either normal or failsafe mode, always freezing after the microcode update. Is there a workaround of some sort to prevent the microcode update? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c Michal Marek <mmarek@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|mmarek@suse.com |kernel-maintainers@forge.pr | |ovo.novell.com -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c3 --- Comment #3 from Cristian Rodríguez <crrodriguez@opensuse.org> 2013-03-21 12:52:21 CLT --- (In reply to comment #2)
I now have a computer that cannot boot in either normal or failsafe mode, always freezing after the microcode update. Is there a workaround of some sort to prevent the microcode update?
James, this a a completely different problem to what I mentioned. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c4 --- Comment #4 from Cristian Rodríguez <crrodriguez@opensuse.org> 2013-03-21 12:54:52 CLT --- (In reply to comment #0)
Hi:
I just shoot myself in the foot ! ;)
steps:
- add the microcode module to the initrd /etc/sysconfig/kernel variable INITRD_MODULES
- run mkinitrd (have recovery cd handy)
- reboot
result:
Boot hang, module keeps looping forever and ever.
Expected result:
- either make it work or disallow that module in the initrd.
Now, this is probably moot, what we need is mkinitrd supporting kernel 3.9 's early microcode load.. config MICROCODE_INTEL_EARLY bool "Early load microcode" depends on MICROCODE_INTEL && BLK_DEV_INITRD default y help This option provides functionality to read additional microcode data at the beginning of initrd image. The data tells kernel to load microcode to CPU's as early as possible. No functional change if no microcode data is glued to the initrd, therefore it's safe to say Y. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c Jeff Mahoney <jeffm@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|kernel-maintainers@forge.pr |mmarek@suse.com |ovo.novell.com | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c5 Borislav Petkov <bpetkov@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bpetkov@suse.com --- Comment #5 from Borislav Petkov <bpetkov@suse.com> 2013-07-16 08:22:26 UTC --- Can you guys try the steps at the end of Documentation/x86/early-microcode.txt in the kernel sources? Thanks. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c6 Olaf Hering <ohering@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ohering@suse.com AssignedTo|mmarek@suse.com |bpetkov@suse.com --- Comment #6 from Olaf Hering <ohering@suse.com> 2013-08-08 10:28:58 CEST --- (In reply to comment #0)
Hi:
I just shoot myself in the foot ! ;)
steps:
- add the microcode module to the initrd /etc/sysconfig/kernel variable INITRD_MODULES
Isnt the failure already here? I mean, if a known broken module is added to the list of modules to include in initrd, how is mkinitrd supposed to know this in advance? I'm sure this is not a userland issue. Reassigning to Borislav who knows more about this, and how to proceed. If there is something to be done in mkinitrd, let me know. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c7 --- Comment #7 from Borislav Petkov <bpetkov@suse.com> 2013-08-12 06:50:50 UTC --- Ok, this bugzilla got kinda confusing with all the "me too"s. So, let's start afresh: How exactly do I reproduce this? What machine, what kernel + .config attached, please someone explain in as detailed manner as possible what's going on here? Thanks. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c Borislav Petkov <bpetkov@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |crrodriguez@opensuse.org -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c Olaf Hering <ohering@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|mknitrd: microcode module |microcode module in initrd |in initrd causes boot hang |causes boot hang -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c8 Cristian Rodríguez <crrodriguez@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |crrodriguez@opensuse.org --- Comment #8 from Cristian Rodríguez <crrodriguez@opensuse.org> 2013-08-31 13:31:32 CLT --- OK, let 's set this straight. - The original description of this bug is now a moot point, "microcode" is no longer a module (kernel 3.11-rc has microcode set to y instead of m which is correct) and therefore cannot be added to initrd_modules or whatever. - Now you *really* need to add the microcode files to the initrd, preferable implemented in the "early microcode" form : https://www.kernel.org/doc/Documentation/x86/early-microcode.txt , why ? because the microcode init happens in the kernel * well before* /lib/firmware is available (before filesystems and AHCI init) therefore to get the microcode update applied userspace would have to echo 1 > /sys/devices/system/cpu/microcode/reload. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c Cristian Rodríguez <crrodriguez@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW InfoProvider|crrodriguez@opensuse.org | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c9 --- Comment #9 from Olaf Hering <ohering@suse.com> 2013-09-03 10:03:39 CEST --- (In reply to comment #8)
- Now you *really* need to add the microcode files to the initrd, preferable implemented in the "early microcode" form : https://www.kernel.org/doc/Documentation/x86/early-microcode.txt , why ?
Only Intel can come up with such a process... Anyway, I have not read the kernel code: Are really two cpio archives required or is it enough to have a kernel/x86/microcode directory in the existing cpio archive? To verify this: mkdir /dev/shm/$$ cd $_ zcat /boot/initrd | cpio -i mkdir -vp kernel/x86/microcode cp -avt $_ /some/firmare/file.bin find . ! -name "*~" | cpio -H newc --create | gzip > /boot/initrd.mc If thats really enough, the package which contains the microcode should provide a setup-cpu_microcode.sh to populate the files to the initrd. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c10 --- Comment #10 from Cristian Rodríguez <crrodriguez@opensuse.org> 2013-09-03 11:08:39 CLT --- (In reply to comment #9)
(In reply to comment #8)
- Now you *really* need to add the microcode files to the initrd, preferable implemented in the "early microcode" form : https://www.kernel.org/doc/Documentation/x86/early-microcode.txt , why ?
Only Intel can come up with such a process...
Anyway, I have not read the kernel code: Are really two cpio archives required
at least when using dracut to get an initrd with early microcode working, there seems to be two. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c11 --- Comment #11 from Borislav Petkov <bpetkov@suse.com> 2013-09-04 05:56:07 UTC --- (In reply to comment #10)
(In reply to comment #9)
(In reply to comment #8)
- Now you *really* need to add the microcode files to the initrd, preferable implemented in the "early microcode" form : https://www.kernel.org/doc/Documentation/x86/early-microcode.txt , why ?
Only Intel can come up with such a process...
Right, this is currently the only way you can supply microcode blobs that early in the boot process. If you guys can come up with a better way, I'm all ears.
Anyway, I have not read the kernel code: Are really two cpio archives required
at least when using dracut to get an initrd with early microcode working, there seems to be two.
Actually, you should only need the microcode directory with microcode files in it. Take a look at find_cpio_data(). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c12 Olaf Hering <ohering@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |crrodriguez@opensuse.org --- Comment #12 from Olaf Hering <ohering@suse.com> 2013-09-25 15:10:09 CEST --- (In reply to comment #10)
(In reply to comment #9)
(In reply to comment #8)
- Now you *really* need to add the microcode files to the initrd, preferable implemented in the "early microcode" form : https://www.kernel.org/doc/Documentation/x86/early-microcode.txt , why ?
Only Intel can come up with such a process...
Anyway, I have not read the kernel code: Are really two cpio archives required
at least when using dracut to get an initrd with early microcode working, there seems to be two.
Did you try the suggestion from comment #9? What package contains the microcode anyway? It needs updating to include the mkinitrd.sh scripts. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c13 Dirk Weber <d_werner@gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW CC| |d_werner@gmx.net InfoProvider|crrodriguez@opensuse.org | --- Comment #13 from Dirk Weber <d_werner@gmx.net> 2013-11-22 16:21:00 UTC --- Related to bnc#847158 I tried the procedure from comment #9 with 13.1. It does not work - means the microcode is not updated early, please see details in bnc#847158. In 13.1 the microcode files are in the packages ucode-intel and ucode-amd (bnc#851398 - not installed by zypper dup). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c14 --- Comment #14 from Dirk Weber <d_werner@gmx.net> 2013-11-23 16:00:33 UTC --- (In reply to comment #13)
Related to bnc#847158 I tried the procedure from comment #9 with 13.1. It does not work - means the microcode is not updated early, please see details in bnc#847158.
For clarification: with 13.1 the early microcode update works (I tested with AMD CPUs) when the initrd is created according to https://www.kernel.org/doc/Documentation/x86/early-microcode.txt but it does not work with an initrd created like described in comment #9. It seems combination of 2 cpio archives is indeed necessary. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c15 Olaf Hering <ohering@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|bpetkov@suse.com |ohering@suse.com --- Comment #15 from Olaf Hering <ohering@suse.com> 2013-11-23 20:30:23 CET --- (In reply to comment #14)
It seems combination of 2 cpio archives is indeed necessary.
I will add code to compensate for this strange requirement. Olaf -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c16 Thomas Renninger <trenn@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |trenn@suse.com --- Comment #16 from Thomas Renninger <trenn@suse.com> 2013-11-24 13:13:30 UTC ---
I will add code to compensate for this strange requirement. Please don't. Afaik there isn't any microcode yet, which needs early loading. But there have been the first sever regressions reported:
But early microcode update with a handcrafted initrd (like in comment #11) causes a reboot (everything tested with plain 13.1). So there are still more problems in this area, and just adding the ucodes to the initrd could cause boot problems for users on certain systems. ---------------------- The stuff should be integrated automatically for factory via dracut already. At least for Intel, AMD needs double checking. As this is a new feature introducing sever regressions without any/much benefit, I would not implement this as a maintenance update. Better concentrate that ucode-intel (for Intel) package and kernel-firmware (for AMD) is installed correctly and we should be done. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=761728 https://bugzilla.novell.com/show_bug.cgi?id=761728#c17 Thomas Renninger <trenn@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |WONTFIX --- Comment #17 from Thomas Renninger <trenn@suse.com> 2013-11-24 14:18:04 UTC --- Not sure what to do with this bug. Initially it was about a kernel bug (see title). Now we are at early microcode loading and packager issues. The latter would be a duplicate to bug #847158. I expect that the initial problem:
microcode module in initrd causes boot hang does not happen with latest kernels any more: closing won't fix (for 12.2). If this still does happen, please reopen and adjust distribution (best try with 13.1).
-- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com