From b78c7479d4b642d7aea70144b1fbd6cffe26dea3 Mon Sep 17 00:00:00 2001 From: Manuel Canales Esparcia Date: Sun, 18 Dec 2005 13:44:24 +0000 Subject: Chapter08 indentation. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7229 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter08/kernel.xml | 363 ++++++++++++++++++++++++++++----------------------- 1 file changed, 197 insertions(+), 166 deletions(-) (limited to 'chapter08/kernel.xml') diff --git a/chapter08/kernel.xml b/chapter08/kernel.xml index fb6a05b19..fcac33a39 100644 --- a/chapter08/kernel.xml +++ b/chapter08/kernel.xml @@ -1,212 +1,243 @@ - %general-entities; ]> + -Linux-&linux-version; - + + + Linux-&linux-version; + + + Linux + + + + + + <para>The Linux package contains the Linux kernel.</para> -<indexterm zone="ch-bootable-kernel"><primary sortas="a-Linux">Linux</primary></indexterm> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<sect2 role="package"><title/> -<para>The Linux package contains the Linux kernel.</para> + <seglistitem> + <seg>4.20 SBU</seg> + <seg>181 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>4.20 SBU</seg> -<seg>181 MB</seg></seglistitem> -</segmentedlist> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, Findutils, -GCC, Glibc, Grep, Gzip, Make, Modutils, Perl, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <seglistitem> + <seg>Bash, Binutils, Coreutils, Findutils, GCC, Glibc, Grep, Gzip, + Make, Modutils, Perl, and Sed</seg> + </seglistitem> + </segmentedlist> -<sect2 role="installation"> -<title>Installation of the kernel + -Building the kernel involves a few steps—configuration, compilation, -and installation. Read the README file in the kernel source -tree for alternative methods to the way this book configures the kernel. + + Installation of the kernel -Prepare for compilation by running the following command: + Building the kernel involves a few steps—configuration, + compilation, and installation. Read the README file + in the kernel source tree for alternative methods to the way this book + configures the kernel. + + Prepare for compilation by running the following command: make mrproper -This ensures that the kernel tree is absolutely clean. The -kernel team recommends that this command be issued prior to each -kernel compilation. Do not rely on the source tree being clean after -un-tarring. + This ensures that the kernel tree is absolutely clean. The + kernel team recommends that this command be issued prior to each + kernel compilation. Do not rely on the source tree being clean after + un-tarring. -If, in it was decided to -compile the keymap into the kernel, issue the command below: + If, in it was decided to + compile the keymap into the kernel, issue the command below: loadkeys -m /usr/share/kbd/keymaps/[path to keymap] > \ drivers/char/defkeymap.c -For example, if using a Dutch keyboard, use -/usr/share/kbd/keymaps/i386/qwerty/nl.map.gz. + For example, if using a Dutch keyboard, use + /usr/share/kbd/keymaps/i386/qwerty/nl.map.gz. -Configure the kernel via a menu-driven interface. BLFS has some -information regarding particular kernel configuration requirements of -packages outside of LFS at : + Configure the kernel via a menu-driven interface. BLFS has some + information regarding particular kernel configuration requirements of + packages outside of LFS at : make menuconfig -Alternatively, make oldconfig may be more appropriate in some -situations. See the README file for more -information. - -If desired, skip kernel configuration by copying the kernel -config file, .config, from the host system -(assuming it is available) to the unpacked linux-&linux-version; directory. However, -we do not recommend this option. It is often better to explore all the -configuration menus and create the kernel configuration from -scratch. - -NPTL requires the kernel to be compiled with GCC-3.x or later, in this case -&gcc-version;. It is not recommended to compile the kernel with GCC-2.95.x, as -this causes failures in the Glibc test suite. Normally, this wouldn't be -mentioned as LFS doesn't build GCC-2.95.x. Unfortunately, the kernel -documentation is outdated and still claims GCC-2.95.3 is the recommended -compiler. - -Compile the kernel image and modules: + Alternatively, make oldconfig may be more + appropriate in some situations. See the README + file for more information. + + If desired, skip kernel configuration by copying the kernel + config file, .config, from the host system + (assuming it is available) to the unpacked linux-&linux-version; directory. However, + we do not recommend this option. It is often better to explore all the + configuration menus and create the kernel configuration from + scratch. + + + NPTL requires the kernel to be compiled with GCC-3.x or later, in + this case &gcc-version;. It is not recommended to compile the kernel with + GCC-2.95.x, as this causes failures in the Glibc test suite. Normally, + this wouldn't be mentioned as LFS doesn't build GCC-2.95.x. Unfortunately, + the kernel documentation is outdated and still claims GCC-2.95.3 is the + recommended compiler. + + + Compile the kernel image and modules: make -If using kernel modules, an /etc/modprobe.conf file -may be needed. Information pertaining to modules and kernel configuration is -located in the kernel documentation in the linux-&linux-version;/Documentation directory. -Also, modprobe.conf(5) may be of interest. + If using kernel modules, an /etc/modprobe.conf file + may be needed. Information pertaining to modules and kernel configuration is + located in the kernel documentation in the linux-&linux-version;/Documentation directory. + Also, modprobe.conf(5) may be of interest. -Be very careful when reading other documentation relating to kernel -modules because it usually applies to 2.4.x kernels only. As far as we know, -kernel configuration issues specific to Hotplug and Udev are not documented. -The problem is that Udev will create a device node only if Hotplug or a -user-written script inserts the corresponding module into the kernel, and not -all modules are detectable by Hotplug. Note that statements like the one below -in the /etc/modprobe.conf file do not work with -Udev: + Be very careful when reading other documentation relating to kernel + modules because it usually applies to 2.4.x kernels only. As far as we know, + kernel configuration issues specific to Hotplug and Udev are not documented. + The problem is that Udev will create a device node only if Hotplug or a + user-written script inserts the corresponding module into the kernel, and not + all modules are detectable by Hotplug. Note that statements like the one below + in the /etc/modprobe.conf file do not work with + Udev: -alias char-major-XXX some-module +alias char-major-XXX some-module -Because of the complications with Hotplug, Udev, and modules, we -strongly recommend starting with a completely non-modular kernel -configuration, especially if this is the first time using Udev. + Because of the complications with Hotplug, Udev, and modules, we + strongly recommend starting with a completely non-modular kernel + configuration, especially if this is the first time using Udev. -Install the modules, if the kernel configuration uses them: + Install the modules, if the kernel configuration uses them: make modules_install -After kernel compilation is complete, additional steps are -required to complete the installation. Some files need to be copied to -the /boot directory. + After kernel compilation is complete, additional steps are + required to complete the installation. Some files need to be copied to + the /boot directory. -The path to the kernel image may vary depending on the platform -being used. The following command assumes an x86 architecture: + The path to the kernel image may vary depending on the platform + being used. The following command assumes an x86 architecture: cp -v arch/i386/boot/bzImage /boot/lfskernel-&linux-version; -System.map is a symbol file for the kernel. -It maps the function entry points of every function in the kernel API, -as well as the addresses of the kernel data structures for the running -kernel. Issue the following command to install the map file: + System.map is a symbol file for the kernel. + It maps the function entry points of every function in the kernel API, + as well as the addresses of the kernel data structures for the running + kernel. Issue the following command to install the map file: cp -v System.map /boot/System.map-&linux-version; -The kernel configuration file .config -produced by the make menuconfig step -above contains all the configuration selections for the kernel -that was just compiled. It is a good idea to keep this file for future -reference: + The kernel configuration file .config + produced by the make menuconfig step + above contains all the configuration selections for the kernel + that was just compiled. It is a good idea to keep this file for future + reference: cp -v .config /boot/config-&linux-version; -It is important to note that the files in the kernel source -directory are not owned by root. Whenever a -package is unpacked as user root (like we did -inside chroot), the files have the user and group IDs of whatever -they were on the packager's computer. This is usually not a problem -for any other package to be installed because the source tree is -removed after the installation. However, the Linux source tree is -often retained for a long time. Because of this, there is a chance -that whatever user ID the packager used will be assigned to somebody -on the machine. That person would then have write access to the kernel -source. - -If the kernel source tree is going to be retained, run -chown -R 0:0 on the linux-&linux-version; directory to ensure -all files are owned by user root. - -Some kernel documentation recommends creating a symlink from -/usr/src/linux pointing to the kernel -source directory. This is specific to kernels prior to the 2.6 series and -must not be created on an LFS system as it can cause -problems for packages you may wish to build once your base LFS system is -complete. - -Also, the headers in the system's -include directory should -always be the ones against which Glibc was compiled, -that is, the ones from the Linux-Libc-Headers package, and therefore, should -never be replaced by the kernel headers. - - - - -Contents of Linux - - -Installed files -config-&linux-version;, lfskernel-&linux-version;, -and System.map-&linux-version; - - -Short Descriptions - - - - -config-&linux-version; - -Contains all the configuration selections for the kernel -/boot/config-&linux-version; - - - - -lfskernel-&linux-version; - -The engine of the Linux system. When turning on the computer, -the kernel is the first part of the operating system that gets loaded. -It detects and initializes all components of the computer's hardware, -then makes these components available as a tree of files to the -software and turns a single CPU into a multitasking machine capable -of running scores of programs seemingly at the same time -lfskernel-&linux-version; - - - - -System.map-&linux-version; - -A list of addresses and symbols; it maps the entry points and -addresses of all the functions and data structures in the -kernel -/boot/System.map-&linux-version; - - - - - + It is important to note that the files in the kernel source + directory are not owned by root. Whenever a + package is unpacked as user root (like we did + inside chroot), the files have the user and group IDs of whatever + they were on the packager's computer. This is usually not a problem + for any other package to be installed because the source tree is + removed after the installation. However, the Linux source tree is + often retained for a long time. Because of this, there is a chance + that whatever user ID the packager used will be assigned to somebody + on the machine. That person would then have write access to the kernel + source. + + If the kernel source tree is going to be retained, run + chown -R 0:0 on the linux-&linux-version; directory to ensure + all files are owned by user root. + + + Some kernel documentation recommends creating a symlink from + /usr/src/linux pointing to the kernel + source directory. This is specific to kernels prior to the 2.6 series and + must not be created on an LFS system as it can cause + problems for packages you may wish to build once your base LFS system is + complete. + + Also, the headers in the system's + include directory should + always be the ones against which Glibc was compiled, + that is, the ones from the Linux-Libc-Headers package, and therefore, should + never be replaced by the kernel headers. + + + + + + + Contents of Linux + + + Installed files + + + config-&linux-version;, lfskernel-&linux-version;, and + System.map-&linux-version; + + + + + Short Descriptions + + + + + config-&linux-version; + + Contains all the configuration selections for the kernel + + /boot/config-&linux-version; + + + + + + lfskernel-&linux-version; + + The engine of the Linux system. When turning on the computer, + the kernel is the first part of the operating system that gets loaded. + It detects and initializes all components of the computer's hardware, + then makes these components available as a tree of files to the + software and turns a single CPU into a multitasking machine capable + of running scores of programs seemingly at the same time + + lfskernel-&linux-version; + + + + + + System.map-&linux-version; + + A list of addresses and symbols; it maps the entry points and + addresses of all the functions and data structures in the + kernel + + /boot/System.map-&linux-version; + + + + + + + -- cgit v1.2.3-54-g00ecf