From 34f1344072936506032e2ef77bf8aac5eef1ec2b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 9 Mar 2023 13:57:45 +0800 Subject: [PATCH] Revert "Suggest make localmodconfig for kernel" This reverts commit de679165f9a63ce94202d356abbae2b9a3bff5c3. localmodconfig does not work very well. It can only *un*select things already enabled as modules if the module is not loaded by the host. It won't select anything new, nor unselect unneeded things already set to "y" instead of "m". Maybe you think we can copy .config from a "mainstream" distro (producing a highly modular kernel) and use "make localmodconfig", but when we tested it with a Debian host kernel config, the resulted kernel refuses to boot. "make allmodconfig && make localmodconfig" does not work well either: "allmodconfig" selects many things as y (these thing are not available as a module) but "localmodconfig" fails to unselect them. --- chapter10/kernel.xml | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index 023aa32b9..7c64e0983 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -98,25 +98,15 @@ A good starting place for setting up the kernel configuration is to - run make localmodconfig. If the host kernel version - is not too different from the version of the kernel you are building, - this will set the base configuration to a good state similar to what - the host uses. Another possibility is to use make - localyesconfig, which does the same except everything is built - into the kernel. + run make defconfig. This will set the base + configuration to a good state that takes your current system architecture + into account. Do not disable any option enabled by make - localmodconfig unless the following notes explicitly make it + defconfig unless the following note explicitly makes it disabled or you really know what you are doing. - - Another possibility is to run make defconfig, - which creates a more generic configuration for your architecture. You - may then have to disable drivers for hardware you do not have if - you want to reduce the kernel size. - - Be sure to enable/disable/set the following features or the system might not work correctly or boot at all: @@ -322,7 +312,7 @@ Device Drivers ---> Support running the interrupt controller of 64-bit x86 processors in x2APIC mode. x2APIC may be enabled by firmware on 64-bit x86 systems, and a kernel without this option enabled will - panic on boot if x2APIC is enabled by firmware. This option + panic on boot if x2APIC is enabled by firmware. This option has has no effect, but also does no harm if x2APIC is disabled by the firmware.