<chapter id="chapter05" xreflabel="Chapter 5">
<title>Constructing a temporary system</title>
<?dbhtml filename="chapter05.html" dir="chapter05"?>

&c5-introduction;
&c5-toolchaintechnotes;
&c5-creatingtoolsdir;
&c5-addinguser;
&c5-settingenviron;
&c5-binutils-pass1;
&c5-gcc-pass1;
&c5-kernelheaders;
&c5-glibc;
&c5-lockingglibc;
&c5-tcl;
&c5-expect;
&c5-dejagnu;
&c5-gcc-pass2;
&c5-binutils-pass2;
&c5-gawk;
&c5-coreutils;
&c5-bzip2;
&c5-gzip;
&c5-diffutils;
&c5-findutils;
&c5-make;
&c5-grep;
&c5-sed;
&c5-gettext;
&c5-ncurses;
&c5-patch;
&c5-tar;
&c5-texinfo;
&c5-bash;
&c5-utillinux;
&c5-perl;


<sect1 id="ch05-stripping">
<title>Stripping</title>
<?dbhtml filename="stripping.html" dir="chapter05"?>

<para>The steps in this section are optional. If your LFS partition is rather
small, you will be glad to learn that you can throw away some unnecessary
things. The executables and libraries you have built so far contain about 130 MB
of unneeded debugging symbols. Remove those symbols like this:</para>

<screen><userinput>strip --strip-unneeded /tools/{,s}bin/*
strip --strip-debug /tools/lib/*</userinput></screen>

<para>The first of the above commands will skip some twenty files, reporting
that it doesn't recognize their file format. Most of them are scripts instead
of binaries.</para>

<para>Take care <emphasis>not</emphasis> to use
<userinput>--strip-unneeded</userinput> on the libraries -- they would be
destroyed and you would have to build Glibc all over again.</para>

<para>To save another couple of megabytes, you can throw away all the
documentation:</para>

<screen><userinput>rm -rf /tools/{,share/}{doc,info,man}</userinput></screen>

<para>You will now need to have at least 850 MB of free space on your LFS
filesystem to be able to build and install Glibc in the next phase. If you can
build and install Glibc, you can build and install the rest too.</para>

</sect1>

</chapter>

