Changeset b78c747


Ignore:
Timestamp:
12/18/2005 01:44:24 PM (18 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
d781ffb
Parents:
7686ca6
Message:

Chapter08 indentation.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7229 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Location:
chapter08
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • chapter08/chapter08.xml

    r7686ca6 rb78c747  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<chapter id="chapter-bootable" xreflabel="Chapter 8">
    7 <?dbhtml dir="chapter08"?>
    8 <title>Making the LFS System Bootable</title>
    9 <?dbhtml filename="chapter08.html"?>
     9  <?dbhtml dir="chapter08"?>
     10  <?dbhtml filename="chapter08.html"?>
    1011
    11 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
    12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="fstab.xml"/>
    13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernel.xml"/>
    14 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/>
     12  <title>Making the LFS System Bootable</title>
     13
     14  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
     15  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="fstab.xml"/>
     16  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernel.xml"/>
     17  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/>
    1518
    1619</chapter>
  • chapter08/fstab.xml

    r7686ca6 rb78c747  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-bootable-fstab">
    7 <title>Creating the /etc/fstab File</title>
    8 <?dbhtml filename="fstab.html"?>
     9  <?dbhtml filename="fstab.html"?>
    910
    10 <indexterm zone="ch-bootable-fstab"><primary sortas="e-/etc/fstab">/etc/fstab</primary></indexterm>
     11  <title>Creating the /etc/fstab File</title>
    1112
    12 <para>The <filename>/etc/fstab</filename> file is used by some programs to
    13 determine where file systems are to be mounted by default, in which order, and
    14 which must be checked (for integrity errors) prior to mounting. Create a new
    15 file systems table like this:</para>
     13  <indexterm zone="ch-bootable-fstab">
     14    <primary sortas="e-/etc/fstab">/etc/fstab</primary>
     15  </indexterm>
     16
     17  <para>The <filename>/etc/fstab</filename> file is used by some programs to
     18  determine where file systems are to be mounted by default, in which order, and
     19  which must be checked (for integrity errors) prior to mounting. Create a new
     20  file systems table like this:</para>
    1621
    1722<screen><userinput>cat &gt; /etc/fstab &lt;&lt; "EOF"
     
    3035EOF</userinput></screen>
    3136
    32 <para>Replace <replaceable>[xxx]</replaceable>,
    33 <replaceable>[yyy]</replaceable>, and <replaceable>[fff]</replaceable>
    34 with the values appropriate for the system, for example, <filename
    35 class="partition">hda2</filename>, <filename
    36 class="partition">hda5</filename>, and <systemitem
    37 class="filesystem">ext2</systemitem>. For details on the six
    38 fields in this file, see <command>man 5 fstab</command>.</para>
     37  <para>Replace <replaceable>[xxx]</replaceable>,
     38  <replaceable>[yyy]</replaceable>, and <replaceable>[fff]</replaceable>
     39  with the values appropriate for the system, for example, <filename
     40  class="partition">hda2</filename>, <filename
     41  class="partition">hda5</filename>, and <systemitem
     42  class="filesystem">ext2</systemitem>. For details on the six
     43  fields in this file, see <command>man 5 fstab</command>.</para>
    3944
    40 <para>The <filename class="directory">/dev/shm</filename> mount point
    41 for <systemitem class="filesystem">tmpfs</systemitem> is included to
    42 allow enabling POSIX-shared memory. The kernel must have the required
    43 support built into it for this to work (more about this is in the next
    44 section). Please note that very little software currently uses
    45 POSIX-shared memory.  Therefore, consider the <filename
    46 class="directory">/dev/shm</filename> mount point optional. For more
    47 information, see
    48 <filename>Documentation/filesystems/tmpfs.txt</filename> in the kernel
    49 source tree.</para>
     45  <para>The <filename class="directory">/dev/shm</filename> mount point
     46  for <systemitem class="filesystem">tmpfs</systemitem> is included to
     47  allow enabling POSIX-shared memory. The kernel must have the required
     48  support built into it for this to work (more about this is in the next
     49  section). Please note that very little software currently uses
     50  POSIX-shared memory.  Therefore, consider the <filename
     51  class="directory">/dev/shm</filename> mount point optional. For more
     52  information, see
     53  <filename>Documentation/filesystems/tmpfs.txt</filename> in the kernel
     54  source tree.</para>
    5055
    51 <para>There are other lines which may be added to the
    52 <filename>/etc/fstab</filename> file. One example is a line for USB
    53 devices:</para>
     56  <para>There are other lines which may be added to the
     57  <filename>/etc/fstab</filename> file. One example is a line for USB
     58  devices:</para>
    5459
    5560<screen>usbfs        /proc/bus/usb usbfs   devgid=14,devmode=0660 0 0 </screen>
    5661
    57 <para>This option will only work if <quote>Support for Host-side USB</quote> and
    58 <quote>USB device filesystem</quote> are configured in the kernel. If
    59 <quote>Support for Host-side USB</quote> is compiled as a module, then
    60 <filename>usbcore</filename> must be listed in
    61 <filename>/etc/sysconfig/modules</filename>.</para>
     62  <para>This option will only work if <quote>Support for Host-side USB</quote>
     63  and <quote>USB device filesystem</quote> are configured in the kernel. If
     64  <quote>Support for Host-side USB</quote> is compiled as a module, then
     65  <filename>usbcore</filename> must be listed in
     66  <filename>/etc/sysconfig/modules</filename>.</para>
    6267
    6368</sect1>
    64 
  • chapter08/grub.xml

    r7686ca6 rb78c747  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-bootable-grub">
    7 <title>Making the LFS System Bootable</title>
    8 <?dbhtml filename="grub.html"?>
     9  <?dbhtml filename="grub.html"?>
    910
    10 <indexterm zone="ch-bootable-grub">
    11 <primary sortas="a-Grub">GRUB</primary>
    12 <secondary>configuring</secondary></indexterm>
     11  <title>Making the LFS System Bootable</title>
    1312
    14 <para>Your shiny new LFS system is almost complete. One of the last
    15 things to do is to ensure that the system can be properly booted. The
    16 instructions below apply only to computers of IA-32 architecture,
    17 meaning mainstream PCs. Information on <quote>boot loading</quote> for
    18 other architectures should be available in the usual resource-specific
    19 locations for those architectures.</para>
     13  <indexterm zone="ch-bootable-grub">
     14    <primary sortas="a-Grub">GRUB</primary>
     15    <secondary>configuring</secondary>
     16  </indexterm>
    2017
    21 <para>Boot loading can be a complex area, so a few cautionary
    22 words are in order. Be familiar with the current boot loader and any other
    23 operating systems present on the hard drive(s) that need to be
    24 bootable. Make sure that an emergency boot disk is ready to
    25 <quote>rescue</quote> the computer if the computer becomes
    26 unusable (un-bootable).</para>
     18  <para>Your shiny new LFS system is almost complete. One of the last
     19  things to do is to ensure that the system can be properly booted. The
     20  instructions below apply only to computers of IA-32 architecture,
     21  meaning mainstream PCs. Information on <quote>boot loading</quote> for
     22  other architectures should be available in the usual resource-specific
     23  locations for those architectures.</para>
    2724
    28 <para>Earlier, we compiled and installed the GRUB boot loader software
    29 in preparation for this step. The procedure involves writing some
    30 special GRUB files to specific locations on the hard drive. We highly
    31 recommend creating a GRUB boot floppy diskette as a backup. Insert a
    32 blank floppy diskette and run the following commands:</para>
     25  <para>Boot loading can be a complex area, so a few cautionary
     26  words are in order. Be familiar with the current boot loader and any other
     27  operating systems present on the hard drive(s) that need to be
     28  bootable. Make sure that an emergency boot disk is ready to
     29  <quote>rescue</quote> the computer if the computer becomes
     30  unusable (un-bootable).</para>
     31
     32  <para>Earlier, we compiled and installed the GRUB boot loader software
     33  in preparation for this step. The procedure involves writing some
     34  special GRUB files to specific locations on the hard drive. We highly
     35  recommend creating a GRUB boot floppy diskette as a backup. Insert a
     36  blank floppy diskette and run the following commands:</para>
    3337
    3438<screen><userinput>dd if=/boot/grub/stage1 of=/dev/fd0 bs=512 count=1
    3539dd if=/boot/grub/stage2 of=/dev/fd0 bs=512 seek=1</userinput></screen>
    3640
    37 <para>Remove the diskette and store it somewhere safe. Now, run the
    38 <command>grub</command> shell:</para>
     41  <para>Remove the diskette and store it somewhere safe. Now, run the
     42  <command>grub</command> shell:</para>
    3943
    4044<screen><userinput>grub</userinput></screen>
    4145
    42 <para>GRUB uses its own naming structure for drives and partitions in
    43 the form of <emphasis>(hdn,m)</emphasis>, where <emphasis>n</emphasis>
    44 is the hard drive number and <emphasis>m</emphasis> is the partition
    45 number, both starting from zero. For example, partition <filename
    46 class="partition">hda1</filename> is <emphasis>(hd0,0)</emphasis> to
    47 GRUB and <filename class="partition">hdb3</filename> is
    48 <emphasis>(hd1,2)</emphasis>. In contrast to Linux, GRUB does not
    49 consider CD-ROM drives to be hard drives. For example, if using a CD
    50 on <filename class="partition">hdb</filename> and a second hard drive
    51 on <filename class="partition">hdc</filename>, that second hard drive
    52 would still be <emphasis>(hd1)</emphasis>.</para>
     46  <para>GRUB uses its own naming structure for drives and partitions in
     47  the form of <emphasis>(hdn,m)</emphasis>, where <emphasis>n</emphasis>
     48  is the hard drive number and <emphasis>m</emphasis> is the partition
     49  number, both starting from zero. For example, partition <filename
     50  class="partition">hda1</filename> is <emphasis>(hd0,0)</emphasis> to
     51  GRUB and <filename class="partition">hdb3</filename> is
     52  <emphasis>(hd1,2)</emphasis>. In contrast to Linux, GRUB does not
     53  consider CD-ROM drives to be hard drives. For example, if using a CD
     54  on <filename class="partition">hdb</filename> and a second hard drive
     55  on <filename class="partition">hdc</filename>, that second hard drive
     56  would still be <emphasis>(hd1)</emphasis>.</para>
    5357
    54 <para>Using the above information, determine the appropriate
    55 designator for the root partition (or boot partition, if a separate
    56 one is used). For the following example, it is assumed that the root
    57 (or separate boot) partition is <filename
    58 class="partition">hda4</filename>.</para>
     58  <para>Using the above information, determine the appropriate
     59  designator for the root partition (or boot partition, if a separate
     60  one is used). For the following example, it is assumed that the root
     61  (or separate boot) partition is <filename
     62  class="partition">hda4</filename>.</para>
    5963
    60 <para>Tell GRUB where to search for its
    61 <filename>stage{1,2}</filename> files. The Tab key can be used
    62 everywhere to make GRUB show the alternatives:</para>
     64  <para>Tell GRUB where to search for its
     65  <filename>stage{1,2}</filename> files. The Tab key can be used
     66  everywhere to make GRUB show the alternatives:</para>
    6367
    6468<screen><userinput>root (hd0,3)</userinput></screen>
    6569
    66 <warning><para>The following command will overwrite the current boot
    67 loader. Do not run the command if this is not desired, for example, if
    68 using a third party boot manager to manage the Master Boot Record
    69 (MBR). In this scenario, it would make more sense to install
    70 GRUB into the <quote>boot sector</quote> of the LFS partition. In this
    71 case, this next command would become <userinput>setup
    72 (hd0,3)</userinput>.</para></warning>
     70  <warning>
     71    <para>The following command will overwrite the current boot loader. Do not
     72    run the command if this is not desired, for example, if using a third party
     73    boot manager to manage the Master Boot Record (MBR). In this scenario, it
     74    would make more sense to install GRUB into the <quote>boot sector</quote>
     75    of the LFS partition. In this case, this next command would become
     76    <userinput>setup (hd0,3)</userinput>.</para>
     77  </warning>
    7378
    74 <para>Tell GRUB to install itself into the MBR of
    75 <filename class="partition">hda</filename>:</para>
     79  <para>Tell GRUB to install itself into the MBR of
     80  <filename class="partition">hda</filename>:</para>
    7681
    7782<screen><userinput>setup (hd0)</userinput></screen>
    7883
    79 <para>If all went well, GRUB will have reported finding its files in
    80 <filename class="directory">/boot/grub</filename>. That's all there is
    81 to it. Quit the <command>grub</command> shell:</para>
     84  <para>If all went well, GRUB will have reported finding its files in
     85  <filename class="directory">/boot/grub</filename>. That's all there is
     86  to it. Quit the <command>grub</command> shell:</para>
    8287
    8388<screen><userinput>quit</userinput></screen>
    8489
    85 <para>Create a <quote>menu list</quote> file defining GRUB's boot menu:</para>
     90  <para>Create a <quote>menu list</quote> file defining GRUB's boot menu:</para>
    8691
    8792<screen><userinput>cat &gt; /boot/grub/menu.lst &lt;&lt; "EOF"
     
    103108EOF</userinput></screen>
    104109
    105 <para>Add an entry for the host distribution if desired. It might look
    106 like this:</para>
     110  <para>Add an entry for the host distribution if desired. It might look
     111  like this:</para>
    107112
    108113<screen><userinput>cat &gt;&gt; /boot/grub/menu.lst &lt;&lt; "EOF"
     
    113118EOF</userinput></screen>
    114119
    115 <para>If dual-booting Windows, the following entry will allow
    116 booting it:</para>
     120  <para>If dual-booting Windows, the following entry will allow
     121  booting it:</para>
    117122
    118123<screen><userinput>cat &gt;&gt; /boot/grub/menu.lst &lt;&lt; "EOF"
     
    122127EOF</userinput></screen>
    123128
    124 <para>If <command>info grub</command> does not provide all necessary material, additional
    125 information regarding GRUB is located on its website at:
    126 <ulink url="http://www.gnu.org/software/grub/"/>.</para>
     129  <para>If <command>info grub</command> does not provide all necessary material,
     130  additional information regarding GRUB is located on its website at:
     131  <ulink url="http://www.gnu.org/software/grub/"/>.</para>
    127132
    128 <para>The FHS stipulates that GRUB's <filename>menu.lst</filename> file should be symlinked to
    129 <filename class="symlink">/etc/grub/menu.lst</filename>.  To satisfy this requirement, issue the
    130 following command:</para>
     133  <para>The FHS stipulates that GRUB's <filename>menu.lst</filename> file should
     134  be symlinked to <filename class="symlink">/etc/grub/menu.lst</filename>. To
     135  satisfy this requirement, issue the following command:</para>
    131136
    132137<screen><userinput>mkdir -v /etc/grub &amp;&amp;
     
    134139
    135140</sect1>
    136 
  • chapter08/introduction.xml

    r7686ca6 rb78c747  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-bootable-introduction">
    7 <title>Introduction</title>
    8 <?dbhtml filename="introduction.html"?>
     9  <?dbhtml filename="introduction.html"?>
    910
    10 <para>It is time to make the LFS system bootable. This chapter
    11 discusses creating an <filename>fstab</filename> file, building a
    12 kernel for the new LFS system, and installing the GRUB boot loader so
    13 that the LFS system can be selected for booting at startup.</para>
     11  <title>Introduction</title>
     12
     13  <para>It is time to make the LFS system bootable. This chapter
     14  discusses creating an <filename>fstab</filename> file, building a
     15  kernel for the new LFS system, and installing the GRUB boot loader so
     16  that the LFS system can be selected for booting at startup.</para>
    1417
    1518</sect1>
    16 
  • chapter08/kernel.xml

    r7686ca6 rb78c747  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-bootable-kernel" role="wrap">
    7 <title>Linux-&linux-version;</title>
    8 <?dbhtml filename="kernel.html"?>
    9 
    10 <indexterm zone="ch-bootable-kernel"><primary sortas="a-Linux">Linux</primary></indexterm>
    11 
    12 <sect2 role="package"><title/>
    13 <para>The Linux package contains the Linux kernel.</para>
    14 
    15 <segmentedlist>
    16 <segtitle>&buildtime;</segtitle>
    17 <segtitle>&diskspace;</segtitle>
    18 <seglistitem><seg>4.20 SBU</seg>
    19 <seg>181 MB</seg></seglistitem>
    20 </segmentedlist>
    21 
    22 <segmentedlist>
    23 <segtitle>&dependencies;</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Coreutils, Findutils,
    25 GCC, Glibc, Grep, Gzip, Make, Modutils, Perl, and Sed</seg></seglistitem>
    26 </segmentedlist>
    27 </sect2>
    28 
    29 <sect2 role="installation">
    30 <title>Installation of the kernel</title>
    31 
    32 <para>Building the kernel involves a few steps&mdash;configuration, compilation,
    33 and installation. Read the <filename>README</filename> file in the kernel source
    34 tree for alternative methods to the way this book configures the kernel.</para>
    35 
    36 <para>Prepare for compilation by running the following command:</para>
     9  <?dbhtml filename="kernel.html"?>
     10
     11  <title>Linux-&linux-version;</title>
     12
     13  <indexterm zone="ch-bootable-kernel">
     14    <primary sortas="a-Linux">Linux</primary>
     15  </indexterm>
     16
     17  <sect2 role="package">
     18    <title/>
     19
     20    <para>The Linux package contains the Linux kernel.</para>
     21
     22    <segmentedlist>
     23      <segtitle>&buildtime;</segtitle>
     24      <segtitle>&diskspace;</segtitle>
     25
     26      <seglistitem>
     27        <seg>4.20 SBU</seg>
     28        <seg>181 MB</seg>
     29      </seglistitem>
     30    </segmentedlist>
     31
     32    <segmentedlist>
     33      <segtitle>&dependencies;</segtitle>
     34
     35      <seglistitem>
     36        <seg>Bash, Binutils, Coreutils, Findutils, GCC, Glibc, Grep, Gzip,
     37        Make, Modutils, Perl, and Sed</seg>
     38      </seglistitem>
     39    </segmentedlist>
     40
     41  </sect2>
     42
     43  <sect2 role="installation">
     44    <title>Installation of the kernel</title>
     45
     46    <para>Building the kernel involves a few steps&mdash;configuration,
     47    compilation, and installation. Read the <filename>README</filename> file
     48    in the kernel source tree for alternative methods to the way this book
     49    configures the kernel.</para>
     50
     51    <para>Prepare for compilation by running the following command:</para>
    3752
    3853<screen><userinput>make mrproper</userinput></screen>
    3954
    40 <para>This ensures that the kernel tree is absolutely clean. The
    41 kernel team recommends that this command be issued prior to each
    42 kernel compilation. Do not rely on the source tree being clean after
    43 un-tarring.</para>
    44 
    45 <para>If, in <xref linkend="ch-scripts-console" role=","/> it was decided to
    46 compile the keymap into the kernel, issue the command below:</para>
     55    <para>This ensures that the kernel tree is absolutely clean. The
     56    kernel team recommends that this command be issued prior to each
     57    kernel compilation. Do not rely on the source tree being clean after
     58    un-tarring.</para>
     59
     60    <para>If, in <xref linkend="ch-scripts-console" role=","/> it was decided to
     61    compile the keymap into the kernel, issue the command below:</para>
    4762
    4863<screen role="nodump"><userinput>loadkeys -m /usr/share/kbd/keymaps/<replaceable>[path to  keymap]</replaceable> &gt; \
    4964    drivers/char/defkeymap.c</userinput></screen>
    5065
    51 <para>For example, if using a Dutch keyboard, use
    52 <filename>/usr/share/kbd/keymaps/i386/qwerty/nl.map.gz</filename>.</para>
    53 
    54 <para>Configure the kernel via a menu-driven interface. BLFS has some
    55 information regarding particular kernel configuration requirements of
    56 packages outside of LFS at <ulink
    57 url="&blfs-root;view/svn/longindex.html#kernel-config-index"/>:</para>
     66    <para>For example, if using a Dutch keyboard, use
     67    <filename>/usr/share/kbd/keymaps/i386/qwerty/nl.map.gz</filename>.</para>
     68
     69    <para>Configure the kernel via a menu-driven interface. BLFS has some
     70    information regarding particular kernel configuration requirements of
     71    packages outside of LFS at <ulink
     72    url="&blfs-root;view/svn/longindex.html#kernel-config-index"/>:</para>
    5873
    5974<screen role="nodump"><userinput>make menuconfig</userinput></screen>
    6075
    61 <para>Alternatively, <command>make oldconfig</command> may be more appropriate in some
    62 situations. See the <filename>README</filename> file for more
    63 information.</para>
    64 
    65 <para>If desired, skip kernel configuration by copying the kernel
    66 config file, <filename>.config</filename>, from the host system
    67 (assuming it is available) to the unpacked <filename
    68 class="directory">linux-&linux-version;</filename> directory. However,
    69 we do not recommend this option. It is often better to explore all the
    70 configuration menus and create the kernel configuration from
    71 scratch.</para>
    72 
    73 <note><para>NPTL requires the kernel to be compiled with GCC-3.x or later, in this case
    74 &gcc-version;. It is not recommended to compile the kernel with GCC-2.95.x, as
    75 this causes failures in the Glibc test suite. Normally, this wouldn't be
    76 mentioned as LFS doesn't build GCC-2.95.x. Unfortunately, the kernel
    77 documentation is outdated and still claims GCC-2.95.3 is the recommended
    78 compiler.</para></note>
    79 
    80 <para>Compile the kernel image and modules:</para>
     76    <para>Alternatively, <command>make oldconfig</command> may be more
     77    appropriate in some situations. See the <filename>README</filename>
     78    file for more information.</para>
     79
     80    <para>If desired, skip kernel configuration by copying the kernel
     81    config file, <filename>.config</filename>, from the host system
     82    (assuming it is available) to the unpacked <filename
     83    class="directory">linux-&linux-version;</filename> directory. However,
     84    we do not recommend this option. It is often better to explore all the
     85    configuration menus and create the kernel configuration from
     86    scratch.</para>
     87
     88    <note>
     89      <para>NPTL requires the kernel to be compiled with GCC-3.x or later, in
     90      this case &gcc-version;. It is not recommended to compile the kernel with
     91      GCC-2.95.x, as this causes failures in the Glibc test suite. Normally,
     92      this wouldn't be mentioned as LFS doesn't build GCC-2.95.x. Unfortunately,
     93      the kernel documentation is outdated and still claims GCC-2.95.3 is the
     94      recommended compiler.</para>
     95    </note>
     96
     97    <para>Compile the kernel image and modules:</para>
    8198
    8299<screen><userinput>make</userinput></screen>
    83100
    84 <para>If using kernel modules, an <filename>/etc/modprobe.conf</filename> file
    85 may be needed. Information pertaining to modules and kernel configuration is
    86 located in the kernel documentation in the <filename
    87 class="directory">linux-&linux-version;/Documentation</filename> directory.
    88 Also, <filename>modprobe.conf(5)</filename> may be of interest.</para>
    89 
    90 <para>Be very careful when reading other documentation relating to kernel
    91 modules because it usually applies to 2.4.x kernels only. As far as we know,
    92 kernel configuration issues specific to Hotplug and Udev are not documented.
    93 The problem is that Udev will create a device node only if Hotplug or a
    94 user-written script inserts the corresponding module into the kernel, and not
    95 all modules are detectable by Hotplug. Note that statements like the one below
    96 in the <filename>/etc/modprobe.conf</filename> file do not work with
    97 Udev:</para>
    98 
    99 <para><screen>alias char-major-XXX some-module</screen></para>
    100 
    101 <para>Because of the complications with Hotplug, Udev, and modules, we
    102 strongly recommend starting with a completely non-modular kernel
    103 configuration, especially if this is the first time using Udev.</para>
    104 
    105 <para>Install the modules, if the kernel configuration uses them:</para>
     101    <para>If using kernel modules, an <filename>/etc/modprobe.conf</filename> file
     102    may be needed. Information pertaining to modules and kernel configuration is
     103    located in the kernel documentation in the <filename
     104    class="directory">linux-&linux-version;/Documentation</filename> directory.
     105    Also, <filename>modprobe.conf(5)</filename> may be of interest.</para>
     106
     107    <para>Be very careful when reading other documentation relating to kernel
     108    modules because it usually applies to 2.4.x kernels only. As far as we know,
     109    kernel configuration issues specific to Hotplug and Udev are not documented.
     110    The problem is that Udev will create a device node only if Hotplug or a
     111    user-written script inserts the corresponding module into the kernel, and not
     112    all modules are detectable by Hotplug. Note that statements like the one below
     113    in the <filename>/etc/modprobe.conf</filename> file do not work with
     114    Udev:</para>
     115
     116<screen><literal>alias char-major-XXX some-module</literal></screen>
     117
     118    <para>Because of the complications with Hotplug, Udev, and modules, we
     119    strongly recommend starting with a completely non-modular kernel
     120    configuration, especially if this is the first time using Udev.</para>
     121
     122    <para>Install the modules, if the kernel configuration uses them:</para>
    106123
    107124<screen><userinput>make modules_install</userinput></screen>
    108125
    109 <para>After kernel compilation is complete, additional steps are
    110 required to complete the installation. Some files need to be copied to
    111 the <filename class="directory">/boot</filename> directory.</para>
    112 
    113 <para>The path to the kernel image may vary depending on the platform
    114 being used. The following command assumes an x86 architecture:</para>
     126    <para>After kernel compilation is complete, additional steps are
     127    required to complete the installation. Some files need to be copied to
     128    the <filename class="directory">/boot</filename> directory.</para>
     129
     130    <para>The path to the kernel image may vary depending on the platform
     131    being used. The following command assumes an x86 architecture:</para>
    115132
    116133<screen><userinput>cp -v arch/i386/boot/bzImage /boot/lfskernel-&linux-version;</userinput></screen>
    117134
    118 <para><filename>System.map</filename> is a symbol file for the kernel.
    119 It maps the function entry points of every function in the kernel API,
    120 as well as the addresses of the kernel data structures for the running
    121 kernel. Issue the following command to install the map file:</para>
     135    <para><filename>System.map</filename> is a symbol file for the kernel.
     136    It maps the function entry points of every function in the kernel API,
     137    as well as the addresses of the kernel data structures for the running
     138    kernel. Issue the following command to install the map file:</para>
    122139
    123140<screen><userinput>cp -v System.map /boot/System.map-&linux-version;</userinput></screen>
    124141
    125 <para>The kernel configuration file <filename>.config</filename>
    126 produced by the <command>make menuconfig</command> step
    127 above contains all the configuration selections for the kernel
    128 that was just compiled. It is a good idea to keep this file for future
    129 reference:</para>
     142    <para>The kernel configuration file <filename>.config</filename>
     143    produced by the <command>make menuconfig</command> step
     144    above contains all the configuration selections for the kernel
     145    that was just compiled. It is a good idea to keep this file for future
     146    reference:</para>
    130147
    131148<screen><userinput>cp -v .config /boot/config-&linux-version;</userinput></screen>
    132149
    133 <para>It is important to note that the files in the kernel source
    134 directory are not owned by <emphasis>root</emphasis>. Whenever a
    135 package is unpacked as user <emphasis>root</emphasis> (like we did
    136 inside chroot), the files have the user and group IDs of whatever
    137 they were on the packager's computer. This is usually not a problem
    138 for any other package to be installed because the source tree is
    139 removed after the installation. However, the Linux source tree is
    140 often retained for a long time.  Because of this, there is a chance
    141 that whatever user ID the packager used will be assigned to somebody
    142 on the machine. That person would then have write access to the kernel
    143 source.</para>
    144 
    145 <para>If the kernel source tree is going to be retained, run
    146 <command>chown -R 0:0</command> on the <filename
    147 class="directory">linux-&linux-version;</filename> directory to ensure
    148 all files are owned by user <emphasis>root</emphasis>.</para>
    149 
    150 <warning><para>Some kernel documentation recommends creating a symlink from
    151 <filename class="symlink">/usr/src/linux</filename> pointing to the kernel
    152 source directory.  This is specific to kernels prior to the 2.6 series and
    153 <emphasis>must not</emphasis> be created on an LFS system as it can cause
    154 problems for packages you may wish to build once your base LFS system is
    155 complete.</para>
    156 
    157 <para>Also, the headers in the system's
    158 <filename class="directory">include</filename> directory should
    159 <emphasis>always</emphasis> be the ones against which Glibc was compiled,
    160 that is, the ones from the Linux-Libc-Headers package, and therefore, should
    161 <emphasis>never</emphasis> be replaced by the kernel headers.</para></warning>
    162 
    163 </sect2>
    164 
    165 
    166 <sect2 id="contents-kernel" role="content"><title>Contents of Linux</title>
    167 
    168 <segmentedlist>
    169 <segtitle>Installed files</segtitle>
    170 <seglistitem><seg>config-&linux-version;, lfskernel-&linux-version;,
    171 and System.map-&linux-version;</seg></seglistitem>
    172 </segmentedlist>
    173 
    174 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    175 <?dbfo list-presentation="list"?>
    176 <?dbhtml list-presentation="table"?>
    177 
    178 <varlistentry id="config">
    179 <term><filename>config-&linux-version;</filename></term>
    180 <listitem>
    181 <para>Contains all the configuration selections for the kernel</para>
    182 <indexterm zone="ch-bootable-kernel config"><primary sortas="e-/boot/config">/boot/config-&linux-version;</primary></indexterm>
    183 </listitem>
    184 </varlistentry>
    185 
    186 <varlistentry id="lfskernel">
    187 <term><filename>lfskernel-&linux-version;</filename></term>
    188 <listitem>
    189 <para>The engine of the Linux system. When turning on the computer,
    190 the kernel is the first part of the operating system that gets loaded.
    191 It detects and initializes all components of the computer's hardware,
    192 then makes these components available as a tree of files to the
    193 software and turns a single CPU into a multitasking machine capable
    194 of running scores of programs seemingly at the same time</para>
    195 <indexterm zone="ch-bootable-kernel lfskernel"><primary sortas="b-lfskernel">lfskernel-&linux-version;</primary></indexterm>
    196 </listitem>
    197 </varlistentry>
    198 
    199 <varlistentry id="System.map">
    200 <term><filename>System.map-&linux-version;</filename></term>
    201 <listitem>
    202 <para>A list of addresses and symbols; it maps the entry points and
    203 addresses of all the functions and data structures in the
    204 kernel</para>
    205 <indexterm zone="ch-bootable-kernel System.map"><primary sortas="e-/boot/System.map">/boot/System.map-&linux-version;</primary></indexterm>
    206 </listitem>
    207 </varlistentry>
    208 </variablelist>
    209 
    210 </sect2>
     150    <para>It is important to note that the files in the kernel source
     151    directory are not owned by <emphasis>root</emphasis>. Whenever a
     152    package is unpacked as user <emphasis>root</emphasis> (like we did
     153    inside chroot), the files have the user and group IDs of whatever
     154    they were on the packager's computer. This is usually not a problem
     155    for any other package to be installed because the source tree is
     156    removed after the installation. However, the Linux source tree is
     157    often retained for a long time.  Because of this, there is a chance
     158    that whatever user ID the packager used will be assigned to somebody
     159    on the machine. That person would then have write access to the kernel
     160    source.</para>
     161
     162    <para>If the kernel source tree is going to be retained, run
     163    <command>chown -R 0:0</command> on the <filename
     164    class="directory">linux-&linux-version;</filename> directory to ensure
     165    all files are owned by user <emphasis>root</emphasis>.</para>
     166
     167    <warning>
     168      <para>Some kernel documentation recommends creating a symlink from
     169      <filename class="symlink">/usr/src/linux</filename> pointing to the kernel
     170      source directory.  This is specific to kernels prior to the 2.6 series and
     171      <emphasis>must not</emphasis> be created on an LFS system as it can cause
     172      problems for packages you may wish to build once your base LFS system is
     173      complete.</para>
     174
     175      <para>Also, the headers in the system's
     176      <filename class="directory">include</filename> directory should
     177      <emphasis>always</emphasis> be the ones against which Glibc was compiled,
     178      that is, the ones from the Linux-Libc-Headers package, and therefore, should
     179      <emphasis>never</emphasis> be replaced by the kernel headers.</para>
     180    </warning>
     181
     182  </sect2>
     183
     184
     185  <sect2 id="contents-kernel" role="content">
     186    <title>Contents of Linux</title>
     187
     188    <segmentedlist>
     189      <segtitle>Installed files</segtitle>
     190
     191      <seglistitem>
     192        <seg>config-&linux-version;, lfskernel-&linux-version;, and
     193        System.map-&linux-version;</seg>
     194      </seglistitem>
     195    </segmentedlist>
     196
     197    <variablelist>
     198      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     199      <?dbfo list-presentation="list"?>
     200      <?dbhtml list-presentation="table"?>
     201
     202      <varlistentry id="config">
     203        <term><filename>config-&linux-version;</filename></term>
     204        <listitem>
     205          <para>Contains all the configuration selections for the kernel</para>
     206          <indexterm zone="ch-bootable-kernel config">
     207            <primary sortas="e-/boot/config">/boot/config-&linux-version;</primary>
     208          </indexterm>
     209        </listitem>
     210      </varlistentry>
     211
     212      <varlistentry id="lfskernel">
     213        <term><filename>lfskernel-&linux-version;</filename></term>
     214        <listitem>
     215          <para>The engine of the Linux system. When turning on the computer,
     216          the kernel is the first part of the operating system that gets loaded.
     217          It detects and initializes all components of the computer's hardware,
     218          then makes these components available as a tree of files to the
     219          software and turns a single CPU into a multitasking machine capable
     220          of running scores of programs seemingly at the same time</para>
     221          <indexterm zone="ch-bootable-kernel lfskernel">
     222            <primary sortas="b-lfskernel">lfskernel-&linux-version;</primary>
     223          </indexterm>
     224        </listitem>
     225      </varlistentry>
     226
     227      <varlistentry id="System.map">
     228        <term><filename>System.map-&linux-version;</filename></term>
     229        <listitem>
     230          <para>A list of addresses and symbols; it maps the entry points and
     231          addresses of all the functions and data structures in the
     232          kernel</para>
     233          <indexterm zone="ch-bootable-kernel System.map">
     234            <primary sortas="e-/boot/System.map">/boot/System.map-&linux-version;</primary>
     235          </indexterm>
     236        </listitem>
     237      </varlistentry>
     238
     239    </variablelist>
     240
     241  </sect2>
    211242
    212243</sect1>
Note: See TracChangeset for help on using the changeset viewer.