diff options
author | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2004-12-20 18:08:34 +0000 |
---|---|---|
committer | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2004-12-20 18:08:34 +0000 |
commit | e0a04e86b21514726e2ed072700a2e99022010a6 (patch) | |
tree | 27936a808f85294fb132587eb2b417b9ee9b04af /chapter08 | |
parent | 242448316a5872eb33374716ac12408e9bf2f5ac (diff) |
Removed text in chapter 08.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@4436 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter08')
-rw-r--r-- | chapter08/fstab.xml | 35 | ||||
-rw-r--r-- | chapter08/grub.xml | 45 | ||||
-rw-r--r-- | chapter08/introduction.xml | 5 | ||||
-rw-r--r-- | chapter08/kernel.xml | 143 |
4 files changed, 3 insertions, 225 deletions
diff --git a/chapter08/fstab.xml b/chapter08/fstab.xml index c5cc0123b..50cfd8315 100644 --- a/chapter08/fstab.xml +++ b/chapter08/fstab.xml @@ -9,11 +9,6 @@ <indexterm zone="ch-bootable-fstab"><primary sortas="e-/etc/fstab">/etc/fstab</primary></indexterm> -<para>The <filename>/etc/fstab</filename> file is used by some programs to -determine where file systems are to be mounted by default, which -must be checked and in which order. Create a new file systems table like -this:</para> - <screen><userinput>cat > /etc/fstab << "EOF" # Begin /etc/fstab @@ -28,34 +23,4 @@ shm /dev/shm tmpfs defaults 0 0 # End /etc/fstab EOF</userinput></screen> -<para>Of course, replace <replaceable>[xxx]</replaceable>, <replaceable>[yyy]</replaceable> -and <replaceable>[fff]</replaceable> with the values appropriate for your system -- -for example <filename class="partition">hda2</filename>, <filename class="partition">hda5</filename> and -<systemitem class="filesystem">reiserfs</systemitem>. For all the details on the six fields in this -table, see <command>man 5 fstab</command>.</para> - -<para>When using a reiserfs partition, the <parameter>1 1</parameter> at the -end of the line should be replaced with <parameter>0 0</parameter>, as such a -partition does not need to be dumped or checked</para> - -<para>The <filename class="directory">/dev/shm</filename> mount point for -<systemitem class="filesystem">tmpfs</systemitem> is included to -allow enabling POSIX shared memory. Your kernel must have the required support -built into it for this to work -- more about this in the next section. Please -note that currently very little software actually uses POSIX shared memory. -Therefore you can consider the <filename class="directory">/dev/shm</filename> mount point -optional. For more information, see -<filename>Documentation/filesystems/tmpfs.txt</filename> in the kernel source -tree.</para> - -<para>There are other lines which you may consider adding to your -<filename>fstab</filename> file. One example is a line to use if you intend to -use USB devices:</para> - -<screen> usbfs /proc/bus/usb usbfs devgid=14,devmode=0660 0 0 </screen> - -<para>This option will of course only work if you have the -"Support for Host-side USB" and "USB device filesystem" -compiled into your kernel (not as a module).</para> - </sect1> diff --git a/chapter08/grub.xml b/chapter08/grub.xml index 57293c359..98a339698 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -11,23 +11,7 @@ <primary sortas="a-Grub">Grub</primary> <secondary>configuring</secondary></indexterm> -<para>Your shiny new LFS system is almost complete. One of the last things to -do is ensure you can boot it. The instructions below apply only to computers of -IA-32 architecture, meaning mainstream PCs. Information on <quote>boot -loading</quote> for other architectures should be available in the usual -resource-specific locations for those architectures.</para> - -<para>Boot loading can be a complex area. First, a few cautionary words. You -really should be familiar with your current boot loader and any other -operating systems present on your hard drive(s) that you might wish to keep -bootable. Please make sure that you have an emergency boot disk ready, so that -you can rescue your computer if, by any chance, your computer becomes unusable -(un-bootable).</para> - -<para>Earlier, we compiled and installed the Grub boot loader software in -preparation for this step. The procedure involves writing some special Grub -files to specific locations on the hard drive. Before we get to that, we -highly recommend that you create a Grub boot floppy diskette just in case. +<para>We highly recommend that you create a Grub boot floppy diskette just in case. Insert a blank floppy diskette and run the following commands:</para> <screen><userinput>dd if=/boot/grub/stage1 of=/dev/fd0 bs=512 count=1 @@ -38,34 +22,11 @@ dd if=/boot/grub/stage2 of=/dev/fd0 bs=512 seek=1</userinput></screen> <screen><userinput>grub</userinput></screen> -<para>Grub uses its own naming structure for drives and partitions, in the form -of (hdn,m), where <emphasis>n</emphasis> is the hard drive number, and -<emphasis>m</emphasis> the partition number, both starting from zero. This -means, for instance, that partition <filename class="partition">hda1</filename> is (hd0,0) to -Grub, and <filename class="partition">hdb2</filename> is (hd1,1). In contrast to Linux, Grub -doesn't consider CD-ROM drives to be hard drives, so if you have a CD on -<filename class="partition">hdb</filename>, for example, and a second hard drive on -<filename class="partition">hdc</filename>, that second hard drive would still be (hd1).</para> - -<para>Using the above information, determine the appropriate designator for -your root partition (or boot partition, if you use a separate one). For the -following example, we'll assume your root (or separate boot) partition is -<filename class="partition">hda4</filename>.</para> - <para>First, tell Grub where to search for its <filename>stage{1,2}</filename> files -- you can use the Tab key everywhere to make Grub show the alternatives:</para> <screen><userinput>root (hd0,3)</userinput></screen> - -<warning><para>The following command will overwrite your current boot loader. -Don't run the command if this is not what you want. For example, you may be -using a third party boot manager to manage your MBR (Master Boot Record). In -this scenario, it would probably make more sense to install Grub into the -<quote>boot sector</quote> of the LFS partition, in which case this next command -would become: <userinput>setup (hd0,3)</userinput>.</para></warning> - - <para>Tell Grub to install itself into the MBR (Master Boot Record) of <filename class="partition">hda</filename>:</para> @@ -116,10 +77,6 @@ rootnoverify (hd0,0) chainloader +1 EOF</userinput></screen> -<para>If <command>info grub</command> doesn't tell you all you want to -know, you can find more information regarding Grub on its website, located at: -<ulink url="http://www.gnu.org/software/grub/"/>.</para> - <para>The FHS stipulates that Grub's menu.lst file should be symlinked to /etc/grub/menu.lst. To satisfy this requirement, issue the following command:</para> diff --git a/chapter08/introduction.xml b/chapter08/introduction.xml index a879c4a24..b55766f4c 100644 --- a/chapter08/introduction.xml +++ b/chapter08/introduction.xml @@ -7,9 +7,6 @@ <title>Introduction</title> <?dbhtml filename="introduction.html"?> -<para>This chapter will make LFS bootable. This chapter deals with creating a -<filename>fstab</filename> file, building a -kernel for the new LFS system and installing the Grub bootloader -so that the LFS system can be selected for booting at startup.</para> +<para>See testing</para> </sect1> diff --git a/chapter08/kernel.xml b/chapter08/kernel.xml index d600342a8..1d41e21b7 100644 --- a/chapter08/kernel.xml +++ b/chapter08/kernel.xml @@ -10,7 +10,6 @@ <indexterm zone="ch-bootable-kernel"><primary sortas="a-Linux">Linux</primary></indexterm> <sect2 role="package"><title/> -<para>The Linux package contains the kernel and the header files.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> @@ -19,30 +18,15 @@ <seg>All default options: 181 MB</seg></seglistitem> </segmentedlist> -<segmentedlist> -<segtitle>Linux installation depends on</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, Findutils, -GCC, Glibc, Grep, Gzip, Make, Modutils, Perl, Sed</seg></seglistitem> -</segmentedlist> </sect2> <sect2 role="installation"> <title>Installation of the kernel</title> -<para>Building the kernel involves a few steps: configuration, compilation, and -installation. If you don't like the way this book configures the kernel, view -the <filename>README</filename> file in the kernel source tree for alternative -methods.</para> - <para>Prepare for compilation by running the following command:</para> <screen><userinput>make mrproper</userinput></screen> -<para>This ensures that the kernel tree is absolutely clean. The kernel team -recommends that this command be issued prior to <emphasis>each</emphasis> -kernel compilation. You shouldn't rely on the source tree being clean after -un-tarring.</para> - <para>Also, ensure that the kernel does not attempt to pass hotplugging events to userspace until userspace specifies that it is ready:</para> @@ -54,111 +38,27 @@ to compile the keymap into the kernel, issue the command below:</para> <screen><userinput>loadkeys -m /usr/share/kbd/keymaps/<replaceable>[path to keymap]</replaceable> > \ <replaceable>[unpacked sources dir]</replaceable>/linux-&linux-version;/drivers/char/defkeymap.c</userinput></screen> -<para>For example, if you have a Dutch keyboard, you would use -<filename>/usr/share/kbd/keymaps/i386/qwerty/nl.map.gz</filename>.</para> - <para>Configure the kernel via a menu-driven interface:</para> <screen><userinput>make menuconfig</userinput></screen> -<para><command>make oldconfig</command> may be more appropriate in some -situations. See the <filename>README</filename> file for more -information.</para> - -<para>If you wish, you may skip kernel configuration by simply copying the -kernel config file, <filename>.config</filename>, from your host system -(assuming it is available) to the unpacked <filename class="directory">linux-&linux-version;</filename> -directory. However, we -don't recommend this option. You're much better off exploring all the -configuration menus and creating your own kernel configuration from -scratch.</para> - -<para>For POSIX shared memory support, ensure that the kernel config option -<quote>Virtual memory file system support</quote> is enabled. It resides within -the <quote>File systems</quote> menu and is normally enabled by default.</para> - -<para>LFS bootscripts make the assumption that you either compile -both <quote>Support for Host-side USB</quote> and -<quote>USB device filesystem</quote> directly into the kernel, or don't compile them at -all. Bootscripts will not work properly if it is a module (<filename>usbcore.ko</filename>).</para> - -<note><para>NPTL requires the kernel to be compiled with GCC 3.x, in this case -&gcc-version;. Compiling with 2.95.x is known to cause failures in the glibc -testsuite, so do <emphasis>not</emphasis> compile the kernel with gcc 2.95.x -unless you know what you're getting yourself into.</para></note> - <para>Compile the kernel image and modules:</para> <screen><userinput>make</userinput></screen> -<para>If you intend to use kernel modules, you may need an -<filename>/etc/modprobe.conf</filename> file. Information pertaining -to modules and to kernel configuration in general may be found in the -kernel documentation, which is found in the -<filename class="directory">linux-&linux-version;/Documentation</filename> directory. -The modprobe.conf man page -<!-- removed for review from tldp.org -and the kernel HOWTO at -<ulink url="http://www.tldp.org/HOWTO/Kernel-HOWTO.html"/> --> -may also be of interest to you.</para> - -<para>Be very suspicious while reading other documentation, because it -usually applies to 2.4.x kernels only. As far as the editors know, kernel -configuration issues specific to Hotplug and Udev -are documented nowhere. 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 -<screen>alias char-major-XXX some-module</screen> -in <filename>/etc/modprobe.conf</filename> file don't work with -Udev, and other aliases are often unnecessary with Hotplug.</para> - -<para>Because of all those compilcations with Hotplug, Udev and modules, we -strongly recommend you to start with a completely non-modular kernel -configuration, especially if this is the first time you use Udev.</para> - <para>Install the modules, if your kernel configuration uses them:</para> <screen><userinput>make modules_install</userinput></screen> -<para>If you have a lot of modules and very little space, you may want to -consider stripping and compressing the modules. For most people such compression -isn't worth the trouble, but if you're really pressed for space, then have a look at -<ulink url="http://www.linux-mips.org/archives/linux-mips/2002-04/msg00031.html"/>.</para> - -<para>Kernel compilation has finished but more steps are required to complete -the installation. Some files need to be copied to the <filename class="directory">/boot</filename> -directory.</para> - <para>The path to the kernel image may vary depending on the platform you're using. Issue the following command to install the kernel:</para> <screen><userinput>cp arch/i386/boot/bzImage /boot/lfskernel-&linux-version;</userinput></screen> -<para><filename>System.map</filename> is a symbol file for the kernel. It maps -the function entry points of every function in the kernel API (Application Programming Interface), as well as the -addresses of the kernel data structures for the running kernel. Issue the -following command to install the map file:</para> - <screen><userinput>cp System.map /boot/System.map-&linux-version;</userinput></screen> -<para><filename>.config</filename> is the kernel configuration file that was -produced by the <command>make menuconfig</command> step above. It contains all -the config selections for the kernel that was just compiled. It's a good idea -to keep this file for future reference:</para> - <screen><userinput>cp .config /boot/config-&linux-version;</userinput></screen> -<para>It is important to note that the files in the kernel source directory are -not owned by <emphasis>root</emphasis>. Whenever you unpack a package as user -<emphasis>root</emphasis> (like we did here inside chroot), the files end up -having the user and group IDs of whatever they were on the packager's computer. -This is usually not a problem for any other package you install because you -remove the source tree after the installation. But the Linux source tree is -often kept around for a long time, so there's a chance that whatever user ID -the packager used will be assigned to somebody on your machine and then that -person would have write access to the kernel source.</para> - <para>If you are going to keep the kernel source tree around, you may want to run <command>chown -R 0:0</command> on the <filename class="directory">linux-&linux-version;</filename> directory to ensure all files are @@ -169,48 +69,7 @@ owned by user <emphasis>root</emphasis>.</para> <sect2 id="contents-kernel" role="content"><title>Contents of Linux</title> -<segmentedlist> -<segtitle>Installed files</segtitle> -<seglistitem><seg>the kernel, the kernel headers, -and the System.map</seg></seglistitem> -</segmentedlist> - -<variablelist><title>Short descriptions</title> - -<varlistentry id="kernel"> -<term>The <emphasis>kernel</emphasis></term> -<listitem> -<indexterm zone="ch-bootable-kernel kernel"><primary sortas="b-kernel">kernel</primary></indexterm> -<para>is the engine of your Linux system. -When switching on your box, the kernel is the first part of your operating -system that gets loaded. It detects and initializes all the components of your -computer's hardware, then makes these components available as a tree of files -to the software, and turns a single CPU into a multi-tasking machine capable -of running scores of programs seemingly at the same time.</para> -</listitem> -</varlistentry> - -<varlistentry id="kernel-headers"> -<term>The <emphasis>kernel headers</emphasis></term> -<listitem> -<indexterm zone="ch-bootable-kernel kernel-headers"><primary sortas="e-kernel-headers">kernel headers</primary></indexterm> -<para>define the interface to the -services that the kernel provides. The headers in your system's -<filename class="directory">include</filename> directory should <emphasis>always</emphasis> be -the ones against which Glibc was compiled and should therefore -<emphasis>not</emphasis> be replaced when upgrading the kernel.</para> -</listitem> -</varlistentry> - -<varlistentry id="System.map"> -<term><filename>System.map</filename></term> -<listitem> -<indexterm zone="ch-bootable-kernel System.map"><primary sortas="e-/boot/System.map">/boot/System.map</primary></indexterm> -<para>is a list of addresses and symbols. It maps the entry points and addresses -of all the functions and data structures in the kernel.</para> -</listitem> -</varlistentry> -</variablelist> +<para>See testing</para> </sect2> |