1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
---|
3 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
---|
4 | <!ENTITY % general-entities SYSTEM "../general.ent">
|
---|
5 | %general-entities;
|
---|
6 | ]>
|
---|
7 |
|
---|
8 | <sect1 id="ch-tools-stripping">
|
---|
9 | <?dbhtml filename="stripping.html"?>
|
---|
10 |
|
---|
11 | <title>Stripping</title>
|
---|
12 |
|
---|
13 | <para>The steps in this section are optional, but if the LFS partition is
|
---|
14 | rather small, it is beneficial to learn that unnecessary items can be removed.
|
---|
15 | The executables and libraries built so far contain about 70 MB of unneeded
|
---|
16 | debugging symbols. Remove those symbols with:</para>
|
---|
17 |
|
---|
18 | <screen arch="default"><userinput>strip --strip-debug /tools/lib/*
|
---|
19 | /usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
|
---|
20 |
|
---|
21 | <screen arch="ml_32"><userinput>strip --strip-debug /tools/lib{,32}/*
|
---|
22 | /usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
|
---|
23 | <screen arch="ml_x32"><userinput>strip --strip-debug /tools/lib{,x32}/*
|
---|
24 | /usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
|
---|
25 | <screen arch="ml_all"><userinput>strip --strip-debug /tools/lib{,{,x}32}/*
|
---|
26 | /usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
|
---|
27 |
|
---|
28 | <para>These commands will skip a number of files, reporting that it does not
|
---|
29 | recognize their file format. Most of these are scripts instead of binaries.
|
---|
30 | Also use the system strip command to include the strip binary in /tools.</para>
|
---|
31 |
|
---|
32 | <para>Take care <emphasis>not</emphasis> to use
|
---|
33 | <parameter>--strip-unneeded</parameter> on the libraries. The static
|
---|
34 | ones would be destroyed and the toolchain packages would need to be
|
---|
35 | built all over again.</para>
|
---|
36 |
|
---|
37 | <para>To save more, remove the documentation:</para>
|
---|
38 |
|
---|
39 | <screen><userinput>rm -rf /tools/{,share}/{info,man,doc}</userinput></screen>
|
---|
40 |
|
---|
41 | <para>Remove unneeded files:</para>
|
---|
42 |
|
---|
43 | <screen arch="default"><userinput>find /tools/{lib,libexec} -name \*.la -delete</userinput></screen>
|
---|
44 |
|
---|
45 | <screen arch="ml_32"><userinput>find /tools/{lib{,32},libexec} -name \*.la -delete</userinput></screen>
|
---|
46 | <screen arch="ml_x32"><userinput>find /tools/{lib{,x32},libexec} -name \*.la -delete</userinput></screen>
|
---|
47 | <screen arch="ml_all"><userinput>find /tools/{lib{,{,x}32},libexec} -name \*.la -delete</userinput></screen>
|
---|
48 |
|
---|
49 | <para>At this point, you should have at least 3 GB of free space in
|
---|
50 | <envar>$LFS</envar> that can be used to build and install Glibc and Gcc in
|
---|
51 | the next phase. If you can build and install Glibc, you can build and install
|
---|
52 | the rest too.</para>
|
---|
53 |
|
---|
54 | </sect1>
|
---|