| 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 minimalLinux system. This system will contain just enough tools to be ableto start constructing the final LFS system in the next chapter and allowa working environment with a little more user convenience than a minimumenvironment.</para><para>The building of this minimal system is done in two steps: first webuild 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 essentialtools.</para><para>The files compiled in this chapter will be installed under the<filename class="directory">$LFS/tools</filename> directoryto 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 wantthem to pollute the soon-to-be LFS system.</para><para>Before issuing the build instructions for a package, you are expected tohave 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 whenthe patch is needed to circumvent a problem. Often the patch is needed inboth 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 arenothing to worry about, as the patch was still successfully applied.</para><para>During the compilation of most packages you will see many warningsscroll by on your screen. These are normal and can safely be ignored. They arejust what they say they are: warnings -- mostly about deprecated, but notinvalid, use of the C or C++ syntax. It's just that C standards have changedrather often and some packages still use the older standard, which is notreally a problem.</para><para>After installing each package you should delete its source and builddirectories, <emphasis>unless</emphasis> told otherwise. Deleting the sourcessaves space, but also prevents mis-configuration when the same package isreinstalled further on. Only for three packages you will need to keep thesource and build directories around for a while, so their contents can be usedby later commands. Do not miss the reminders.</para><para>Now first check that your LFS environment variable is set upproperly:</para><screen><userinput>echo $LFS</userinput></screen><para>Make sure the output shows the path to your LFS partition's mountpoint, which is <filename class="directory">/mnt/lfs</filename> if youfollowed our example.</para></sect1>
 |