Changeset e0a04e8 for chapter08


Ignore:
Timestamp:
12/20/2004 06:08:34 PM (19 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.1, 6.1.1, 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:
1d317bb
Parents:
24244831
Message:

Removed text in chapter 08.

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

Location:
chapter08
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • chapter08/fstab.xml

    r24244831 re0a04e8  
    99
    1010<indexterm zone="ch-bootable-fstab"><primary sortas="e-/etc/fstab">/etc/fstab</primary></indexterm>
    11 
    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, which
    14 must be checked and in which order. Create a new file systems table like
    15 this:</para>
    1611
    1712<screen><userinput>cat &gt; /etc/fstab &lt;&lt; "EOF"
     
    2924EOF</userinput></screen>
    3025
    31 <para>Of course, replace <replaceable>[xxx]</replaceable>, <replaceable>[yyy]</replaceable>
    32 and <replaceable>[fff]</replaceable> with the values appropriate for your system --
    33 for example <filename class="partition">hda2</filename>, <filename class="partition">hda5</filename> and
    34 <systemitem class="filesystem">reiserfs</systemitem>. For all the details on the six fields in this
    35 table, see <command>man 5 fstab</command>.</para>
    36 
    37 <para>When using a reiserfs partition, the <parameter>1 1</parameter> at the
    38 end of the line should be replaced with <parameter>0 0</parameter>, as such a
    39 partition does not need to be dumped or checked</para>
    40 
    41 <para>The <filename class="directory">/dev/shm</filename> mount point for
    42 <systemitem class="filesystem">tmpfs</systemitem> is included to
    43 allow enabling POSIX shared memory. Your kernel must have the required support
    44 built into it for this to work -- more about this in the next section. Please
    45 note that currently very little software actually uses POSIX shared memory.
    46 Therefore you can consider the <filename class="directory">/dev/shm</filename> mount point
    47 optional. For more information, see
    48 <filename>Documentation/filesystems/tmpfs.txt</filename> in the kernel source
    49 tree.</para>
    50 
    51 <para>There are other lines which you may consider adding to your
    52 <filename>fstab</filename> file. One example is a line to use if you intend to
    53 use USB devices:</para>
    54 
    55 <screen> usbfs         /proc/bus/usb usbfs   devgid=14,devmode=0660 0 0 </screen>
    56 
    57 <para>This option will of course only work if you have the
    58 "Support for Host-side USB" and "USB device filesystem"
    59 compiled into your kernel (not as a module).</para>
    60 
    6126</sect1>
  • chapter08/grub.xml

    r24244831 re0a04e8  
    1212<secondary>configuring</secondary></indexterm>
    1313
    14 <para>Your shiny new LFS system is almost complete. One of the last things to
    15 do is ensure you can boot it. The instructions below apply only to computers of
    16 IA-32 architecture, meaning mainstream PCs. Information on <quote>boot
    17 loading</quote> for other architectures should be available in the usual
    18 resource-specific locations for those architectures.</para>
    19 
    20 <para>Boot loading can be a complex area. First, a few cautionary words. You
    21 really should be familiar with your current boot loader and any other
    22 operating systems present on your hard drive(s) that you might wish to keep
    23 bootable. Please make sure that you have an emergency boot disk ready, so that
    24 you can rescue your computer if, by any chance, your computer becomes unusable
    25 (un-bootable).</para>
    26 
    27 <para>Earlier, we compiled and installed the Grub boot loader software in
    28 preparation for this step. The procedure involves writing some special Grub
    29 files to specific locations on the hard drive. Before we get to that, we
    30 highly recommend that you create a Grub boot floppy diskette just in case.
     14<para>We highly recommend that you create a Grub boot floppy diskette just in case.
    3115Insert a blank floppy diskette and run the following commands:</para>
    3216
     
    3923<screen><userinput>grub</userinput></screen>
    4024
    41 <para>Grub uses its own naming structure for drives and partitions, in the form
    42 of (hdn,m), where <emphasis>n</emphasis> is the hard drive number, and
    43 <emphasis>m</emphasis> the partition number, both starting from zero. This
    44 means, for instance, that partition <filename class="partition">hda1</filename> is (hd0,0) to
    45 Grub, and <filename class="partition">hdb2</filename> is (hd1,1). In contrast to Linux, Grub
    46 doesn't consider CD-ROM drives to be hard drives, so if you have a CD on
    47 <filename class="partition">hdb</filename>, for example, and a second hard drive on
    48 <filename class="partition">hdc</filename>, that second hard drive would still be (hd1).</para>
    49 
    50 <para>Using the above information, determine the appropriate designator for
    51 your root partition (or boot partition, if you use a separate one). For the
    52 following example, we'll assume your root (or separate boot) partition is
    53 <filename class="partition">hda4</filename>.</para>
    54 
    5525<para>First, tell Grub where to search for its <filename>stage{1,2}</filename>
    5626files -- you can use the Tab key everywhere to make Grub show the alternatives:</para>
    5727
    5828<screen><userinput>root (hd0,3)</userinput></screen>
    59 
    60 
    61 <warning><para>The following command will overwrite your current boot loader.
    62 Don't run the command if this is not what you want. For example, you may be
    63 using a third party boot manager to manage your MBR (Master Boot Record). In
    64 this scenario, it would probably make more sense to install Grub into the
    65 <quote>boot sector</quote> of the LFS partition, in which case this next command
    66 would become: <userinput>setup (hd0,3)</userinput>.</para></warning>
    67 
    6829
    6930<para>Tell Grub to install itself into the MBR (Master Boot Record) of
     
    11778EOF</userinput></screen>
    11879
    119 <para>If <command>info grub</command> doesn't tell you all you want to
    120 know, you can find more information regarding Grub on its website, located at:
    121 <ulink url="http://www.gnu.org/software/grub/"/>.</para>
    122 
    12380<para>The FHS stipulates that Grub's menu.lst file should be symlinked to
    12481/etc/grub/menu.lst.  To satisfy this requirement, issue the following
  • chapter08/introduction.xml

    r24244831 re0a04e8  
    88<?dbhtml filename="introduction.html"?>
    99
    10 <para>This chapter will make LFS bootable. This chapter deals with creating a
    11 <filename>fstab</filename> file, building a
    12 kernel for the new LFS system and installing the Grub bootloader
    13 so that the LFS system can be selected for booting at startup.</para>
     10<para>See testing</para>
    1411
    1512</sect1>
  • chapter08/kernel.xml

    r24244831 re0a04e8  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Linux package contains the kernel and the header files.</para>
    1413
    1514<segmentedlist>
     
    2019</segmentedlist>
    2120
    22 <segmentedlist>
    23 <segtitle>Linux installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Coreutils, Findutils,
    25 GCC, Glibc, Grep, Gzip, Make, Modutils, Perl, Sed</seg></seglistitem>
    26 </segmentedlist>
    2721</sect2>
    2822
     
    3024<title>Installation of the kernel</title>
    3125
    32 <para>Building the kernel involves a few steps: configuration, compilation, and
    33 installation. If you don't like the way this book configures the kernel, view
    34 the <filename>README</filename> file in the kernel source tree for alternative
    35 methods.</para>
    36 
    3726<para>Prepare for compilation by running the following command:</para>
    3827
    3928<screen><userinput>make mrproper</userinput></screen>
    40 
    41 <para>This ensures that the kernel tree is absolutely clean. The kernel team
    42 recommends that this command be issued prior to <emphasis>each</emphasis>
    43 kernel compilation. You shouldn't rely on the source tree being clean after
    44 un-tarring.</para>
    4529
    4630<para>Also, ensure that the kernel does not attempt to pass hotplugging events
     
    5539    <replaceable>[unpacked sources dir]</replaceable>/linux-&linux-version;/drivers/char/defkeymap.c</userinput></screen>
    5640
    57 <para>For example, if you have a Dutch keyboard, you would use
    58 <filename>/usr/share/kbd/keymaps/i386/qwerty/nl.map.gz</filename>.</para>
    59 
    6041<para>Configure the kernel via a menu-driven interface:</para>
    6142
    6243<screen><userinput>make menuconfig</userinput></screen>
    63 
    64 <para><command>make oldconfig</command> may be more appropriate in some
    65 situations. See the <filename>README</filename> file for more
    66 information.</para>
    67 
    68 <para>If you wish, you may skip kernel configuration by simply copying the
    69 kernel config file, <filename>.config</filename>, from your host system
    70 (assuming it is available) to the unpacked <filename class="directory">linux-&linux-version;</filename>
    71 directory. However, we
    72 don't recommend this option. You're much better off exploring all the
    73 configuration menus and creating your own kernel configuration from
    74 scratch.</para>
    75 
    76 <para>For POSIX shared memory support, ensure that the kernel config option
    77 <quote>Virtual memory file system support</quote> is enabled. It resides within
    78 the <quote>File systems</quote> menu and is normally enabled by default.</para>
    79 
    80 <para>LFS bootscripts make the assumption that you either compile
    81 both <quote>Support for Host-side USB</quote> and
    82 <quote>USB device filesystem</quote> directly into the kernel, or don't compile them at
    83 all. Bootscripts will not work properly if it is a module (<filename>usbcore.ko</filename>).</para>
    84 
    85 <note><para>NPTL requires the kernel to be compiled with GCC 3.x, in this case
    86 &gcc-version;. Compiling with 2.95.x is known to cause failures in the glibc
    87 testsuite, so do <emphasis>not</emphasis> compile the kernel with gcc 2.95.x
    88 unless you know what you're getting yourself into.</para></note>
    8944
    9045<para>Compile the kernel image and modules:</para>
     
    9247<screen><userinput>make</userinput></screen>
    9348
    94 <para>If you intend to use kernel modules, you may need an
    95 <filename>/etc/modprobe.conf</filename> file. Information pertaining
    96 to modules and to kernel configuration in general may be found in the
    97 kernel documentation, which is found in the
    98 <filename class="directory">linux-&linux-version;/Documentation</filename> directory.
    99 The modprobe.conf man page
    100 <!-- removed for review from tldp.org
    101 and the kernel HOWTO at
    102 <ulink url="http://www.tldp.org/HOWTO/Kernel-HOWTO.html"/> -->
    103 may also be of interest to you.</para>
    104 
    105 <para>Be very suspicious while reading other documentation, because it
    106 usually applies to 2.4.x kernels only. As far as the editors know, kernel
    107 configuration issues specific to Hotplug and Udev
    108 are documented nowhere. The problem is that Udev will create a device node
    109 only if Hotplug or a user-written script inserts the corresponding module
    110 into the kernel, and not all modules are detectable by Hotplug. Note
    111 that statements like
    112 <screen>alias char-major-XXX some-module</screen>
    113 in <filename>/etc/modprobe.conf</filename> file don't work with
    114 Udev, and other aliases are often unnecessary with Hotplug.</para>
    115 
    116 <para>Because of all those compilcations with Hotplug, Udev and modules, we
    117 strongly recommend you to start with a completely non-modular kernel
    118 configuration, especially if this is the first time you use Udev.</para>
    119 
    12049<para>Install the modules, if your kernel configuration uses them:</para>
    12150
    12251<screen><userinput>make modules_install</userinput></screen>
    123 
    124 <para>If you have a lot of modules and very little space, you may want to
    125 consider stripping and compressing the modules. For most people such compression
    126 isn't worth the trouble, but if you're really pressed for space, then have a look at
    127 <ulink url="http://www.linux-mips.org/archives/linux-mips/2002-04/msg00031.html"/>.</para>
    128 
    129 <para>Kernel compilation has finished but more steps are required to complete
    130 the installation. Some files need to be copied to the <filename class="directory">/boot</filename>
    131 directory.</para>
    13252
    13353<para>The path to the kernel image may vary depending on the platform you're
     
    13656<screen><userinput>cp arch/i386/boot/bzImage /boot/lfskernel-&linux-version;</userinput></screen>
    13757
    138 <para><filename>System.map</filename> is a symbol file for the kernel. It maps
    139 the function entry points of every function in the kernel API (Application Programming Interface), as well as the
    140 addresses of the kernel data structures for the running kernel. Issue the
    141 following command to install the map file:</para>
    142 
    14358<screen><userinput>cp System.map /boot/System.map-&linux-version;</userinput></screen>
    14459
    145 <para><filename>.config</filename> is the kernel configuration file that was
    146 produced by the <command>make menuconfig</command> step above. It contains all
    147 the config selections for the kernel that was just compiled. It's a good idea
    148 to keep this file for future reference:</para>
    149 
    15060<screen><userinput>cp .config /boot/config-&linux-version;</userinput></screen>
    151 
    152 <para>It is important to note that the files in the kernel source directory are
    153 not owned by <emphasis>root</emphasis>. Whenever you unpack a package as user
    154 <emphasis>root</emphasis> (like we did here inside chroot), the files end up
    155 having the user and group IDs of whatever they were on the packager's computer.
    156 This is usually not a problem for any other package you install because you
    157 remove the source tree after the installation. But the Linux source tree is
    158 often kept around for a long time, so there's a chance that whatever user ID
    159 the packager used will be assigned to somebody on your machine and then that
    160 person would have write access to the kernel source.</para>
    16161
    16262<para>If you are going to keep the kernel source tree around, you may want to
     
    17070<sect2 id="contents-kernel" role="content"><title>Contents of Linux</title>
    17171
    172 <segmentedlist>
    173 <segtitle>Installed files</segtitle>
    174 <seglistitem><seg>the kernel, the kernel headers,
    175 and the System.map</seg></seglistitem>
    176 </segmentedlist>
    177 
    178 <variablelist><title>Short descriptions</title>
    179 
    180 <varlistentry id="kernel">
    181 <term>The <emphasis>kernel</emphasis></term>
    182 <listitem>
    183 <indexterm zone="ch-bootable-kernel kernel"><primary sortas="b-kernel">kernel</primary></indexterm>
    184 <para>is the engine of your Linux system.
    185 When switching on your box, the kernel is the first part of your operating
    186 system that gets loaded. It detects and initializes all the components of your
    187 computer's hardware, then makes these components available as a tree of files
    188 to the software, and turns a single CPU into a multi-tasking machine capable
    189 of running scores of programs seemingly at the same time.</para>
    190 </listitem>
    191 </varlistentry>
    192 
    193 <varlistentry id="kernel-headers">
    194 <term>The <emphasis>kernel headers</emphasis></term>
    195 <listitem>
    196 <indexterm zone="ch-bootable-kernel kernel-headers"><primary sortas="e-kernel-headers">kernel headers</primary></indexterm>
    197 <para>define the interface to the
    198 services that the kernel provides. The headers in your system's
    199 <filename class="directory">include</filename> directory should <emphasis>always</emphasis> be
    200 the ones against which Glibc was compiled and should therefore
    201 <emphasis>not</emphasis> be replaced when upgrading the kernel.</para>
    202 </listitem>
    203 </varlistentry>
    204 
    205 <varlistentry id="System.map">
    206 <term><filename>System.map</filename></term>
    207 <listitem>
    208 <indexterm zone="ch-bootable-kernel System.map"><primary sortas="e-/boot/System.map">/boot/System.map</primary></indexterm>
    209 <para>is a list of addresses and symbols. It maps the entry points and addresses
    210 of all the functions and data structures in the kernel.</para>
    211 </listitem>
    212 </varlistentry>
    213 </variablelist>
     72<para>See testing</para>
    21473
    21574</sect2>
Note: See TracChangeset for help on using the changeset viewer.