12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?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-tools-introduction">
- <title>Introduction</title>
- <?dbhtml filename="introduction.html"?>
- <para>In this chapter we will compile and install a minimal
- Linux system. This system will contain just enough tools to be able
- to start constructing the final LFS system in the next chapter and allow
- a working environment with a little more user convenience than a minimum
- environment.</para>
- <para>The building of this minimal system is done in two steps: first we
- build a brand-new and host-independent toolchain (compiler, assembler,
- linker, libraries, and a few useful utilities), and then use this to build all the other essential
- tools.</para>
- <para>The files compiled in this chapter will be installed under the
- <filename class="directory">$LFS/tools</filename> directory
- to keep them separate from the files installed in the next chapter and your host's production directories.
- Since the packages compiled here are merely temporary, we don't want
- them to pollute the soon-to-be LFS system.</para>
- <para>Before issuing the build instructions for a package, you are expected to
- have already unpacked it (explained shortly) as user <emphasis>lfs</emphasis>,
- and to have performed a <userinput>cd</userinput> into the created directory.
- The build instructions assume that you are using the <command>bash</command>
- shell.</para>
- <para>Several of the packages are patched before compilation, but only when
- the patch is needed to circumvent a problem. Often the patch is needed in
- both this and the next chapter, but sometimes in only one of them. Therefore,
- don't worry when instructions for a downloaded patch seem to be missing. Also,
- when applying a patch, you'll occasionally see warning messages about
- <emphasis>offset</emphasis> or <emphasis>fuzz</emphasis>. These warnings are
- nothing to worry about, as the patch was still successfully applied.</para>
- <para>During the compilation of most packages you will see many warnings
- scroll by on your screen. These are normal and can safely be ignored. They are
- just what they say they are: warnings -- mostly about deprecated, but not
- invalid, use of the C or C++ syntax. It's just that C standards have changed
- rather often and some packages still use the older standard, which is not
- really a problem.</para>
- <para>After installing each package you should delete its source and build
- directories, <emphasis>unless</emphasis> told otherwise. Deleting the sources
- saves space, but also prevents mis-configuration when the same package is
- reinstalled further on. Only for three packages you will need to keep the
- source and build directories around for a while, so their contents can be used
- by later commands. Do not miss the reminders.</para>
- <para>Now first check that your LFS environment variable is set up
- properly:</para>
- <screen><userinput>echo $LFS</userinput></screen>
- <para>Make sure the output shows the path to your LFS partition's mount
- point, which is <filename class="directory">/mnt/lfs</filename> if you
- followed our example.</para>
- </sect1>
|