| 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 Linuxsystem. This system will contain just enough tools to startconstructing the final LFS system in <xreflinkend="chapter-building-system"/> and allow a working environmentwith more user convenience than a minimum environment would.</para><para>There are two steps in building this minimal system. The firststep is to build a new and host-independent toolchain (compiler,assembler, linker, libraries, and a few useful utilities).  The secondstep 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 keepthem separate from the files installed in the next chapter and thehost production directories. Since the packages compiled here aretemporary, we do not want them to pollute the soon-to-be LFSsystem.</para><important><para>Before issuing the build instructions for a package, the packageshould be unpacked as user <emphasis>lfs</emphasis>, and a<command>cd</command> into the created directory should be performed. The buildinstructions assume that the <command>bash</command> shell is in use.</para></important><para>Several of the packages are patched before compilation, but onlywhen the patch is needed to circumvent a problem. A patch is oftenneeded in both this and the next chapter, but sometimes in only one orthe other. Therefore, do not be concerned if instructions for a downloadedpatch seem to be missing. Warning messages about<emphasis>offset</emphasis> or <emphasis>fuzz</emphasis> mayalso be encountered when applying a patch. Do not worry about thesewarnings, as the patch was still successfully applied.</para><para>During the compilation of most packages, there will be severalwarnings that scroll by on the screen. These are normal and can safelybe ignored. These warnings are as they appear—warnings aboutdeprecated, but not invalid, use of the C or C++ syntax. C standardschange 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 builddirectories, unless specifically instructed otherwise. Deleting thesources saves space and prevents mis-configuration when the samepackage is reinstalled later. Only three of the packages need toretain the source and build directories in order for their contents tobe used by later commands. Pay special attention to thesereminders.</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 mountpoint, which is <filename class="directory">/mnt/lfs</filename>, usingour example.</para></sect1>
 |