1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
|
---|
3 | <!ENTITY % general-entities SYSTEM "../general.ent">
|
---|
4 | %general-entities;
|
---|
5 | ]>
|
---|
6 | <sect1 id="ch-scatter-how">
|
---|
7 | <title>How things are going to be done</title>
|
---|
8 | <?dbhtml filename="how.html"?>
|
---|
9 |
|
---|
10 | <para>See testing</para>
|
---|
11 |
|
---|
12 | <!--
|
---|
13 | <para>You are going to build your LFS system by using a previously installed
|
---|
14 | Linux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This existing
|
---|
15 | Linux system (the host) will be used as a starting point, because you will need
|
---|
16 | programs like a compiler, linker and shell to build the new system. Normally
|
---|
17 | all the required tools are available if you selected <quote>development</quote>
|
---|
18 | as one of the options when you installed your distribution.</para>
|
---|
19 |
|
---|
20 | <para>In <xref linkend="chapter-partitioning"/> you will first create a new Linux native
|
---|
21 | partition and file system, the place where your new LFS system will be compiled
|
---|
22 | and installed. Then in <xref linkend="chapter-getting-materials"/> you download all the
|
---|
23 | packages and patches needed to build an LFS system, and store them on the new
|
---|
24 | file system. In <xref linkend="chapter-final-preps"/> you set up a good
|
---|
25 | environment to work in.</para>
|
---|
26 |
|
---|
27 | <para><xref linkend="chapter-temporary-tools"/> then discusses the installation of a number
|
---|
28 | of packages that will form the basic development suite (or <emphasis>toolchain</emphasis>) which is
|
---|
29 | used to build the actual system in <xref linkend="chapter-building-system"/>. Some of these
|
---|
30 | packages are needed to resolve circular dependencies - for example, to compile
|
---|
31 | a compiler you need a compiler.</para>
|
---|
32 |
|
---|
33 | <para>The first thing to be done in <xref linkend="chapter-temporary-tools"/> is build a
|
---|
34 | first pass of the toolchain, made up of Binutils and GCC. The programs from
|
---|
35 | these packages will be linked statically in order for them to be usable
|
---|
36 | independently of the host system. The second thing to do is build Glibc, the
|
---|
37 | C library. Glibc will be compiled by the toolchain programs just built in
|
---|
38 | the first pass. The third thing to do is build a second pass of the toolchain.
|
---|
39 | This time the toolchain will be dynamically linked against the newly built
|
---|
40 | Glibc. The remaining <xref linkend="chapter-temporary-tools"/> packages are all built using
|
---|
41 | this second pass toolchain and dynamically linked against the new
|
---|
42 | host-independent Glibc. When this is done, the LFS installation process will no
|
---|
43 | longer depend on the host distribution, with the exception of the running
|
---|
44 | kernel.</para>
|
---|
45 |
|
---|
46 | <para>You may be thinking that <quote>this seems like a lot of work, just to
|
---|
47 | get away from my host distribution</quote>. Well, a full technical explanation
|
---|
48 | is provided at the start of <xref linkend="chapter-temporary-tools"/>, including some notes
|
---|
49 | on the differences between statically and dynamically linked programs.</para>
|
---|
50 |
|
---|
51 | <para>In <xref linkend="chapter-building-system"/> your real LFS system will be built. The
|
---|
52 | <command>chroot</command> (change root) program is used to enter a virtual environment and start
|
---|
53 | a new shell whose root directory will be set to the LFS partition. This is very
|
---|
54 | similar to rebooting and instructing the kernel to mount the LFS partition as
|
---|
55 | the root partition. The reason that you don't actually reboot, but instead
|
---|
56 | chroot, is that creating a bootable system requires additional work which isn't
|
---|
57 | necessary just yet. But the major advantage is that <quote>chrooting</quote> allows you to
|
---|
58 | continue using the host while LFS is being built. While waiting for package
|
---|
59 | compilation to complete, you can simply switch to a different VC (Virtual
|
---|
60 | Console) or X desktop and continue using the computer as you normally
|
---|
61 | would.</para>
|
---|
62 |
|
---|
63 | <para>To finish the installation, the bootscripts are set up in
|
---|
64 | <xref linkend="chapter-bootscripts"/>, the kernel and bootloader are set up in
|
---|
65 | <xref linkend="chapter-bootable"/>, and <xref linkend="chapter-finalizing"/> contains some
|
---|
66 | pointers to help you after you finish the book. Then, finally, you're ready to
|
---|
67 | reboot your computer into your new LFS system.</para>
|
---|
68 |
|
---|
69 | <para>This is the process in a nutshell. Detailed information on the steps you
|
---|
70 | will take are discussed in the chapters and package descriptions as you
|
---|
71 | progress through them. If something isn't completely clear now, don't worry,
|
---|
72 | everything will fall into place soon.</para>
|
---|
73 |
|
---|
74 | <para>Please read <xref linkend="chapter-final-preps"/> carefully as it explains
|
---|
75 | a few important things you should be aware of before you begin to work through
|
---|
76 | <xref linkend="chapter-temporary-tools"/> and beyond.</para>
|
---|
77 | -->
|
---|
78 |
|
---|
79 | </sect1>
|
---|