Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 744700 - sys-kernel/genkernel-4.1.2-r3: Depracated option "CONFIG_MICROCODE_OLD_INTERFACE" forcedly set
Summary: sys-kernel/genkernel-4.1.2-r3: Depracated option "CONFIG_MICROCODE_OLD_INTERF...
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: genkernel (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Genkernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-25 16:55 UTC by Thibaud CANALE
Modified: 2020-09-25 18:01 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
genkernel.log (gzip) (genkernel.log.gz,3.20 KB, application/gzip)
2020-09-25 16:55 UTC, Thibaud CANALE
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thibaud CANALE 2020-09-25 16:55:04 UTC
Created attachment 662455 [details]
genkernel.log (gzip)

Hello,

Genkernel forcedly set the kernel option "CONFIG_MICROCODE_OLD_INTERFACE" even when the documentation says it’s deprecated and shouldn’t be set.
> CONFIG_MICROCODE_OLD_INTERFACE:
> DO NOT USE THIS! This is the ancient /dev/cpu/microcode interface
> which was used by userspace tools like iucode_tool and microcode.ctl.
> It is inadequate because it runs too late to be able to properly
> load microcode on a machine and it needs special tools. Instead, you
> should've switched to the early loading method with the initrd or
> builtin microcode by now: Documentation/x86/microcode.rst

Inside /var/log/genkernel.log:
> *         >> Ensure that required kernel options for early microcode loading support are set ...
> *                  - Option 'CONFIG_MICROCODE=y' already set in '/usr/src/linux/.config'; Skipping ...
> *                  - Setting option 'CONFIG_MICROCODE_OLD_INTERFACE' to 'y' in '/usr/src/linux/.config'...
> *                  - Option 'CONFIG_MICROCODE_AMD=y' already set in '/usr/src/linux/.config'; Skipping ...

Could it be possible to not force it? Better if we could tell genkernel to not modify the .config files, and instead should print required options then stop before doing further actions.

Please see genkernel log as attachment (gzip format).
Comment 1 Thomas Deutschmann (RETIRED) gentoo-dev 2020-09-25 17:24:16 UTC
No. When you ask genkernel to add/enable support for micocode update that's the trade off: There are still kernels and processors in use which will require the old interface and because we cannot know if you will require old interface we are enabling it.

The interface itself won't hurt anyone.

It's same like telling genkernel to add/enable RAID support (--mdadm) which will enable all known RAID levels even if you are only using RAID level 1. Or --luks which will enable multiple ciphers...

Before switching to UDEV, we were even blindly loading all modules on boot. UDEV allows us that we can now detect, "This is RAID X" and system would just load the required module.

Sure there was the idea to provide an option which will disable kernel config modifications. But this would include disabling checks. And see your ZSTD bug: Don't get me wrong but I am very sure you would have filed an angry bug against genkernel once you learned your system didn't boot anymore because we compressed initramfs using ZSTD you asked for but your kernel isn't capable of decompression ZSTD...
Comment 2 Thibaud CANALE 2020-09-25 18:01:22 UTC
Why an “angry bug [report]”? I repeat, the idea is genkernel to “instead print required options then stop before doing further actions”.
I don’t understand why disabling .config file modifications “would include disabling checks”. How does genkernel work?

About the main issue, the “CONFIG_MICROCODE_OLD_INTERFACE”, your answer is odd because genkernel is the one providing the microcode at boot. Hence we wouldn’t require it after this, or it would be inadequate as the kernel’s documentation says. I guess it should be tried.