On Thu, Nov 26, 2020 at 04:58:17PM -0600, rhubarbpieguy--- via blfs-support wrote:
Dear Mr Pie Guy (since I have no other way to call you), I'm afread such a long detailed post gets a long detailed reply. for some of the minor points I now think I agree with you, but for much of it I think the situation is more complex that what you are initially seeing (and that thought has developed during this reply, so what I say later is built upon, and developed from, my initial reply on autofs. Please read the whole reply before replying to any of it, otherwise I will have wasted 2½ hours. > > autofs > > File systems ---> > <*/M> Kernel automounter version 4 support (also supports v3) > [CONFIG_AUTOFS4_FS] > > I believe Kernel automounter support has no options. Should the above > lines be deleted? > As of 5.9.8 (I forget when it changed) CONFIG_AUTOFS_FS is the new option. In my case, on a fresh tarball it is selected by the old AUTOFS4_FS and it appears that it cannot be disabled or modularized. In the .config I'm using for this machine (updated for 5.9.1) # CONFIG_AUTOFS4_FS is not set CONFIG_AUTOFS_FS=y Looking back at the config for this machine, I have not always saved a new config for a new kernel version in my git tree. In this case, somewhere between 4.20.1 and 5.3.4 CONFIG_AUTOFS got enabled (unsure now if that was automatic or by my choice). Looking at my other machines, AUTOFS is enabled on all of them except for my desktop haswell (again, updated for 5.9.1) which has CONFIG_AUTOFS4_FS=m CONFIG_AUTOFS_FS=m So it looks as if AUTOFS (whether that or AUTOFS4 is the correct item to sepcify, I'm unsure - the 4 variant was supposed to be transitory, or for help in converting old configs - I think) can be a module. Not sure if it can be turned off nowadays (that would be nice, there is so much enabled in modern kernels which I don't need). > File systems ---> > [*] Network File Systems ---> [CONFIG_NETWORK_FILESYSTEMS] > <*/M> NFS client support > [CONFIG_NFS_FS] > <*/M> CIFS support (advanced network filesystem, SMBFS successor) > [CONFIG_CIFS] > > Should CIFS support (advanced network filesystem, SMBFS successor) be > SMB3 and CIFS support (advanced network filesystem)? I guess so. > -------------------------------------------------------------------------------------------------------------- > > > BlueZ > > [*] Networking support ---> [CONFIG_NET] > </M> Bluetooth subsystem support ---> [CONFIG_BT] > > Is </M> correct? Should it be <M>? <*/M>? > No idea. ISTR you have mentioned using bluetooth for input devices ? If so, can you build it in, and if so does it work better as built-in (e.g. easier pairing) or as a module (e.g. sometime need to rmmod and reload if it loses the connection) ? > <*/M> RF switch subsystem support ---> [CONFIG_RFKILL] > > Should RF switch subsystem support ---> be RF switch subsystem support > ----? I don't understand, the words after 'Should' and 'be' look identical to me, maybe you didn't type what you intended ? > > [*] Networking support ---> [CONFIG_NET] > -*- Cryptographic API ---> [CONFIG_CRYPTO] > </M> User-space interface for hash algorithms > [CONFIG_CRYPTO_USER_API_HASH] > </M> User-space interface for symmetric key cipher algorithms > [CONFIG_CRYPTO_USER_API_SKCIPHER] > > I believe Cryptographic API has no options. Could [CONFIG_CRYPTO] be > deleted as in cryptsetup? > On 5.9.8 Cryptographic API has loads of options. Near the bottom are < > User-space interface for hash algorithms (NEW) < > User-space interface for symmetric key cipher algorithms (NEW) > As with the above, should the hash algorithms and key cipher lines be > <M>? <*/M>? > -------------------------------------------------------------------------------------------------------------- > > > lm-sensors > > [*] Enable loadable module support ---> [CONFIG_MODULES] > > Bus options (PCI etc.) ---> > [*] PCI support [CONFIG_PCI] > > Should Enable loadable module support and Bus options be reversed to > follow the order displayed with menuconfig? No idea. Where is MODULES found now ? I assume it is somewhere in General setup, but I can't see it and it seems to be enabled by default. According to the help (which might be out of date), PCI is somewhere under Device Drivers. > > Device Drivers ---> > I2C support ---> > <*/M> I2C device interface [CONFIG_I2C_CHARDEV] > I2C Hardware Bus support ---> > <M> (configure all of them as modules) > <*/M> Hardware Monitoring support ---> [CONFIG_HWMON] > > I believe Hardware Monitoring support has no options. Should it be -*- > Hardware Monitoring Support? If so, could [CONFIG_HWMON] be deleted? Depends on your hardware for whether or not it gets selected: (From the help on a fresh 5.9.8 tree) Symbol: HWMON [=y] │ Type : tristate │ Defined at drivers/hwmon/Kconfig:6 │ Prompt: Hardware Monitoring support │ Depends on: HAS_IOMEM [=y] │ Location: │ (1) -> Device Drivers │ Selected by [y]: │ - EEEPC_LAPTOP [=y] && X86 [=y] && X86_PLATFORM_DEVICES [=y] && ACPI [=y] && INPUT [=y] & (probably scrolled right off my 100-character-wide term) │ Selected by [n]: │ - I8K [=n] │ - HABANA_AI [=n] && PCI [=y] && HAS_IOMEM [=y] │ - DRM_RADEON [=n] && HAS_IOMEM [=y] && DRM [=y] && PCI [=y] && MMU [=y] │ - DRM_AMDGPU [=n] && HAS_IOMEM [=y] && DRM [=y] && PCI [=y] && MMU [=y] │ - THINKPAD_ACPI [=n] && X86 [=y] && X86_PLATFORM_DEVICES [=y] && ACPI [=y] && ACPI_BATTER │ - CPU_HWMON [=n] && MIPS && MIPS_PLATFORM_DEVICES [=n] && MACH_LOONGSON64 │ - NTB_IDT [=n] && NTB [=n] && PCI [=y] │ Implied by [n]: │ - VIDEO_I2C [=n] && MEDIA_SUPPORT [=n] && VIDEO_V4L2 [=n] && I2C [=y] │ But there are lots (more than 100, I would guess) of hwmon drivers which could be built so for me it has a lot of options. > -------------------------------------------------------------------------------------------------------------- > > > UPower > > General Setup ---> > [*] Namespaces support ---> [CONFIG_NAMESPACES] > > I believe Namespaces support has no options. Should it be -*- Namespaces > support? If so, could [CONFIG_NAMESPACES] be deleted? Symbol: NAMESPACES [=y] │ Type : bool │ Defined at init/Kconfig:1123 │ Prompt: Namespaces support │ Depends on: MULTIUSER [=y] │ Visible if: MULTIUSER [=y] && EXPERT [=n] │ Location: │ (1) -> General setup So it is only playable in expert configs (as in "Do you feel lucky?"). But '[*]' is in practice the same as '-*-' isn't it ? > -------------------------------------------------------------------------------------------------------------- > > > Cheese > > Device Drivers ---> > Multimedia support ---> > <*> Cameras/video grabbers support [CONFIG_MEDIA_CAMERA_SUPPORT] > <*> Media USB Adapters ---> [CONFIG_MEDIA_USB_SUPPORT] > > Should the above be: > > Device Drivers ---> > <*> Multimedia support ---> > Media device types ---> > <*> Cameras and video grabbers [CONFIG_MEDIA_CAMERA_SUPPORT] > Media drivers ---> > <*> Media USB Adapters ---> [CONFIG_MEDIA_USB_SUPPORT] > > The documentation implies nothing is to be built as a module. I've no interest in cheese, but again I think there are a number of possible things which can be built as modules, or compiled in, if you enable the above options (or if something else in your config enables them). > -------------------------------------------------------------------------------------------------------------- > > > alsa-lib > > Device Drivers ---> > <*/m> Sound card support ---> [CONFIG_SOUND] > <*/m> Advanced Linux Sound Architecture ---> [CONFIG_SND] > > Should the <*/m>'s above be <*/M> for consistency with the documentation? On reading all of your post, I suppose so if we are using capital M elsewhere. > -------------------------------------------------------------------------------------------------------------- > > > cryptsetup > > Cryptographic API ---> > <*/M> XTS support [CONFIG_CRYPTO_XTS] > <*/M> SHA224 and SHA256 digest algorithm [CONFIG_CRYPTO_SHA256] > > Should Cryptographic API ---> be -*- Cryptographic API --->? > > I believe SHA224 and SHA256 digest algorithm has no options Should the > line be deleted? Again, it is selected by other things, no idea if it can be a module (crypto has a horrible tendency to select new things in each kernel release, for me this is all 'Y'). > -------------------------------------------------------------------------------------------------------------- > > > dosfstools > > File systems ---> > <DOS/FAT/NT Filesystems ---> > > Should <DOS/FAT/NT Filesystems ---> be DOS/FAT/EXFAT/NT Filesystems --->? Yes, I think so (but obviously only the FAT and VFAT options are elevant to dosfstools). > -------------------------------------------------------------------------------------------------------------- > > > About Firmware > > General Setup ---> > [y] Initial RAM filesystem and RAM disk (initramfs/initrd) support > [CONFIG_BLK_DEV_INITRD] > Processor type and features ---> > [y] CPU microcode loading support [CONFIG_MICROCODE] > [y] AMD microcode loading support [CONFIG_MICROCODE_AMD] > > Should the [y]'s above be <*> for consistency with the documentation? I suppose so - 'y' to enable will show as '[*]'. > -------------------------------------------------------------------------------------------------------------- > > > iptables > > [*] Networking support ---> > [CONFIG_NET] > Networking Options ---> > [*] Network packet filtering framework (Netfilter) ---> > [CONFIG_NETFILTER] > [*] Advanced netfilter configuration > [CONFIG_NETFILTER_ADVANCED] > Core Netfilter Configuration ---> > <*/M> Netfilter connection tracking support > [CONFIG_NF_CONNTRACK] > <*/M> Netfilter Xtables support (required for ip_tables) > [CONFIG_NETFILTER_XTABLES] > > I believe Netfilter Xtables support (required for ip_tables) has no > options. Should the line be deleted? No idea, netfilter seems to be in perpetual change. > -------------------------------------------------------------------------------------------------------------- > > > LVM2 > > Kernel hacking ---> > [*] Magic SysRq key [CONFIG_MAGIC_SYSRQ] > > Should the above be: > > Kernel hacking ---> > Generic Kernel Debugging Instruments ---> > [*] Magic SysRq key [CONFIG_MAGIC_SYSRQ] Yes, I think so. > -------------------------------------------------------------------------------------------------------------- > > > qemu > > [*] Virtualization: ---> [CONFIG_VIRTUALIZATION] > <*/M> Kernel-based Virtual Machine (KVM) support [CONFIG_KVM] > <*/M> KVM for Intel processors support [CONFIG_KVM_INTEL] > > Should KVM for Intel processors support be KVM for Intel (and compatible) > processors support? Apparently. > -------------------------------------------------------------------------------------------------------------- > > > Cups > > Device Drivers ---> > <*/M> Parallel port support ---> [CONFIG_PARPORT] > <*/M> PC-style hardware [CONFIG_PARPORT_PC] > Character devices ---> > <*/M> Parallel printer support [CONFIG_PRINTER] > > I see no CONFIG_PRINTER in .config. Can the Character devices and > Parallel printer lines be deleted? I do see CONFIG_USB_PRINTER. The kernel help suggests it is in Device Drivers / Character Devices. It shows up if you enable (or modularize) PARPORT_PC < > Parallel printer support (NEW) > -------------------------------------------------------------------------------------------------------------- > > > libevdev > > Device Drivers ---> > Input device support ---> > <*> Generic input layer (needed for...) [CONFIG_INPUT] > > Should Generic input layer (needed for...) be Generic input layer (needed > for keyboard, mouse, ...)? That sounds as if someone didn't want to write a long line there and then have to move CONFIG names for the following items over to match. When explain sed commands we often use ellipsis (or, strictly 3 dots since the markup requires 8859-1 so not a real ellipsis: … ) and this is the same. I see no particular reason to add 'keyboard, mouse,' when the full list of possible items is not spelled out by the kernel). But if someone else wants to add it, I don't have deep feelings. > -------------------------------------------------------------------------------------------------------------- > > > Xorg Wacom Driver > > Device Drivers ---> > HID support ---> > <*/M> HID bus support [CONFIG_HID] > > I believe HID bus support has no options. Should it be -*- HID bus > support? If so, could [CONFIG_HID] be deleted? For me, the bus support is selected by three other things (USB_HID, USB, INPUT). Someone using an initrd could maybe make all of those into modules (/me shudders) and therefore make bus support a module. > -------------------------------------------------------------------------------------------------------------- > > > Xorg AMDGPU Driver > > Device Drivers ---> > Graphics support ---> > <*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM] > <*/M> AMD GPU [CONFIG_DRM_AMDGPU] > [ /*] Enable amdgpu support for SI parts [CONFIG_DRM_AMDGPU_SI] > [ /*] Enable amdgpu support for CIK parts [CONFIG_DRM_AMDGPU_CIK] > > Should the [ /*]'s above be [*]? > Yes, these are either on or off (so if amdgpu is a module, either it supports SI or it doesn't, and similarly either it supports CIK or it doesn't.) Overall, navigating menuconfig has become a lot worse in the last few years, partly because there are an order of magnitude more options for new things (many of which we will never experience on x86, but some of which can nevertheless be enabled), and things tend not to be in alphabetical order, but also because things sometimes move and also because (as with PRINTER above) things will not show up if their dpeendencies are not met. For some of the above, I'm not prepared to touch them. For others, I think you need to examine the help from menuconfig to try to prove that the options in the book can be made to appear. I've added the above where I'm in agreement to my ToDo-if-I-remember list. (Redoing dvisvgm, and adding some clarification elsewhere are in front of it, maybe those will be done this weekend.) Some further thoughts for you to consider: 1. A single long file, particularly when it has those very long '----' lines you have used, is hard to read. A series of posts for different items (and perhaps wait for feedback) will be easier to handle. 2. linux-5.10 is expected to be released around the end of the year. I expect that each new kernel release will change some of the detail. If we can get it to match the current kernel, someone then need to re-examine it after a new kernel version hits LFS (probably when .1 is released, but .0 is as good a time as any to start reviewing any changes (and to see if the kernel works!). Are you interested ? 3. For proving what can indeed by made into modules, perhaps it is easiest to begin with 'make allmodconfig' and then follow with 'make menuconfig' and search for the items to see what resulted. On the items where I'm not prepared to agree with you at this point, doing that and documenting it would help clarify what can and cannot be a module. Up to you. ĸen -- Internal error in fortune program: fnum=2987 n=45 flag=1 goose_level=-232323 Please write down these values and notify fortune program admin. -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page