[3be4d97] | 1 | <sect1 id="ch-scatter-how">
|
---|
[6370fa6] | 2 | <title>How things are going to be done</title>
|
---|
[04f5529] | 3 | <?dbhtml filename="how.html" dir="chapter01"?>
|
---|
[6370fa6] | 4 |
|
---|
[35c2fa60] | 5 | <para>You are going to build your LFS system by using a previously installed
|
---|
| 6 | Linux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This existing
|
---|
| 7 | Linux system (the host) will be used as a starting point, because you will need
|
---|
| 8 | programs like a compiler, linker and shell to build the new system. Normally
|
---|
| 9 | all the required tools are available if you selected <quote>development</quote>
|
---|
| 10 | as one of the options when you installed your distribution.</para>
|
---|
[6370fa6] | 11 |
|
---|
[c6b5ddb] | 12 | <para>In <xref linkend="chapter-making-space"/> you will first create a new
|
---|
[7f1fcd8] | 13 | partition and file system, the place where your new LFS system will be compiled
|
---|
[c6b5ddb] | 14 | and installed. Then in <xref linkend="chapter-getting-materials"/> you download
|
---|
| 15 | all the packages and patches needed to build an LFS system, and store them on
|
---|
| 16 | the new file system. In <xref linkend="chapter-preparation"/> you set up a good
|
---|
| 17 | environment to work in.</para>
|
---|
[c61dd1e] | 18 |
|
---|
[c6b5ddb] | 19 | <para><xref linkend="chapter-temporary-tools"/> then discusses the installation
|
---|
| 20 | of a number of packages that form the basic development suite used to build the
|
---|
| 21 | actual system in <xref linkend="chapter-building-system"/>.</para>
|
---|
[60ed866] | 22 |
|
---|
[c6b5ddb] | 23 | <para>The first thing to be done in <xref linkend="chapter-temporary-tools"/>
|
---|
| 24 | is build a first pass of the <emphasis>toolchain</emphasis>, consisting of
|
---|
| 25 | Binutils and GCC. The programs from these packages will be linked statically in
|
---|
| 26 | order for them to be usable independently of the host system (thus making it
|
---|
| 27 | in theory possible to skip the second passes). The second thing to do is build
|
---|
| 28 | Glibc, the C library. Glibc will be compiled by the just-built toolchain
|
---|
| 29 | programs. The third thing to do is build a second pass of the toolchain, this
|
---|
| 30 | time linking it dynamically against the newly built Glibc. The remaining <xref
|
---|
| 31 | linkend="chapter-temporary-tools"/> packages are all built using this second
|
---|
| 32 | pass toolchain and are dynamically linked against the new host-independent
|
---|
| 33 | Glibc. When this is done, the LFS installation process will no longer depend on
|
---|
| 34 | the host distribution, with the exception of the running kernel.</para>
|
---|
[c61dd1e] | 35 |
|
---|
[7f1fcd8] | 36 | <para>You may be thinking that <quote>this seems like a lot of work, just to
|
---|
| 37 | get away from my host distribution</quote>. Well, a full technical explanation
|
---|
[c6b5ddb] | 38 | is provided at the start of <xref linkend="chapter-temporary-tools"/>,
|
---|
| 39 | including some notes on the differences between statically and dynamically
|
---|
| 40 | linked programs.</para>
|
---|
[cc7e27a] | 41 |
|
---|
[c6b5ddb] | 42 | <para>In <xref linkend="chapter-building-system"/> your real LFS system will be
|
---|
| 43 | built. The <command>chroot</command> (change root) program is used to enter a
|
---|
| 44 | virtual environment and start a new shell whose root directory will be set to
|
---|
| 45 | the LFS partition. This is very similar to rebooting and instructing the kernel
|
---|
| 46 | to mount the LFS partition as the root partition. The reason that you don't
|
---|
| 47 | actually reboot, but instead chroot, is that creating a bootable system
|
---|
| 48 | requires additional work which isn't necessary just yet. But the major
|
---|
| 49 | advantage is that chrooting allows you to continue using the host while LFS is
|
---|
| 50 | being built. While waiting for package compilation to complete, you can simply
|
---|
| 51 | switch to a different VC (Virtual Console) or X desktop and continue using the
|
---|
| 52 | computer as you normally would.</para>
|
---|
[32489b5] | 53 |
|
---|
[7f1fcd8] | 54 | <para>To finish the installation, the bootscripts are set up in
|
---|
[dcff046] | 55 | <xref linkend="chapter-bootscripts"/>, the kernel and bootloader are set up in
|
---|
[c6b5ddb] | 56 | <xref linkend="chapter-mixture"/>, and <xref linkend="chapter-finalizing"/>
|
---|
| 57 | contains some pointers to help you after you finish the book. Then, finally,
|
---|
| 58 | you're ready to reboot your computer into your new LFS system.</para>
|
---|
[32489b5] | 59 |
|
---|
[c6b5ddb] | 60 | <para>This is the process in a nutshell. Detailed information on all the steps
|
---|
| 61 | taken is given in the chapters and sections as you progress through them. If
|
---|
| 62 | something isn't completely clear now, don't worry, everything will fall into
|
---|
| 63 | place soon.</para>
|
---|
[6370fa6] | 64 |
|
---|
| 65 | </sect1>
|
---|