[6370fa6] | 1 | <sect1 id="ch05-introduction">
|
---|
| 2 | <title>Introduction</title>
|
---|
[75043c22] | 3 | <?dbhtml filename="introduction.html" dir="chapter05"?>
|
---|
[6370fa6] | 4 |
|
---|
[5756284] | 5 | <para>In this chapter we will compile and install a minimal
|
---|
| 6 | Linux system. This system will contain just enough tools to be able
|
---|
| 7 | to start constructing the final LFS system in the next chapter.</para>
|
---|
| 8 |
|
---|
[66e4325] | 9 | <para>The building of this minimal system is done in two steps: first we
|
---|
| 10 | build a brand-new and host-independent toolchain (compiler, assembler,
|
---|
| 11 | linker and libraries), and then use this to build all the other essential
|
---|
| 12 | tools.</para>
|
---|
| 13 |
|
---|
[5756284] | 14 | <para>The files compiled in this chapter will be installed under the
|
---|
[4e62907] | 15 | <filename class="directory">$LFS/tools</filename> directory
|
---|
[5756284] | 16 | to keep them separate from the files installed in the next chapter.
|
---|
[ef380b4] | 17 | Since the packages compiled here are merely temporary, we don't want
|
---|
| 18 | them to pollute the soon-to-be LFS system.</para>
|
---|
[5756284] | 19 |
|
---|
| 20 | <para>The key to learning what makes a Linux system work is to know
|
---|
[4e62907] | 21 | what each package is used for and why the user or the system needs it.
|
---|
[66e4325] | 22 | For this purpose a short summary of the content of each package is given
|
---|
| 23 | before the actual installation instructions. For a short description of
|
---|
| 24 | each program in a package, please refer to the corresponding section in
|
---|
| 25 | <xref linkend="appendixa"/>.</para>
|
---|
[5756284] | 26 |
|
---|
[3cf0fef] | 27 | <para>Several of the packages are patched before compilation, but only when
|
---|
| 28 | the patch is needed to circumvent a problem. Often the patch is needed in
|
---|
[4e62907] | 29 | both this and the next chapter, but sometimes in only one of them. Therefore,
|
---|
| 30 | don't worry when instructions for a downloaded patch seem to be missing.</para>
|
---|
[5ebcbcc] | 31 |
|
---|
[3cf0fef] | 32 | <para>During the installation of most packages you will
|
---|
[5756284] | 33 | see all kinds of compiler warnings scroll by on your screen. These are
|
---|
| 34 | normal and can be safely ignored. They are just what they say they are:
|
---|
[35c2fa60] | 35 | warnings -- mostly about deprecated, but not invalid, use of the C or C++
|
---|
[5756284] | 36 | syntax. It's just that C standards have changed rather often and some
|
---|
| 37 | packages still use the older standard, which is not really a problem.</para>
|
---|
| 38 |
|
---|
[617bacd] | 39 | <para><emphasis>Unless</emphasis> told not to, you should normally delete the
|
---|
| 40 | source and build directories after installing each package -- for cleanness
|
---|
| 41 | sake and to save space.</para>
|
---|
| 42 |
|
---|
[3cf0fef] | 43 | <para>Before continuing, make sure the LFS environment variable is set up
|
---|
[4e62907] | 44 | properly by executing the following:</para>
|
---|
[b822811] | 45 |
|
---|
[21ba4e3] | 46 | <screen><userinput>echo $LFS</userinput></screen>
|
---|
[b822811] | 47 |
|
---|
[3cf0fef] | 48 | <para>Make sure the output shows the path to your LFS partition's mount
|
---|
| 49 | point, which is <filename class="directory">/mnt/lfs</filename> if you
|
---|
| 50 | followed our example.</para>
|
---|
[607c7370] | 51 |
|
---|
[6370fa6] | 52 | </sect1>
|
---|
| 53 |
|
---|