diff options
author | Matthew Burgess <matthew@linuxfromscratch.org> | 2004-05-03 10:59:46 +0000 |
---|---|---|
committer | Matthew Burgess <matthew@linuxfromscratch.org> | 2004-05-03 10:59:46 +0000 |
commit | 673b0d84ba9591e07c0bdf0ee49d92eba10f502c (patch) | |
tree | 129e27a1450727b440da4378e0117a468eb9c25e /chapter08 | |
parent | 287ea55da70ceb1f0990554b7db921d525fef816 (diff) |
* Merged newxml into HEAD
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3435 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter08')
-rw-r--r-- | chapter08/chapter08.xml | 25 | ||||
-rw-r--r-- | chapter08/fstab.xml | 12 | ||||
-rw-r--r-- | chapter08/grub.xml | 47 | ||||
-rw-r--r-- | chapter08/introduction.xml | 12 | ||||
-rw-r--r-- | chapter08/kernel.xml | 74 |
5 files changed, 118 insertions, 52 deletions
diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml index b83bf7691..01fec81e3 100644 --- a/chapter08/chapter08.xml +++ b/chapter08/chapter08.xml @@ -1,10 +1,23 @@ -<chapter id="chapter-mixture" xreflabel="Chapter 8"> +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> +<chapter id="chapter-bootable" xreflabel="Chapter 8"> +<?dbhtml dir="chapter08"?> <title>Making the LFS system bootable</title> -<?dbhtml filename="chapter08.html" dir="chapter08"?> +<?dbhtml filename="chapter08.html"?> + +<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/> + + +<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="fstab.xml"/> + + +<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernel.xml"/> + +<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/> + -&c8-introduction; -&c8-fstab; -&c8-kernel; -&c8-grub-conf; </chapter> diff --git a/chapter08/fstab.xml b/chapter08/fstab.xml index 5959d891a..83b32fbd1 100644 --- a/chapter08/fstab.xml +++ b/chapter08/fstab.xml @@ -1,9 +1,16 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> <sect1 id="ch-bootable-fstab"> <title>Creating the /etc/fstab file</title> -<?dbhtml filename="fstab.html" dir="chapter08"?> +<?dbhtml filename="fstab.html"?> + +<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 partitions are to be mounted by default, which file systems +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> @@ -50,4 +57,3 @@ use USB devices:</para> compiled into your kernel.</para> </sect1> - diff --git a/chapter08/grub.xml b/chapter08/grub.xml index 1a14968b8..aca02cada 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -1,19 +1,28 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> <sect1 id="ch-bootable-grub"> <title>Making the LFS system bootable</title> -<?dbhtml filename="grub.html" dir="chapter08"?> +<?dbhtml filename="grub.html"?> + +<indexterm zone="ch-bootable-grub"> +<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 "boot loading" for -other architectures should be available in the usual resource specific -locations for those architectures.</para> +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 -(unbootable).</para> +(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 @@ -44,24 +53,20 @@ following example, we'll assume your root (or separate boot) partition is <filename>hda4</filename>.</para> <para>First, tell Grub where to search for its <filename>stage{1,2}</filename> -files -- you can use Tab everywhere to make Grub show the alternatives:</para> +files -- you can use the Tab key everywhere to make Grub show the alternatives:</para> <screen><userinput>root (hd0,3)</userinput></screen> -<!-- HACK - Force some whitespace to appease tidy --> -<literallayout></literallayout> <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 -"boot sector" of the LFS partition, in which case the command would become: -<userinput>setup (hd0,3)</userinput>.</para></warning> +<quote>boot sector</quote> of the LFS partition, in which case this next command +would become: <userinput>setup (hd0,3)</userinput>.</para></warning> -<!-- HACK - Force some whitespace to appease tidy --> -<literallayout></literallayout> -<para>Then tell it to install itself into the MBR (Master Boot Record) of +<para>Tell Grub to install itself into the MBR (Master Boot Record) of <filename>hda</filename>:</para> <screen><userinput>setup (hd0)</userinput></screen> @@ -71,8 +76,8 @@ this scenario, it would probably make more sense to install Grub into the <screen><userinput>quit</userinput></screen> -<para>Now we need to create a "menu list" file, defining Grub's boot -menu:</para> +<para>Now we need to create a <quote>menu list</quote> file, defining Grub's +boot menu:</para> <screen><userinput>cat > /boot/grub/menu.lst << "EOF"</userinput> # Begin /boot/grub/menu.lst @@ -92,11 +97,12 @@ root (hd0,3) kernel --no-mem-option /boot/lfskernel root=/dev/hda4 <userinput>EOF</userinput></screen> -<note><para>By default, Grub will automatically pass a "mem=xxx" command line -argument to the kernel. However, Grub occasionally gets the amount of memory -wrong which can lead to problems in some circumstances. It's best to disable -this functionality and let the kernel determine the amount of memory itself, -hence the use of the <emphasis>--no-mem-option</emphasis> above.</para></note> +<note><para>By default, Grub will automatically pass a <quote>mem=xxx</quote> +command line argument to the kernel. However, Grub occasionally gets the amount +of memory wrong which can lead to problems in some circumstances. It's best to +disable this functionality and let the kernel determine the amount of memory +itself, hence the use of the <emphasis>--no-mem-option</emphasis> above.</para> +</note> <para>You may want to add an entry for your host distribution. It might look like this:</para> @@ -122,4 +128,3 @@ know, you can find more information regarding Grub on its website, located at: <ulink url="http://www.gnu.org/software/grub/"/>.</para> </sect1> - diff --git a/chapter08/introduction.xml b/chapter08/introduction.xml index e4a4d4f83..6d8723909 100644 --- a/chapter08/introduction.xml +++ b/chapter08/introduction.xml @@ -1,11 +1,15 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> <sect1 id="ch-bootable-introduction"> <title>Introduction</title> -<?dbhtml filename="introduction.html" dir="chapter08"?> +<?dbhtml filename="introduction.html"?> <para>This chapter will make LFS bootable. This chapter deals with creating a -new fstab file, building a -new kernel for the new LFS system and installing the Grub bootloader +fstab 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> </sect1> - diff --git a/chapter08/kernel.xml b/chapter08/kernel.xml index 5f1f69d8d..5ad76a1a4 100644 --- a/chapter08/kernel.xml +++ b/chapter08/kernel.xml @@ -1,16 +1,23 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> <sect1 id="ch-bootable-kernel" xreflabel="Linux"> -<title>Installing Linux-&kernel-version;</title> -<?dbhtml filename="kernel.html" dir="chapter08"?> +<title>Linux-&linux-version;</title> +<?dbhtml filename="kernel.html"?> + +<indexterm zone="ch-bootable-kernel"><primary sortas="a-Linux">Linux</primary></indexterm> <para>The Linux package contains the kernel and the header files.</para> -<screen>Estimated build time: &kernel-time; -Estimated required disk space: &kernel-compsize;</screen> +<screen>&buildtime; All default options: 4.20 SBU +&diskspace; All default options: 181 MB</screen> + +<para>Linux installation depends on: Bash, Binutils, Coreutils, Findutils, +GCC, Glibc, Grep, Gzip, Make, Modutils, Perl, Sed.</para> -&aa-kernel-down; -&aa-kernel-dep; -<sect2><title> </title><para> </para></sect2> <sect2> <title>Installation of the kernel</title> @@ -27,7 +34,7 @@ methods.</para> <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 -untarring.</para> +un-tarring.</para> <para>Configure the kernel via a menu-driven interface:</para> @@ -39,15 +46,15 @@ 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-&kernel-version;</filename> directory. However, we +(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 -"Virtual memory file system support" is enabled. It resides within the -"File systems" menu and is normally enabled by default.</para> +<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>Verify dependencies and create dependency information files:</para> @@ -65,9 +72,9 @@ scratch.</para> <filename>/etc/modules.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>linux-&kernel-version;/Documentation</filename> directory. The +<filename>linux-2.4.25/Documentation</filename> directory. The modules.conf man page and the kernel HOWTO at -<ulink url="&tldp-root;HOWTO/Kernel-HOWTO.html"/> may also be of +<ulink url="http://www.tldp.org/HOWTO/Kernel-HOWTO.html"/> may also be of interest to you.</para> <para>Install the modules:</para> @@ -98,7 +105,7 @@ using. Issue the following command to install the kernel:</para> <screen><userinput>cp arch/i386/boot/bzImage /boot/lfskernel</userinput></screen> <para><filename>System.map</filename> is a symbol file for the kernel. It maps -the function entrypoints of every function in the kernel API, as well as the +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> @@ -123,12 +130,43 @@ 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 <userinput>chown -R 0:0</userinput> on the -<filename>linux-&kernel-version;</filename> directory to ensure all files are +<filename>linux-2.4.25</filename> directory to ensure all files are owned by user <emphasis>root</emphasis>.</para> </sect2> -&aa-kernel-shortdesc; -&aa-kernel-desc; + +<sect2 id="contents-kernel"><title>Contents of Linux</title> + +<para><emphasis>Installed files</emphasis>: the kernel, the kernel headers, +and the System.map</para> + +</sect2> + +<sect2><title>Short descriptions</title> + +<indexterm zone="ch-bootable-kernel kernel"><primary sortas="b-kernel">kernel</primary></indexterm> +<para id="kernel">The <emphasis>kernel</emphasis> is the engine of your GNU/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> + +<indexterm zone="ch-bootable-kernel kernel-headers"><primary sortas="e-kernel-headers">kernel headers</primary></indexterm> +<para id="kernel-headers">The <emphasis>kernel headers</emphasis> define the interface to the +services that the kernel provides. The headers in your system's +<filename>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> + +<indexterm zone="ch-bootable-kernel System.map"><primary sortas="e-/boot/System.map">/boot/System.map</primary></indexterm> +<para id="System.map">The <filename>System.map</filename> file 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> + +</sect2> + + </sect1> |