diff --git a/chapter02/hostreqs.xml b/chapter02/hostreqs.xml index d84b0f5b8..d6f9cf584 100644 --- a/chapter02/hostreqs.xml +++ b/chapter02/hostreqs.xml @@ -203,7 +203,7 @@ ver_check() ver_kernel() { - kver=$(uname -r | grep -E -o '[0-9\.]+') + kver=$(uname -r | grep -E -o '^[0-9\.]+') if printf '%s\n' $1 $kver | sort --version-sort --check &>/dev/null then printf "OK: Linux Kernel $kver >= $1\n"; return 0; diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index 5ea3deae9..a168d6518 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -89,35 +89,16 @@ For general information on kernel configuration see . BLFS has some information - regarding particular kernel configuration requirements of packages outside - of LFS at . Additional + url="&hints-root;kernel-configuration.txt"/>. Additional information about configuring and building the kernel can be found at - + . - + 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 - 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: @@ -195,6 +176,23 @@ Device Drivers ---> [*] Message Signaled Interrupts (MSI and MSI-X) [CONFIG_PCI_MSI] [*] IOMMU Hardware Support ---> [CONFIG_IOMMU_SUPPORT] [*] Support for Interrupt Remapping [CONFIG_IRQ_REMAP] + + If you are building a 32-bit system running on a hardware + with RAM more than 4GB, adjust the configuration so the kernel will + be able to use up to 64GB physical RAM: + + Processor type and features ---> + High Memory Support ---> + (X) 64GB [CONFIG_HIGHMEM64G] + + If the partition for the LFS system is in a NVME SSD (i. e. the + device node for the parition is /dev/nvme* + instead of /dev/sd*), enable NVME support or + the LFS system won't boot: + + Device Drivers ---> + NVME Support ---> + <*> NVM Express block device [CONFIG_BLK_DEV_NVME] @@ -202,18 +200,18 @@ Device Drivers ---> required, it is highly recommended by the systemd developers. - There are several other options that may be desired + There are several other options that may be desired depending on the requirements for the system. For a list of options needed for BLFS packages, see the BLFS - Index of Kernel Settings - (&lfs-root;blfs/view/&short-version;/longindex.html#kernel-config-index). + Index of Kernel Settings. If your host hardware is using UEFI and you wish to boot the LFS system with it, you should adjust some kernel configuration following - the BLFS page. + the BLFS page even if you'll use the + UEFI bootloader from the host distro. @@ -354,7 +352,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.