aboutsummaryrefslogtreecommitdiffstats
path: root/chapter09/theend.xml
blob: 14c7406e2453bf088305746f29e669bde065388a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<sect1 id="ch09-theend">
<title>The End</title>
<?dbhtml filename="theend.html" dir="chapter09"?>

<para>Well done! You have finished installing your LFS system. It may have
been a long process, but we hope it was worth it. We wish you a lot of fun
with your new shiny custom built Linux system.</para>

<para>Now would be a good time to strip all debug symbols from 
the binaries on your LFS system. If you are not a programmer and don't plan 
on debugging your software, then you will be happy to know that you can 
reclaim a few tens of megs by removing debug symbols. This process causes 
no inconvenience other than not being able to debug the software fully 
anymore, which is not an issue if you don't know how to debug.</para>

<para>Disclaimer: 98% of the people who use the command mentioned below don't
experience any problems. But do make a backup of your LFS system before
you run this command. There's a slight chance it may backfire on you and
render your system unusable (mostly by destroying your kernel modules
and dynamic &amp; shared libraries). This is caused more often by typos
than by a problem with the command used.</para>

<para>Having said that, the --strip-debug option we use to strip is quite 
harmless under normal circumstances. It doesn't strip anything vital from 
the files. It also is quite safe to use --strip-all on regular programs
(don't use that on libraries - they will be destroyed), but it's not as
safe, and the space you gain is not all that much. But if you're tight on
disk space every little bit helps, so decide for yourself. Please refer to
the strip man page for other strip options you can use. The general idea
is to not run strip on libraries (other than --strip-debug), just to be
on the safe side.</para>

<para>If you are planning to go ahead and perform the strip, special care is
needed to ensure you're not running any binaries that are about to be stripped
-- including the active bash shell. Therefore you'll need to exit the chroot
environemnt and reenter it using a modified chroot command:</para>

<screen><userinput>logout
chroot $LFS /tools/bin/env -i \
&nbsp;&nbsp;&nbsp;&nbsp;HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
&nbsp;&nbsp;&nbsp;&nbsp;PATH=/bin:/usr/bin:/sbin:/usr/sbin \
&nbsp;&nbsp;&nbsp;&nbsp;/tools/bin/bash --login</userinput></screen>

<para>Now run the following command:</para>

<screen><userinput>/tools/bin/find /{,usr/,usr/local/}{bin,sbin,lib} -type f \
&nbsp;&nbsp;&nbsp;-exec /tools/bin/strip --strip-debug '{}' ';'</userinput></screen>

<para>Quite a number of files will be reported as having their file format not
recognized. Most of these are scripts instead of binaries. These warnings can
be safely ignored.</para>

<para>It's a good idea to create an /etc/lfs file. By
having this file it is very easy for you (and for us if you are going to ask
for help with something at some point) to find out which LFS version
you have installed on your system. Create the /etc/lfs file by
running the following command:</para>

<screen><userinput>echo &version; > /etc/lfs</userinput></screen>

</sect1>