Re: Why is CONFIG_VT forced on?

From: Rob Landley
Date: Mon Dec 30 2019 - 21:02:27 EST




On 12/30/19 7:45 PM, Rob Landley wrote:
> On 12/30/19 6:59 PM, Randy Dunlap wrote:
>> #
>> # Character devices
>> #
>> CONFIG_TTY=y
>> # CONFIG_VT is not set
>>
>> But first you must set/enable EXPERT. See the bool prompt.
>
> Wait, the if doesn't _disable_ the symbol? It disables _editability_ of the
> symbol, but the symbol can still be on (and displayed) when the if is false?
> (Why would...)
>
> Ok. Thanks for pointing that out. Any idea why the menuconfig help text has no
> mention of this?

So if I disable CONFIG_EXPERT, using miniconfig I then need to manually switch on:

./init/Kconfig: bool "Namespaces support" if EXPERT
./init/Kconfig: bool "Multiple users, groups and capabilities support" if EXPERT
./init/Kconfig: bool "Sysfs syscall support" if EXPERT
./init/Kconfig: bool "open by fhandle syscalls" if EXPERT
./init/Kconfig: bool "Posix Clocks & timers" if EXPERT
./init/Kconfig: bool "Enable support for printk" if EXPERT
./init/Kconfig: bool "BUG() support" if EXPERT
./init/Kconfig: bool "Enable ELF core dumps" if EXPERT
./init/Kconfig: bool "Enable full-sized data structures for core" if EXPERT
./init/Kconfig: bool "Enable futex support" if EXPERT
./init/Kconfig: bool "Enable eventpoll support" if EXPERT
./init/Kconfig: bool "Enable signalfd() system call" if EXPERT
./init/Kconfig: bool "Enable timerfd() system call" if EXPERT
./init/Kconfig: bool "Enable eventfd() system call" if EXPERT
./init/Kconfig: bool "Use full shmem filesystem" if EXPERT
./init/Kconfig: bool "Enable AIO support" if EXPERT
./init/Kconfig: bool "Enable IO uring support" if EXPERT
./init/Kconfig: bool "Enable madvise/fadvise syscalls" if EXPERT
./init/Kconfig: bool "Enable membarrier() system call" if EXPERT
./init/Kconfig: bool "Load all symbols for debugging/ksymoops" if EXPERT
./init/Kconfig: bool "Enable rseq() system call" if EXPERT
./init/Kconfig: bool "Enabled debugging of rseq() system call" if EXPERT
./init/Kconfig: bool "PC/104 support" if EXPERT
./init/Kconfig: bool "Enable VM event counters for /proc/vmstat" if EXPERT

plus of course

./arch/x86/Kconfig.cpu: bool "Supported processor vendors" if EXPERT
./arch/x86/Kconfig: bool "DMA memory allocation support" if EXPERT
./arch/x86/Kconfig: bool "Enable DMI scanning" if EXPERT
./arch/x86/Kconfig: bool "Enable support for 16-bit segments" if EXPERT
./arch/x86/Kconfig: bool "Enable vsyscall emulation" if EXPERT
./arch/x86/Kconfig: bool "Enable the LDT (local descriptor table)" if EXPERT
./arch/x86/Kconfig: bool "Read CNB20LE Host Bridge Windows" if EXPERT
./arch/x86/Kconfig: bool "ISA bus support on modern systems" if EXPERT
./arch/x86/Kconfig: bool "ISA-style DMA support" if (X86_64 && EXPERT)

So nobody noticed you have a structural "this config option actually switches
this thing _off_" implemented via magic symbol then?

I think the right fix here involves running sed after kconfig does its thing...

Rob