12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
- <!ENTITY % general-entities SYSTEM "../general.ent">
- %general-entities;
- ]>
- <sect1 id="ch-tools-introduction">
- <title>Introduction</title>
- <?dbhtml filename="introduction.html"?>
- <para>This chapter shows how to compile and install a minimal Linux
- system. This system will contain just enough tools to start
- constructing the final LFS system in <xref
- linkend="chapter-building-system"/> and allow a working environment
- with more user convenience than a minimum environment would.</para>
- <para>There are two steps in building this minimal system. The first
- step is to build a new and host-independent toolchain (compiler,
- assembler, linker, libraries, and a few useful utilities). The second
- step uses this toolchain to build 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 the
- host production directories. Since the packages compiled here are
- temporary, we do not want them to pollute the soon-to-be LFS
- system.</para>
- <para>Before issuing the build instructions for a package, the package
- should be unpacked as user <emphasis>lfs</emphasis>, and a
- <command>cd</command> into the created directory should be performed. The build
- instructions assume that the <command>bash</command> shell is in use.</para>
- <para>Several of the packages are patched before compilation, but only
- when the patch is needed to circumvent a problem. A patch is often
- needed in both this and the next chapter, but sometimes in only one or
- the other. Therefore, do not be concerned if instructions for a downloaded
- patch seem to be missing. Warning messages about
- <emphasis>offset</emphasis> or <emphasis>fuzz</emphasis> may
- also be encountered when applying a patch. Do not worry about these
- warnings, as the patch was still successfully applied.</para>
- <para>During the compilation of most packages, there will be several
- warnings that scroll by on the screen. These are normal and can safely
- be ignored. These warnings are as they appear—warnings about
- deprecated, but not invalid, use of the C or C++ syntax. C standards
- change fairly often, and some packages still use the older standard.
- This is not a problem, but does prompt the warning.</para>
- <para>After installing each package, delete its source and build
- directories, unless specifically instructed otherwise. Deleting the
- sources saves space and prevents mis-configuration when the same
- package is reinstalled later. Only three of the packages need to
- retain the source and build directories in order for their contents to
- be used by later commands. Pay special attention to these
- reminders.</para>
- <para>Check one last time that the <envar>LFS</envar> environment
- variable is set up properly:</para>
- <screen><userinput>echo $LFS</userinput></screen>
- <para>Make sure the output shows the path to the LFS partition's mount
- point, which is <filename class="directory">/mnt/lfs</filename>, using
- our example.</para>
- </sect1>
|