mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-01-19 05:27:39 +00:00
673b0d84ba
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3435 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
65 lines
3.2 KiB
XML
65 lines
3.2 KiB
XML
<?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>
|