2004-06-13 13:58:23 +01:00
|
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2006-02-10 19:05:30 +00:00
|
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
|
2005-02-19 22:16:42 +00:00
|
|
|
<!ENTITY % general-entities SYSTEM "../general.ent">
|
|
|
|
%general-entities;
|
|
|
|
]>
|
2006-02-10 19:05:30 +00:00
|
|
|
|
2004-06-13 13:58:23 +01:00
|
|
|
<sect1 id="ch-system-strippingagain">
|
2006-02-10 19:05:30 +00:00
|
|
|
<?dbhtml filename="strippingagain.html"?>
|
|
|
|
|
|
|
|
<title>Stripping Again</title>
|
|
|
|
|
|
|
|
<para>If the intended user is not a programmer and does not plan to do
|
|
|
|
any debugging on the system software, the system size can be decreased
|
|
|
|
by about 200 MB by removing the debugging symbols from binaries and
|
|
|
|
libraries. This causes no inconvenience other than not being able to
|
|
|
|
debug the software fully anymore.</para>
|
|
|
|
|
|
|
|
<para>Most people who use the command mentioned below do not
|
|
|
|
experience any difficulties. However, it is easy to make a typo and
|
|
|
|
render the new system unusable, so before running the
|
|
|
|
<command>strip</command> command, it is a good idea to make a
|
|
|
|
backup of the LFS system in its current state.</para>
|
|
|
|
|
|
|
|
<para>Before performing the stripping, take special care to ensure that
|
|
|
|
none of the binaries that are about to be stripped are running. If
|
|
|
|
unsure whether the user entered chroot with the command given in
|
|
|
|
<xref linkend="ch-system-chroot" role=","/> first exit from
|
|
|
|
chroot:</para>
|
2004-06-13 13:58:23 +01:00
|
|
|
|
2005-10-09 09:24:14 +01:00
|
|
|
<screen role="nodump"><userinput>logout</userinput></screen>
|
2004-06-13 13:58:23 +01:00
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
<para>Then reenter it with:</para>
|
2004-06-13 13:58:23 +01:00
|
|
|
|
2005-10-09 09:24:14 +01:00
|
|
|
<screen role="nodump"><userinput>chroot $LFS /tools/bin/env -i \
|
2004-06-13 13:58:23 +01:00
|
|
|
HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
|
|
|
|
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
|
|
|
|
/tools/bin/bash --login</userinput></screen>
|
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
<para>Now the binaries and libraries can be safely stripped:</para>
|
2004-06-13 13:58:23 +01:00
|
|
|
|
|
|
|
<screen><userinput>/tools/bin/find /{,usr/}{bin,lib,sbin} -type f \
|
2006-02-10 19:05:30 +00:00
|
|
|
-exec /tools/bin/strip --strip-debug '{}' ';'</userinput></screen>
|
2004-06-13 13:58:23 +01:00
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
<para>A large number of files will be reported as having their file
|
|
|
|
format not recognized. These warnings can be safely ignored. These
|
|
|
|
warnings indicate that those files are scripts instead of
|
|
|
|
binaries.</para>
|
2005-02-19 22:16:42 +00:00
|
|
|
|
2006-02-10 19:05:30 +00:00
|
|
|
<para>If disk space is very tight, the
|
|
|
|
<parameter>--strip-all</parameter> option can be used on the binaries
|
|
|
|
in <filename class="directory">/{,usr/}{bin,sbin}</filename> to gain
|
|
|
|
several more megabytes. Do not use this option on libraries—they will
|
|
|
|
be destroyed.</para>
|
2005-02-19 22:16:42 +00:00
|
|
|
|
2004-06-13 13:58:23 +01:00
|
|
|
</sect1>
|