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 /chapter01/how.xml | |
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 'chapter01/how.xml')
-rw-r--r-- | chapter01/how.xml | 92 |
1 files changed, 51 insertions, 41 deletions
diff --git a/chapter01/how.xml b/chapter01/how.xml index 18bbfc3fc..1181abb3e 100644 --- a/chapter01/how.xml +++ b/chapter01/how.xml @@ -1,6 +1,11 @@ +<?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-scatter-how"> <title>How things are going to be done</title> -<?dbhtml filename="how.html" dir="chapter01"?> +<?dbhtml filename="how.html"?> <para>You are going to build your LFS system by using a previously installed Linux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This existing @@ -9,57 +14,62 @@ programs like a compiler, linker and shell to build the new system. Normally all the required tools are available if you selected <quote>development</quote> as one of the options when you installed your distribution.</para> -<para>In <xref linkend="chapter-making-space"/> you will first create a new +<para>In <xref linkend="chapter-partitioning"/> you will first create a new Linux native partition and file system, the place where your new LFS system will be compiled -and installed. Then in <xref linkend="chapter-getting-materials"/> you download -all the packages and patches needed to build an LFS system, and store them on -the new file system. In <xref linkend="chapter-preparation"/> you set up a good +and installed. Then in <xref linkend="chapter-getting-materials"/> you download all the +packages and patches needed to build an LFS system, and store them on the new +file system. In <xref linkend="chapter-final-preps"/> you set up a good environment to work in.</para> -<para><xref linkend="chapter-temporary-tools"/> then discusses the installation -of a number of packages that form the basic development suite used to build the -actual system in <xref linkend="chapter-building-system"/>.</para> +<para><xref linkend="chapter-temporary-tools"/> then discusses the installation of a number +of packages that will form the basic development suite (or <emphasis>toolchain</emphasis>) which is +used to build the actual system in <xref linkend="chapter-building-system"/>. Some of these +packages are needed to resolve circular dependencies -- for example, to compile +a compiler you need a compiler.</para> -<para>The first thing to be done in <xref linkend="chapter-temporary-tools"/> -is build a first pass of the <emphasis>toolchain</emphasis>, consisting of -Binutils and GCC. The programs from these packages will be linked statically in -order for them to be usable independently of the host system (thus making it -in theory possible to skip the second passes). The second thing to do is build -Glibc, the C library. Glibc will be compiled by the just-built toolchain -programs. The third thing to do is build a second pass of the toolchain, this -time linking it dynamically against the newly built Glibc. The remaining <xref -linkend="chapter-temporary-tools"/> packages are all built using this second -pass toolchain and are dynamically linked against the new host-independent -Glibc. When this is done, the LFS installation process will no longer depend on -the host distribution, with the exception of the running kernel.</para> +<para>The first thing to be done in <xref linkend="chapter-temporary-tools"/> is build a +first pass of the toolchain, made up of Binutils and GCC. The programs from +these packages will be linked statically in order for them to be usable +independently of the host system. The second thing to do is build Glibc, the +C library. Glibc will be compiled by the toolchain programs just built in +the first pass. The third thing to do is build a second pass of the toolchain. +This time the toolchain will be dynamically linked against the newly built +Glibc. The remaining <xref linkend="chapter-temporary-tools"/> packages are all built using +this second pass toolchain and dynamically linked against the new +host-independent Glibc. When this is done, the LFS installation process will no +longer depend on the host distribution, with the exception of the running +kernel.</para> <para>You may be thinking that <quote>this seems like a lot of work, just to get away from my host distribution</quote>. Well, a full technical explanation -is provided at the start of <xref linkend="chapter-temporary-tools"/>, -including some notes on the differences between statically and dynamically -linked programs.</para> +is provided at the start of <xref linkend="chapter-temporary-tools"/>, including some notes +on the differences between statically and dynamically linked programs.</para> -<para>In <xref linkend="chapter-building-system"/> your real LFS system will be -built. The <command>chroot</command> (change root) program is used to enter a -virtual environment and start a new shell whose root directory will be set to -the LFS partition. This is very similar to rebooting and instructing the kernel -to mount the LFS partition as the root partition. The reason that you don't -actually reboot, but instead chroot, is that creating a bootable system -requires additional work which isn't necessary just yet. But the major -advantage is that chrooting allows you to continue using the host while LFS is -being built. While waiting for package compilation to complete, you can simply -switch to a different VC (Virtual Console) or X desktop and continue using the -computer as you normally would.</para> +<para>In <xref linkend="chapter-building-system"/> your real LFS system will be built. The +chroot (change root) program is used to enter a virtual environment and start +a new shell whose root directory will be set to the LFS partition. This is very +similar to rebooting and instructing the kernel to mount the LFS partition as +the root partition. The reason that you don't actually reboot, but instead +chroot, is that creating a bootable system requires additional work which isn't +necessary just yet. But the major advantage is that <quote>chrooting</quote> allows you to +continue using the host while LFS is being built. While waiting for package +compilation to complete, you can simply switch to a different VC (Virtual +Console) or X desktop and continue using the computer as you normally +would.</para> <para>To finish the installation, the bootscripts are set up in <xref linkend="chapter-bootscripts"/>, the kernel and bootloader are set up in -<xref linkend="chapter-mixture"/>, and <xref linkend="chapter-finalizing"/> -contains some pointers to help you after you finish the book. Then, finally, -you're ready to reboot your computer into your new LFS system.</para> +<xref linkend="chapter-bootable"/>, and <xref linkend="chapter-finalizing"/> contains some +pointers to help you after you finish the book. Then, finally, you're ready to +reboot your computer into your new LFS system.</para> -<para>This is the process in a nutshell. Detailed information on all the steps -taken is given in the chapters and sections as you progress through them. If -something isn't completely clear now, don't worry, everything will fall into -place soon.</para> +<para>This is the process in a nutshell. Detailed information on the steps you +will take are discussed in the chapters and package descriptions as you +progress through them. If something isn't completely clear now, don't worry, +everything will fall into place soon.</para> + +<para>Please read <xref linkend="chapter-final-preps"/> carefully as it explains + a few important things you should be aware of before you begin to work through +<xref linkend="chapter-temporary-tools"/> and beyond.</para> </sect1> |